Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Microsoft Software

Microsoft Vs. TestDriven.NET 418

Erebus writes "Jamie Cansdale released a free addin to Visual Studio back in 2004 to help developers build unit tests. His only problem was, he enable his addin for all versions of VS - including the Express addition which isn't suppose to support addins. After over a year of trying to talk with Microsoft and understand how and why he was in violation of their license agreement, during which they would never explain specifically which clause in the license was being violated, they sent the lawyers after him and pulled his MVP status. To top it all off, Jamie is actually a Java developer by day — his addin was originally developed just as a hobby project. A full account is available on his blog, including all email correspondence he had with Microsoft and the now 3 letters received from Microsoft lawyers. The lead product manager for Visual Studio Express has responded to Jamie's posts."
This discussion has been archived. No new comments can be posted.

Microsoft Vs. TestDriven.NET

Comments Filter:
  • english (Score:3, Funny)

    by tute666 ( 688551 ) on Friday June 01, 2007 @11:25AM (#19353143)
    And once again... in proper english
    • Re:english (Score:5, Funny)

      by mooingyak ( 720677 ) on Friday June 01, 2007 @11:29AM (#19353211)
      It isn't suppose to proper English.

      Good work by the additors.
    • Re:english (Score:5, Funny)

      by DohnJoe ( 900898 ) on Friday June 01, 2007 @11:31AM (#19353243)
      yes, normally this would be flamebait, but this time the English is really too crappy.

      Clearly it was not write by someone who's first language is not english,
      • by dakirw ( 831754 ) on Friday June 01, 2007 @01:56PM (#19355635)

        Clearly it was not write by someone who's first language is not english,
        There are plenty of native English speakers that have really bad writing. It's not quite fair to assume that the first language of the poster isn't English. :)
        • Re: (Score:3, Informative)

          by RockDoctor ( 15477 )

          Clearly it was not write by someone who's first language is not English,

          There are plenty of native English speakers that have really bad writing. It's not quite fair to assume that the first language of the poster isn't English. :)

          Slight understatement there, methinks.
          The standard of written and spoken English amongst native speakers is often significantly poorer than amongst non-native speakers, and for a perfectly good reason : native speakers learn their mother-language mostly from people who have had

    • I think the correct phrase here is, "English, motherfucker. Do you speak it?"
    • Re: (Score:3, Funny)

      by Himring ( 646324 )
      he enable his addin for all versions of VS.... they would never explain specifically which clause in the license was being violate....

      ah ... my hed asplode.

  • why not? (Score:4, Funny)

    by Anonymous Coward on Friday June 01, 2007 @11:28AM (#19353201)

    including the Express addition which isn't suppose to support addins.
    Why wouldn't the Express addition support addins? It's right there in the name of the product!
    • Re:why not? (Score:5, Insightful)

      by smittyoneeach ( 243267 ) * on Friday June 01, 2007 @11:37AM (#19353345) Homepage Journal
      From the project manager posting:

      extends the Visual Studio Express Editions which is a direct violation of both the EULA and "ethos" of the Express product line.
      Read "ethos" as "business case". MS is using http://en.wikipedia.org/wiki/Market_segmentation [wikipedia.org]. The Express products are a http://en.wikipedia.org/wiki/Gateway_drug [wikipedia.org] to piss you off enough to pony up enough money for the real deal.
      Test Driven Development is not, itself, a bad thing, but if Too Many People glommed onto the underlying technology, and a culture of freedom of expression broke out, well...let us leave the unspeakable unspoken.
      The whole thing is business, pure and simple. If you leave off the 'good' and 'evil' labels, the situation is easier to process.
      Of course, maybe it's all a stealth advertising campaign for http://www.mingw.org/ [mingw.org]. Who can say?
      • Re:why not? (Score:5, Insightful)

        by Compholio ( 770966 ) on Friday June 01, 2007 @12:01PM (#19353757)

        Of course, maybe it's all a stealth advertising campaign for http://www.mingw.org/ [mingw.org].
        I say he should make his add-in for Eclipse - especially since he's a Java programmer - and suggest people that like his add-in to move to that IDE instead.
      • by rmdyer ( 267137 ) on Friday June 01, 2007 @01:28PM (#19355185)
        'Read "ethos" as "business case".'

        Microsoft does this all the time. What really tests my patience with Microsoft is when they deliberately break their own products to limit their useful application in an IT environment that has the sole purpose of actually helping to install and further the case for Microsoft's own products!

        We see this with Windows PE, the mini kernel'ed XP with networking, that allows us to install XP remotely (please don't comment back about BART here, we know all about BART). There are many useful applications for an open and extensible Windows PE that would allow internal IT operations to enhance operations. What Microsoft does is break this usefulness to the point where you almost must use it with something else you must buy from Microsoft. In this case yet another server for RIS, etc.

        The Windows XP web update is another case in point. Have you ever wondered why the Express update deliberately leaves off a "Download Patches Now" button, and instead just provides the "Install Now" button? It's to deliberately push you into buying another Windows 2003 server just to run WUS (Windows Update Services http://www.microsoft.com/technet/windowsserver/wsu s/default.mspx [microsoft.com]) server. Most IT departments can easily roll their own patch update scripts using the patches once they are downloaded, yet Microsoft makes downloading each patch a manually tedious process instead of simply adding a "Download Now" button.

        Believe me, Linux is getting easier to mold a cohesive IT architecture around than Windows because of all the wrenches Microsoft has thrown into the works. Because of Microsoft's own business practices, local IT total-cost-of-ownership is very high, as well as the personal frustration that goes along with it.

        Microsoft in essence wants you to buy into their environment, and then buy into it again and again by deliberately preventing you from developing your own automation practices. Why automate anything when Microsoft can sell you another automation "solution"!

        My general point is that Microsoft can never provide a "one solution fits all" product line. Every IT department is different, and needs to develop its own internal automation practices. Microsoft, by being mischevious about its business practices, serves to interfere with in-house automation to the point of asking the question "why are we using Microsofts' products?"

        Even if Microsoft could provide a "one solution fits all" architecture, then that wouldn't serve the need of most businesses in general because most businesses actually need to differentiate themselves from other businesses in most ways that matter. If your internal operations are the same as everyone elses, then you don't gain a competitive advantage by streamlining operations for your company's product line.

        Microsoft simply needs to stop this foolishness of "vendor lock-in" and allow people to interoperate with their products and services more openly. Otherwise, I don't see a future for Microsoft in the light of an Open Source world.
      • Re:why not? (Score:4, Informative)

        by westlake ( 615356 ) on Friday June 01, 2007 @03:50PM (#19357469)
        The Express products are a drug to piss you off enough to pony up enough money for the real deal.

        How about we begin with an honest reading of the blog?

        Visual Studio Express was a labor of love. It was a small miracle getting Express to be available both for free and for commercial use for customers let alone the engineering work to get it up and running, We made a business decision to not allow 3rd party extensibility in Express. The reason we're able to offer Express for free and even let developers build commercial applications with Express is because we limit 3rd party extensibility of Express, specifically by removing support macros, add-ins, and VSIP packages.

        The vast majority of our customer base, now with 14 million downloads, isn't even professional developers, its non-professionals. In fact over 80% of Express registrants don't describe themselves as a "developer". From a total number perspective, beginners are the largest segment of Express customers and they still find Express too complex, it has too many features, and they see development as a means to an end (I just want to create my kids soccer league Web site). Our Express customers haven't been asked for unit testing or extensiblity in much the same way as I didn't ask or even know to ask when I grew up programming BASIC on an Apple IIe.

        • Re: (Score:3, Insightful)

          by PitaBred ( 632671 )
          So... if most people don't even describe themselves as developers or even want this plugin... how does it's existence hurt MS again?
        • Re: (Score:3, Insightful)

          by strikethree ( 811449 )
          Visual Studio Express was a labor of love.

          Bullshit. Visual Studio Express was a clear, cold, completely rational marketing decision. Don't try to sell me this shit about "labour of love".

          strike
  • Shoot at foot... (Score:4, Interesting)

    by Ckwop ( 707653 ) * on Friday June 01, 2007 @11:31AM (#19353239) Homepage
    1. Aim at foot.
    2. Fire at foot.
    3. ...
    4. Profit?

    What is it about Microsoft and reinventing perfectly good tools. First they tried to replace Nant with MsBuild, with limited success. They're trying to reinvent Subversion and Cruisecontrol with the Microsoft Team System. They are the ultimate NIH company. I've started to form the opinion that this is unsustatinable for Microsoft. You can't keep reinventing and supporting tools like this forever, because no matter how many programmers you have there OSS movement has more. They will keep producing high-quality tools faster than you can release competitors.

    People used to complain that Sun were control freaks about Java. What did Sun do? They listened and GPLed Java. I think the guys at Sun have come to a similiar conclusion to me. Your products are part of an ecology and the ecology is always bigger than one company. What you want to do is foster a larger ecology for your products and hope that this translates to sales.

    I admire Sun for this approach, it's risky but it shows maurity in face of change ushered in at the hands of OSS. Microsoft seems to have no strategy for tackling OSS outside of the United States. Over here, software patents don't exist. They may win the battle but be swamped by the tidal wave from abroad.

    I use TestDriven every single day I'm in work and I can tell you that this makes the licensed copy of Visual Studio 2005 (paid at full price) a much more functional piece of software. To me, this is validation of the ecology; the open source product made me feel that I'm getting more value out of the purchase.

    It's this affect that Sun hopes GPLing Java will bring to their revenues. I for one think they're right.

    Simon.

    • "What is it about Microsoft and reinventing perfectly good tools. "

      new here?

      "I use TestDriven every single day I'm in work and I can tell you that this makes the licensed copy of Visual Studio 2005 (paid at full price) a much more functional piece of software. To me, this is validation of the ecology; the open source product made me feel that I'm getting more value out of the purchase."

      k, but validating the ecology is of no interest to Microsoft. If the open source package makes MS product A more valuable,
    • Re:Shoot at foot... (Score:4, Interesting)

      by RightSaidFred99 ( 874576 ) on Friday June 01, 2007 @12:02PM (#19353763)
      You've got to be kidding, right? You actually think MS should just not develop products because there are a bunch of various different open source tools people could use instead? That makes absolutely no sense whatsoever.

      First, they are a software company and they sell solutions, not products. MsBuild integrates with all the other MS tools including Visual Studio and TFS. I would rather have one solution that works well than having to pass through the open source gauntlet of choosing from 20 different tools and trying to make them all work together. Comparing TFS to Subversion is insultint - to TFS. TFS is much more than Subversion, think Subversion + Continuum + Bugzilla (somewhat) + requirements tracking + other tools.

      In short, your post is entirely wrong. I don't see you bitching about ClearCase, Synchronicity, or other commercial tools. It's just Microsoft that is silly for releasing products when there are already all these "great" open source tools.

      • Re: (Score:3, Insightful)

        by JohnFluxx ( 413620 )
        > You actually think MS should just not develop products because there are a bunch of various different open source tools people could use instead? That makes absolutely no sense whatsoever.

        Sure why not? You said yourself that their business model is solutions not products. So why not have TFS use subversion if subversion has the features they need? They could still build the rest of the features on top. It's a political reason not to, not a technical one.

        And yes you do hear people complain about Cle
      • by lawpoop ( 604919 ) on Friday June 01, 2007 @01:15PM (#19354953) Homepage Journal

        You've got to be kidding, right? You actually think MS should just not develop products because there are a bunch of various different open source tools people could use instead? That makes absolutely no sense whatsoever.
        You're right, it makes no sense whatsoever, because you completely missed the point.

        He's saying that MS should not try to squash community efforts to create great software on Windows platforms. You might need to read that again for it to sink in. He's not saying stop writing software altogether. He's not saying discontinue SQL server because there's some shareware database out there.

        What he is saying is that they don't need to control every successful application on the Windows platform. If they try to, they will both a) breed bad will amongst the developer community, which will hinder Windows application development, which will cause great development to happen in other platforms, and b) waste a lot of money and time in development and support trying to fill every software niche that exists in a platform. They can't write *all* the software for Windows.

        Simply put, MS alone cannot provide as great a Windows experience as MS + developer community can. But every time some great developer makes a wonderful product for Windows, they either squash it or snatch it up and abandon it. At every opportunity they destroy the Windows development community. Not only do they want you to run only Windows, the want you running only MS software on it. And they just won't be able to provide all the software that a user will want on their system. It's the old Soviet model of central planning, where Moscow decided the details of the economy from Khazakstan to Siberia. Eventually it implodes under its own weight.
    • Re: (Score:3, Insightful)

      by kestasjk ( 933987 )
      Obviously they're doing this so that professional development teams will stick to VS.NET and not Express Editions; they're not shooting themselves in the foot at all, this is very much in their best interests.
  • Seems fair to me (Score:2, Informative)

    by Maxo-Texas ( 864189 )
    Don't like microsoft but the same issues apply to any other license like creative commons and gnu.

    If you don't agree with the license terms of the software/artwork/music then don't use/extend it.
    • Re:Seems fair to me (Score:5, Informative)

      by Volante3192 ( 953645 ) on Friday June 01, 2007 @11:39AM (#19353371)
      The crux of the argument is he went over the licence terms of Express and didn't find where he was infringing. Jamie specifically emailed Microsoft asking for the clause in question so he could justify removing Express support.

      Microsoft simply responded with "it violates the licence, but we're not going to tell you where."

      More than likely, they screwed up and adhering strictly to the letter of the EULA (and not the spirit of the program) it is not specifically forbidden, thus implicitly allowed.
      • Re:Seems fair to me (Score:5, Informative)

        by Anonymous Coward on Friday June 01, 2007 @12:20PM (#19354051)
        Microsoft simply responded with "it violates the licence, but we're not going to tell you where."

        Actually they responded with 5 pages of documents stating exactly the clause [asp.net].

        ("You may not work around any technical limitations in the software.")

        Of course, it's such an incredibly vague sentence one can understand why he didn't think it applied. And I bet they don't want to ever take that one to court, which is whey they had their manager "talk to him on the phone to plead with him".

        Microsoft getting screwed by their own EULA ... sweet, sweet poetic justice.
        • Amazing that so people assume that Microsoft was correct in saying there was in fact a EULA violation, when the best they could come up with after a year was a poorly worded phrase in the EULA: You may not work around any technical limitations in the software. And that team leader wank at Microsoft Dan had no worthy arguments against what Jamie did either other than claim without proof that the EULA was violated, and that Jamie never acted correctly in response to their vague claim and beating around the
          • WTF? (Score:5, Funny)

            by Colin Smith ( 2679 ) on Friday June 01, 2007 @02:58PM (#19356665)

            You may not work around any technical limitations in the software.
            Really? I'm going to have to go over my Windows EULA again. Does it contain that phrase? In which case it is clearly against the EULA to install ANY additional software beyond the basic operating system, clearly doing so would be working round technical limitations.
             
    • Re: (Score:3, Insightful)

      Don't like microsoft but the same issues apply to any other license like creative commons and gnu.

      Except that those licenses have to do almost exclusively with redistribution, and even then aim to preserve rights, not take them away. They don't restrict the use of software, or anybody's right to extend or interoperate with it.

      If you don't agree with the license terms of the software/artwork/music then don't use/extend it.

      No argument with you there. When I see all the ridiculous crap that my friends committed to proprietary software put up with almost daily, I'm happy to say "no thanks".

  • If they said 'no addins' for the free edition, and someone does one, surely they are in the right to get annoyed?

    After all, it's not as if people are forced to use visual studio express, they could always use something else if they don't like the terms. If you want to use it, you use it the way they say, that seems obvious to me.
    I have an open source project, and I would get mighty pissed if someone broke my terms. Ok mine are the gpl, but it's the same thing.

    I prefer mingw studio anyway..
    • Re: (Score:3, Interesting)

      by gstoddart ( 321705 )

      If they said 'no addins' for the free edition, and someone does one, surely they are in the right to get annoyed?

      If they don't want addin support in the free edition, disable it in the product.

      If someone enables it and it works, what exactly has he done wrong?

      I have an open source project, and I would get mighty pissed if someone broke my terms

      Only if your terms make sense. If, for example, you said "nobody with a yellow shirt can use my software" ... that would be your term, but it would be a stupid term

      • by Volante3192 ( 953645 ) on Friday June 01, 2007 @11:52AM (#19353599)
        Not just in the code, but in the licence.

        Continuing with the shirt analogy, it's like having two programs, let's call one 'Express' and one 'Enterprise'

        Express feature table says 'No support for users wearing yellow shirts.'
        Enterprise feature table says 'Supports all colors and color combinations on shirts.'

        But your legal department charges you $1 mil per EULA, so you decide to just put the EULA for the Enterprise version with the Express version, after a simple s/Enterprise/Express/g;

        Now you have a user calling in wanting support and the techs ask his shirt color and version. He says yellow and Express. The techs say this is in violation of the EULA, but in reality, there is no clause refusing him service.

        The feature table is not a contract. The EULA is, and he agreed to the EULA that you were cheap on that didn't explicity exclude support for yellow-shirted users. You are now up doodoo creek without a paddle...
      • Re: (Score:3, Insightful)

        by plague3106 ( 71849 )
        If they don't want addin support in the free edition, disable it in the product.

        It is.

        If someone enables it and it works, what exactly has he done wrong?

        If you hack your sat. Tv card to get things you're not supposed to, have you done something wrong? Yes, you have.

        Only if your terms make sense. If, for example, you said "nobody with a yellow shirt can use my software" ... that would be your term, but it would be a stupid term and people would ignore it in all likelihood.

        It doesn't matter if you believe th
        • Re: (Score:3, Insightful)

          by LizardKing ( 5245 )

          If they don't want addin support in the free edition, disable it in the product.

          It is.

          It isn't . The author of this plugin made it work, therefore by definition it in't disabled. If MS really didn't want plugins to work in the Express edition of VS, then they should have removed support for it entirely.

    • Re: (Score:3, Interesting)

      by Volante3192 ( 953645 )
      If they said 'no addins' for the free edition, and someone does one, surely they are in the right to get annoyed?

      It matters where they said 'no addins' though. There's a difference between a bullet point in a product comparison table and a clause in the EULA. Where the problem lies is Microsoft has yet to point out the specific part in the EULA that forbids addins for Express, instead falling on the spirit in which the project was designed.

      If 'no addins' is not in the licence, Jamie is not breaking the li
    • by kebes ( 861706 ) on Friday June 01, 2007 @11:44AM (#19353453) Journal

      If they said 'no addins' for the free edition, and someone does one, surely they are in the right to get annoyed?
      Absolutely. They can get as annoyed as they like. They can yell from the top of a mountain "I am annoyed! Please stop doing that!" In fact that's what they did at first--they tried to convince the developer to stop distributing the project. That's their right.

      However they were not happy with the way the "good faith" negotiations proceeded, and now they are trying to use the law to get their way. The question is, do they have the right to legally enforce their ethos? If there were a contract between Microsoft and TestDriven.NET, then that may limit what TestDriven.NET is allowed to do. However it does not appear that this is the case. In fact, it appears that there is no legal reason why someone can't program add-ins for VS Express. Microsoft may not like it, but it's not illegal. (Please correct me if I'm wrong on that point.)

      If you want to use it, you use it the way they say, that seems obvious to me.
      I disagree. If I obtain a product (buy it for $X or download a free product under certain licensing terms) then I can use it however I want (limited only by the law). If something in the EULA makes it illegal to use add-ins, then I suppose Microsoft can claim that end-users of TestDriven.NET are violating the VS Express EULA... but that still doesn't make TestDriven.NET's actions illegal.

      I have an open source project, and I would get mighty pissed if someone broke my terms. Ok mine are the gpl, but it's the same thing.
      You're mixing two different issues, however. The GPL is a license that (along with copyright) provide a legal framework that delineates what you can and cannot legally do. That is a legal issue. If you release your GPL project, and then find that someone is using your code to run a porn website (but is complying with the GPL), then you may claim that their usage is against the "ethos" of your project--but that still doesn't give you the legal right to prevent their use. You gave them a license to use the software, and that's what they are doing. You can be annoyed, but you cannot sue.
    • I have an open source project, and I would get mighty pissed if someone broke my terms.
      Of course, those wouldn't include prohibiting people from improving it, interoperating with it, adapting it, or using it however they like. That's what "open source" means!
  • But is it illegal? (Score:5, Insightful)

    by kebes ( 861706 ) on Friday June 01, 2007 @11:33AM (#19353273) Journal
    The post from the Visual Studio blog is quite interesting. In the first paragraph, Dan Fernandez says that the add-in "is a direct violation of both the EULA and 'ethos' of the Express product line." Throughout his post, he continually mentions that the add-in is "illegal."

    Yet he spends the entire post talking only about the "ethos" part of it (describing their numerous good faith attempts to convince Jamie Cansdale to stop distributing his product), but he never explains what the illegal part is. Clearly the Visual Studio team feels that Jamie is violating the "ethos" of their project (their "business plan," in fact). On the other hand, Jamie probably feels that the Visual Studio team is violating the "ethos" of his project when they try to limit it. So whose "ethos" is more important?

    At no point, however, does the blog post mention anything about how the Visual Studio EULA could prohibit the distribution of TestDriven.NET. After all, I can redistribute copies of TestDriven.NET without even owning a copy of Visual Studio--so obviously I'm not bound by the Visual Studio EULA.

    I can think of no legal reason to prohibit what Jamie is doing... and apparently, neither can Dan Fernandez. Has anyone found a nugget of legal truth in the other documents?
    • I said the same thing too. Reading that response just said to me "we don't like what he did, we didn't plan for it, but since we're a bigger company, he needs to show respect and stop."

      When has Microsoft ever played by that rule? Microsoft did to IBM and Apple what Jamie did to Microsoft- find a method to extend and exploit the functionality of someone else's product. Nobody can produce the EULA language that shows a breach, only vague references to "but that'll hurt our business plan!" It's sad that

      • by Dogtanian ( 588974 ) on Friday June 01, 2007 @01:51PM (#19355571) Homepage

        It's sad that no mind at Microsoft can conceive of a compelling argument why Jamie is wrong.
        I notice that Dan's argument includes comments like

        The vast majority of our customer base, now with 14 million downloads, isn't even professional developers, its non-professionals. [..] From a total number perspective, beginners are the largest segment of Express customers and they still find Express too complex, [..] Our Express customers haven't been asked for unit testing or extensiblity in much the same way as I didn't ask or even know to ask when I grew up programming BASIC on an Apple IIe.
        So? That wasn't the issue. If this is true, then the "vast majority" of Express users simply won't use it, so what was the point of bringing it up? If Dan was implying that Jamie is wasting his time, then that's Jamie's problem; it's not going to damage their experience, or MS/Express's reputation.

        Is he attempting to steer the discussion (and basis of MS's actions) away from ground that may not be as firm as MS would like to pretend it is? "Our ickle novice programmers don't want or need TestDriven.NET". Then they won't use it, Dan.

        As you may remember from my previous posts, Visual Studio Express was a labor of love.
        MS would not have permitted the release of Express if it had not been to their benefit; in this case, giving low-end programmers the chance to use, learn and be steered towards their product without cannibalising sales of the full Visual Studio.

        If it really was a "labor of love" for Dan, then I'd question why he's pouring his heart and soul into products for a company like Microsoft, and consider him somewhat deluded. On the other hand, he's a manager, not a low-level Bill-Gates-is-God-Kool-Aid-drinking peon, so you'll excuse my scepticism if I consider this to be an attempt to play the "I'm one of you and really enthusiastic about this" sympathy card.

        The tone of such comments as

        It's unfortunate that this happened, but as you can see, we have been very patient with Jamie and it's our hope he will remain in compliance of the Visual Studio Express Editions license agreement.
        smacks of PR. It's the weaselly attempt to come over as firm-but-friendly whilst underneath making clear what they expect to be done and the veiled threat if it isn't. Either he or someone else has consciously worked on this.

        I also notice that he states here [msdn.com]:

        Back in 1975, Microsoft started out as *the* hobbyist company for a nascient software industry. While many things have changed since then, we always had a special place in our hearts for hobbyists.
        Yeah, MS has always been the hobbyist's friend, ever since Bill Gates' friendly letter to them [blinkenlights.com] in 1975. They've always been open and let people play around with their stuff.

        Lying corporate fuck.
    • by GreatDrok ( 684119 ) on Friday June 01, 2007 @11:48AM (#19353517) Journal
      Surely, if the EULA doesn't allow plugins then the software itself shouldn't support them? The fact that it does makes a nonsense of all this. The onus is on MS to disable the functionality that allowed this to happen, not to send the lawyers in.
      • So just because something's possible, it should be legal? That doesn't make any sense whatsoever.

        Maybe there's not an easy way for MS to completely disable the add-ins without shooting themselves in the foot, or maybe they didn't have time to do it before the release date, or maybe they just didn't feel like it. So what? Just because you CAN do something doesn't mean you SHOULD.
        • Re: (Score:3, Interesting)

          by Danse ( 1026 )

          Maybe there's not an easy way for MS to completely disable the add-ins without shooting themselves in the foot, or maybe they didn't have time to do it before the release date, or maybe they just didn't feel like it. So what? Just because you CAN do something doesn't mean you SHOULD.

          Well then maybe they should have actually said you can't use add-ins with it in the EULA at the very least. They didn't, so it's their own fault if people do that with the product that they paid for.

      • Re: (Score:3, Informative)

        by benjymouse ( 756774 )
        If you read the MS response you would realize that the Express line of products have been stripped of Macros, Addins, extensions etc. MS has in fact not only *disabled* this functionality; they stripped it from the Express products entirely.

        What was done here was to leverage a feature of the properties panel as an attach vector to worm in functionality. The property panel supports "custom editors". That a feature open to any .NET developer: If you develop your own class/control/component you can leverage th
    • by kebes ( 861706 ) on Friday June 01, 2007 @12:01PM (#19353743) Journal

      Has anyone found a nugget of legal truth in the other documents?
      According to the Microsoft legal threat [asp.net], the relevant portion of the Visual Studio Express EULA is:

      ...you may use the software only as expressly permitted in this agreement. In doing so you must comply with any technical limitations in the software that only allow you to use it in certain ways... You may not work around technical limitations in the software.
      Microsoft would claim, therefore, that to develop TestDriven.NET, the developer had to download Visual Studio Express, and agree to the EULA in order to install it. However the situation is probably more complex. The issue (from what I can tell) is that a single version of TestDriven.NET works with all versions of Visual Studio (Express or otherwise). So it can easily be shown that TestDriven.NET was developed using the full version of Visual Studio--which not only allows you to create add-ins but in fact encourages you to do so. So the EULA (of the full version of Visual Studio) was not broken.

      So the question is: "Is TestDriven.NET legally required to alter their product so as to enforce the terms of someone else's EULA?" Isn't it the end-user, who combines VS Express and TestDriven.NET that is in violation of the EULA?

      Or perhaps the real question is: "Are ridiculous terms in an EULA, such as 'thou shalt not make the product do things we didn't intend for it to do' actually legally enforceable?"
      • More details (Score:5, Interesting)

        by Mateo_LeFou ( 859634 ) on Friday June 01, 2007 @12:04PM (#19353803) Homepage
        Digging into the email exchange I found Jamie saying:

        1) You said that by using Intellisense I may be in breach of the
        dissasembly clause in the VS SDK license.
        2) You said that by working out how to use an API by looking at the
        public type and method names I may be in breach of the reverse
        engineering clause in the VS SDK license.
        3) You said that by adding a button to the Express SKU interface I may
        be in breach of Microsoft's copyright.

        #3 is particularly funny
      • by julesh ( 229690 ) on Friday June 01, 2007 @02:38PM (#19356371)
        According to the Microsoft legal threat, the relevant portion of the Visual Studio Express EULA is: ...you may use the software only as expressly permitted in this agreement. In doing so you must comply with any technical limitations in the software that only allow you to use it in certain ways... You may not work around technical limitations in the software.

        The full paragraph in question is:

        9. SCOPE OF LICENSE. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. For more information, see www.microsoft.com/licensing/userights. You may not
              work around any technical limitations in the software;
              reverse engineer, decompile or disassemble the software, except and only to the extent that applicable law expressly permits, despite this limitation;
              make more copies of the software than specified in this agreement or allowed by applicable law, despite this limitation;
              publish the software for others to copy;
              rent, lease or lend the software; or
              use the software for commercial software hosting services


        Note that the author is based in the UK (his company, Mutant Design Limited, is registered to an address in London), so the "applicable law" includes both UK and EU law. MS's complaint seems to mostly be that he reverse engineered the software in order to determine how to make his extension (they also seem to be suggesting he worked around a technical limitation, but that doesn't actually appear to be the case to me -- the software was capable of doing this all along, it just wasn't documented how to make it do it). I'll grant it is almost certainly true: he did reverse engineer VSE in order to determine how to make his extension work with it.

        However, he is almost certainly allowed by EU law to perform reverse engineering. See this summary of the legal status of reverse engineering in various disciplines [jenkins-ip.com], specifically:

        Reverse engineering is allowed under Article 6 [of the European Copyright Directive], but only for the single purpose of producing an interoperable program (rather than a competing program).


        If TestDriven.NET isn't an interoperable non-competing program, I don't know what is.
        • by SLi ( 132609 ) on Friday June 01, 2007 @04:35PM (#19358089)
          I think you are wrong in at least one count, and I heavily suspect another.

          First of all, there is no such thing as "EU law". There are EU directives which do not (as far as I know) bind a single national court in the EU. The way they work is they require all the countries to implement national laws with the effect of the directive text. If there is no such law, the courts probably won't take the directives and apply them. Enforcement works by the EU Comission suing the country that has not in due time implemented the directive. This, if what you say, might or might not be bad for the developer of the software.

          Second, with the scarce information I have about what was done, I gather the author of the software used APIs defined in .h files. At least unless the function names were obfuscated, I find it hard to believe this would count as reverse engineering. This should be good for the developer, since it means he's not constrained by the narrow language of where reverse engineering is allowed (even if this case might fall inside it).
        • Re: (Score:3, Informative)

          by drinkypoo ( 153816 )

          However, he is almost certainly allowed by EU law to perform reverse engineering.

          The DMCA contains a similar clause [cornell.edu] - see section F. To make a long story short, if you didn't pirate the software, you can reverse-engineer it for the purposes of interoperability. And you can do it for the purposes of creating a competing product, as well. (or at least, it doesn't say you can't.)

    • Therefore surely it is the end user that is infringing not the developer of the plugin?
  • by palladiate ( 1018086 ) <palladiate&gmail,com> on Friday June 01, 2007 @11:35AM (#19353305)

    The MS project manager goes on about working with Jamie to clear up the Express situation, but doesn't explain their reasoning beyond calling what he did "illegal."

    First, that's not the way to treat your community. Either explain to him and to us exactly what he did that was wrong, beyond the vague wording at the beginning of not being in the "spirit" of Express editions. Second, when can Microsoft unilaterally declare breach of contract "illegal?"

    I use DevC++ for all my hobby needs and teaching the kiddo. After this, I would never switch to MS C++ Express or VB Express, even if it was a vastly superior product. I just need some syntax highlighting and compiler integration. I don't want to dance around legal threats over what Microsoft's "spirit" is this week.

    • DEVELOPERS DEVELOPERS DEVELOPERS DEVEL....nevermind.

      (And now, for your pleasure, some filler text to get by the lameness filter. Apparently Slashdot doesn't like it when you post a response mostly in caps.)
  • by ch-chuck ( 9622 ) on Friday June 01, 2007 @11:35AM (#19353307) Homepage
    I've often wondered how much one can get away with in licenses. Of course they cannot override any consitutional or local laws, but say a developer is rather religious. Can s/he then stipulate that the software cannot be run on Sundays? Or that the user must be wearing underwear or shoes and shirt while using $PRODUCT ?

  • by Zukix ( 641813 ) on Friday June 01, 2007 @11:45AM (#19353461)
    Hmm, I know where the MS lawyers found them too. They stole the following: "Jamie Cansdale released a free addin to Visual Studio back in 2004 to help developers build unit tests. His only problem was, he enabled his addin for all versions of VS - including the Express addition which isn't supposed to support addins. After over a year of trying to talk with Microsoft and understand how and why he was in violation of their license agreement, during which they would never explain specifically which clause in the license was being violated, they sent the lawyers after him and pulled his MVP status. To top it all off, Jamie is actually a Java developer by day, his addin was originally developed just as a hobby project. A full account is available on his blog, including all email correspondence he had with Microsoft and the now 3 letters received from Microsoft lawyers. The lead product manager for Visual Studio Express has responded to Jamie's posts."

  • I use these tools daily.

    Kind in mind: This argument is about the integration of a well-known tool into Studio, not it's use altogether. One can use these tools with Express via their independent UI's. MS is merely trying to keep the floodgates closed on the Express version because it's in their profitable pocket to sell that "integration" feature. There are quite a few tools to cram into Studio, not all good IMO. For the "folks at home" cracking out Express, good for you, but learn to
  • Somebody's lying... (Score:3, Interesting)

    by Assmasher ( 456699 ) on Friday June 01, 2007 @11:47AM (#19353489) Journal
    From the Express lead's blog:

    "As for Jamie, we've been asking him in multiple emails and conference calls to stop extending (just Express) since before Visual Studio 2005 even shipped. We even got the General Manager of Visual Studio to personally talk to him on the phone to plead with him to remove Express extensibility. Closely following that, Jamie took the violations to heart and removed Visual Studio Express extensibility for several months. Only recently did he decide to add Express support back to TestDriven.NET and only after another round of conversations and close to two years of trying to avoid escalating this situation, we felt compelled to deliver our message in a different form."

    Something's rotten in the state of Denmark...
  • However, Jamie has also made available a version of his product that extends the Visual Studio Express Editions which is a direct violation of both the EULA and "ethos" of the Express product line.

    Translation: "Jamie is interfering with our attempt to devalue various Free Software tools."

    It was a small miracle getting Express to be available both for free and for commercial use for customers

    Translation: "Microsoft legal doesn't understand the value of giving away software"

    let alone the engineering work to get it up and running

    Translation: "Our code base is such an encumbered mess that disabling features was an arduous task."

    We made a business decision to not allow 3rd party extensibility in Express. The reason we're able to offer Express for free and even let developers build commercial applications with Express is because we limit 3rd party extensibility of Express, specifically by removing support macros, add-ins, and VSIP packages.

    Translation: "The only way people will buy our crap is if the one feature they need can't be had for free, and their whole product is already implemented using our IDE, making it harder to switch to some other product, perhaps a Free one."

    Unfortunately, in this one instance, we have one company that chose to exceed the license grant and develop additional features into the Express products that are not allowed. Additionally we have over 300 VSIP partners with over 1,000 legal Visual Studio extensions that cannot extend Express.

    Translation: "We decided upon a truly stupid licensing model, and now our customers who paid good money to be able to create extensions are pissed off that we did a shitty job of preventing unlicensed ones from working on a free product."

    It doesn't make business sense when our biggest and best partners are legally unable to extend Express, yet Jamie's company can.

    (No translation needed - it just doesn't make sense! If the extension fits, you must acquit!)

    As for Jamie, we've been asking him in multiple emails and conference calls to stop extending (just Express) since before Visual Studio 2005 even shipped.

    Translation: "Yet almost every time, he has been logical and reasonable, instead of knuckling under."

    [snip]

    We even got the General Manager of Visual Studio to personally talk to him on the phone to plead with him to remove Express extensibility. Closely following that, Jamie took the violations to heart and removed Visual Studio Express extensibility for several months.

    Translation: "But we thought we had him nailed down when we threatened to sow his ground with salt, burn his houses, rape his cattle, and ride off on his women."

    Only recently did he decide to add Express support back to TestDriven.NET and only after another round of conversations and close to two years of trying to avoid escalating this situation, we felt compelled to deliver our message in a different form.

    Translation: "He finally came to his senses and just released the damned thing, so we decided to point more guns at him."

    The vast majority of our customer base, now with 14 million downloads, isn't even professional developers, its non-professionals.

    Translation: "Most people who download this software aren't pros who would pay for our software anyway. In spite of this, I'm so angry I forgot my apostrophe."

    In fact over 80% of Express registrants don't describe themselves as a "developer".

    "They're just people who needed a VS IDE to compile some jackass' project."

    From a total number perspective, beginners are the larg

    • by Sciros ( 986030 )
      Shame on moderators for giving Insightful to a post that basically defines what a Troll is. Is Microsoft hate really that popular? If their License Agreement says that addins aren't allowed for some software version, anyone making something for their software in good faith should indeed honor that agreement. So many folks are acting like MS is out of spite refusing some godly gift that makes their horrible software wonderful. I would hope people here had a more mature view than that.
      • Shame on moderators for giving Insightful to a post that basically defines what a Troll is.

        This post is not at all a troll. I am not saying things I don't believe in order to elicit a desired response. I am not trolling. Nor is it flamebait, because the intent behind my comment was not to piss people off, but to help bring a light into the darkness.

        Shame on you for trying to cause people to mod me down by mischaracterizing my comment. You are part of the problem.

        Is Microsoft hate really that popular?

        Is

    • I hate proprietary software. Anyone who doesn't share my views on free software is an ass. Anyone who disagrees with me is obviously talking out two sides of their mouth, so I'll just go ahead and substitute words to make it seem like they are as much of a troll as I am.

      Seriously, I've never see someone so completely reword someone else's words into flamebait, just so they could then flame them.

      I don't know, but given the choice between never having visual studio released and having to hear people bit

    • Translation: "Most people who download this software aren't pros who would pay for our software anyway. In spite of this, I'm so angry I forgot my apostrophe."
      I almost ruined my keyboard when I read this. Thanks for the laugh.
  • What the...? (Score:4, Insightful)

    by mcmonkey ( 96054 ) on Friday June 01, 2007 @11:49AM (#19353527) Homepage
    What's going on here? What is MS using the EULA to tell users they can't use functionality that MS developers put into the software?

    Is there a reason they can't just take out (or never put in) the feature of VS Express they don't want anyone to use?

    ObBadAutoAnalogy: Rather than post speed limits, why not pass a law that cars coming off the assembly line must be restricted to 55 mph? (I told you it was a bad analogy.)

    But seriously, the VS Express guy makes it sound like this is some stand alone project. If that is so, why does it do these things they explicitly don't want it to do? My guess is, VS Express is 99% the same code as VS Super Premium, with that 1% being switches to turn off the stuff MS wants you to pay for.

    It sounds like the daily wear/long wear contact lense hub bub from a few years back. In that case, the company sold cheap daily wear contact lenses. The directions were to wear for one week then throw them away. They also sold more expensive long term lenses with directions to remove and clean each night.

    Turned out, the only difference was the directions. You could buy the cheap lenses and just use and clean them as you would the expensive lenses.

    I say, if you don't want people getting expensive contact lenses for a cheap price, don't put a cheap price on your expensive lenses. If you don't want people overclocking your CPUs, don't underclock faster CPUs. And if you don't want people developing extensions for the free express edition, don't release the extensible version wrapped in the express version EULA.
  • by rs232 ( 849320 ) on Friday June 01, 2007 @11:49AM (#19353537)
    "they would never explain specifically which clause in the license was being violate"

    It's a classic example of the differences between the Open Source and the closed sourced licensing model. I think it's perfectly clear, they provide a limited version of the product for free, the license forbids extending the functionality of Express. TestDriven extends the functionality, therefore it violates the license:

    'You may not work around any technical limitations [asp.net] in the software'
    • by mpoulton ( 689851 ) on Friday June 01, 2007 @12:03PM (#19353791)

      It's a classic example of the differences between the Open Source and the closed sourced licensing model. I think it's perfectly clear, they provide a limited version of the product for free, the license forbids extending the functionality of Express. TestDriven extends the functionality, therefore it violates the license: 'You may not work around any technical limitations in the software'


      You just clearly stated the very reason why his software is NOT in violation. The intent that the writer of the EULA was probably trying to achieve was to prevent extension. However, the developers failed to actually disable the extension functionality. There is no "technical limitation" to work around here. The "limitations" that prevent the use of extensions are not technical ones, they are simply documentational - Microsoft claims that extensions don't work on Express, so people believe them and don't try to extend it. This guy discovered that it atually works just fine. So, where's the "workaround" of "technical limitations"? Microsoft intentionally wrote the extension functionality into the software, and failed to disable it. He's just using their feature as designed.
    • Re: (Score:3, Insightful)

      by lawpoop ( 604919 )
      But Jamie didn't develop TestDriven with Express; he used the full version. He may never had touched the Express version. He never violated Express' license in the course of developing TestDriven -- how could he? He never used it.

      However, a user of Express gets access to features they're not supposed to when they fire up TestDriven. That would place any blame on the Express User, not Jamie, right?

      Sort of like, it's okay to write a program that's a maphack for WOW, if you never use WOW software when you
  • So.. (Score:2, Insightful)

    by u0berdev ( 1038434 )
    if Third-Party extensions are "not allowed" in the Express editions, why then do they have the capability to be loaded? You would think that Microsoft would code something into the extensions loader that would check whether or not its a Microsoft official extension or not. Wouldn't that have prevented this in the first place?

    -Ryan
  • by CodeShark ( 17400 ) <<moc.oohay> <ta> <cphtrowslle>> on Friday June 01, 2007 @12:05PM (#19353829) Homepage
    Forgive me for wading in without my jumbo hip waders, but it seems like with all of the /. usrs there ought to be an easy way to figure this out. Are there any users out there with a copy of the EULA that we could all look at and analyze

    Because on the one hand if the developer is actually violating something he agreed to (barring the discussion about how much of the fine print in a click through EULA can actually be enforced in court...) then there's not a lot of wiggle romm. If ton the other hand this is just M$ being jerks -- like it looks like they are being -- then maybe the EFF ought to take a look at protecting this developer from big-time bullying.

  • by rob1980 ( 941751 ) on Friday June 01, 2007 @12:07PM (#19353843)
    How did this guy pull it off? The e-mails make it look like removing support for Express was a matter of flipping a switch. Did Microsoft seriously just cut and paste Visual Studio 2005 into 5 different language-specific projects and call those the express editions or something?
    • Re: (Score:3, Informative)

      by simong ( 32944 )
      Probably. It goes back at least to the difference between NT4 Workstation and Server, which was a single line in the registry plus verification from the running licence. If that line was removed, the OS would check to see if it had a server licence. If it didn't, it reinstated the line. Product distribution is dependent on the license rather than the binaries that are distributed.
  • by Maximum Prophet ( 716608 ) on Friday June 01, 2007 @12:07PM (#19353845)
    In the past, when Microsoft didn't want something to work, like say, Lotus 123, they would release an upgrade that would run all their stuff, but not Lotus 123.

    What's stopping them from doing the same here? Can't they just release a new upgraded version of Visual Studio Express that won't run his stuff?
  • From the license:

    "9. SCOPE OF LICENSE. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. For more information, see www.microsoft.com/licensing/userights. Yo
    • Just writing any software using VS Express is working around "technical limitations". Any language is technically limited from doing much of anything useful until someone actually writes a program in it. Why is writting a plug-in for it any different than writing "Hello World?"

      If a language didn't have a sort routine built-in and you used it to write a sort routine, would you be guilty of working around "techinical limitations?" If program X is too slow written in VS Express and you find a way to make
  • Why go through all the hassle with this developer (and others that will undoubtly follow) with some (probably) vague writing in the EULA? Wouldn't the easiest solution to simply disable plugins in the actual program?
    Or do MS want to write plugins themselves, but not let anyone else do it?
  • Thanks, Microsoft, for making this an issue. Had your lawyers not issued a C&D on this, /. most probably would not have posted this story and I would still not know about this cool add-in.

    I can see them removing support for MS Team System on the Express versions but nothing else. IANAL but I don't see how integrating NUnit support into the IDE is a violation of anything. If MSFT didn't want you to extend their IDE, then they should not have published the EnvDTE or Extensibility assemblies.

    My limi

  • According to TestDriven.NET's EULA [testdriven.net],

    Except as expressly permitted in this Agreement, Licensee shall not, and shall not permit others to:
    ...
    (ii) reverse engineer, decompile, disassemble or otherwise reduce the Software to source code form;


    Now what did one of the emails from Microsoft say?

    Thank you for not registering your project extender during installation and turning off your hacks by default. It appears that by setting a registry key your hacks can still be enabled. When do you plan to remove the Visual
  • by MobyDisk ( 75490 ) on Friday June 01, 2007 @12:44PM (#19354475) Homepage
    Another poster pointed out the relevant EULA clause:

    ...You may not work around technical limitations in the software...
    This is also in Microsoft's other agreements. I would like to see this particular onerous line challenged in court. It is very vague, and probably impossible to judge or enforce. Lots of things have technical limitations, and people work around them all the time. I don't like EULAs in general, and this is a good place to start challenging them.
  • EULAs are funny (Score:3, Insightful)

    by Anonymous Coward on Friday June 01, 2007 @12:58PM (#19354703)
    From the EULA: You may not work around any technical limitations in the software

    So if it crashes we can't restart it? And if it hangs we can't kill it? That's working around technical limitations in the software, isn't it?
  • by haplo21112 ( 184264 ) <haplo AT epithna DOT com> on Friday June 01, 2007 @01:44PM (#19355447) Homepage
    ...Microsoft has always been pretty strightforward in saying no plugins for the Express products, its not a hidden fact.

    So the guys fight is sort of a principle of the thing, be a pest fight. He's pretty clearly in the wrong. Sorry of thats a bad opinion on the matter.
    • Re: (Score:3, Informative)

      by Darby ( 84953 )

      So the guys fight is sort of a principle of the thing, be a pest fight. He's pretty clearly in the wrong. Sorry of thats a bad opinion on the matter.


      No, he's absolutely 100% in the right.

      Where did you get the insane idea that Microsoft has the right to tell you what kinds of things you can do with your legally purchased property?

      It's truly unreal how many people just idiotically swallow bullshit like that and keep regurgitating it.

      MS can say he's in the wrong all they like. Not you, not they, and not anybod
  • by DavidMarkle ( 1110453 ) on Friday June 01, 2007 @10:15PM (#19360569)
    How about some facts?

    If only people would stop and dig through the facts, you'll see that Jamie Cansdale not only acted in bad faith by first agreeing to withdraw support for the VS.NET plugin, then turning around only one day later and re-offering support for it in the betas of Visual Studio.NET Orcas. Let us for the moment concede that perhaps Jamie has some sort of valid legal case for continuing to offer his Add-in. Even if that were so, let's read the text of his letter to MS's lawyers, shall we?

    " ...we the undersigned hereby jointly and severally: ... undertake ... never again in future (whether acting by ourselves, though agents or third parties, ... etc etc... to make such or any other similar offending products available for sale or otherwise on that or any website, or through any other medium ... We understand that our undertakings in this letter are undertakings to the Court and we are aware that any breach of them may be treated as a *contempt of court*. [Emphasis added by me]"

    Wow. That's a pretty strong statement. That means that by re-offering the plugin for Orcas after shipping this letter, Jamie has said that he's willing to go to jail. Perhaps he'll learn some sense of ethics there.

    Jamie Quells Dissent on his Blog

    You probably won't hear me paraphrase Chuck D much on this blog, but don't believe the hype. Why not? Well, I as well as others (see Eric's post) have tried to write entries in his blog telling him that he's in the wrong on this issue. Somehow our posts never made it to his blog! Surprise! I wonder if it's a bug in his blogging engine. Or perhaps Jamie doesn't want to have a backlash against him start on his own weblog.

    TestDriven.NET is not Free Software

    If you read most of the responses to this story in Slashdot, or (believe it or not) Jamie's blog, you'll probably be led to believe that TestDriven.NET is free, open-source software, and that Jamie Cansdale is a lone developer, toiling away for the sake of the community, and being bullied by the 800 pound Gorilla that is Microsoft. Nothing could be further from the truth. TestDriven.NET costs$95 per user. Want an enterprise license? That'll be $10,500, please. Some have made the patently ludicrous claim that Jamie does give the software away for free. Not if you're using it professionally, he doesn't! His licensing terms are... wait... that's the next section! Stay with me here, this is the best part!

    Jamie's License is Just as Bad

    It's time to play a little game, boys and girls. The game is, "let's guess whose license agreement this is":

    " ...you may use the software only as expressly permitted int his agreement. In doing so you must comply with any technical limitations in the software that only allow you to use it in certain ways... You may not work around any technical limitations in the software..."

    versus:

    " ...Licensee shall not, and shall not permit others to ... use the Software in any manner not expressly authorised by this Agreement."

    Sound pretty familiar, don't they. The same clause that Jamie complains is vague, irrelevant, and unenforceable in the MS license is pretty much exactly the same in the TestDriven.NET license. Jamie Cansdale is a hypocrite, and he deserves to be exposed as such, and punished.

    TestDriven.NET's Real Functionality comes from Software that is Free

    For those of you unfamiliar with the product, TestDriven.Net is basically a plug-in for Visual Studio that allows developers to run NUnit, MBUnit, and NCover tests with a click of the mouse, or a quick keystroke. It performs a few other functions, but that's about it. These products are all open-source and free. Others have labored long and hard to generate these tools, and Jamie ships them with his non-free product. All of the heavy lifting is done by these utilities -- TestDr

Only great masters of style can succeed in being obtuse. -- Oscar Wilde Most UNIX programmers are great masters of style. -- The Unnamed Usenetter

Working...