Slashdot Mirror


Microsoft Vs. TestDriven.NET

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."

7 of 418 comments (clear)

  1. Re:Seems fair to me by Volante3192 · · Score: 4, Informative

    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.

  2. Re:Seems fair to me by Anonymous Coward · · Score: 5, Informative

    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.

    ("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.

  3. Re:Absolutely Ridiculous by Changa_MC · · Score: 3, Informative

    Breaking the EULA might be illegal. But the EULA does not ban addons. Therefore TestDriven.NET has not broken the law. If Microsoft wanted to ban addons from the free version, they should have said so in writing.

    --
    Changa hates change.
  4. Re:why not? by westlake · · Score: 3, Informative
    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.

  5. Re:But is it illegal? by SLi · · Score: 3, Informative

    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).

  6. Re:why not? by setagllib · · Score: 3, Informative

    It takes you an hour? With Python and SQLAlchemy I can have a database abstraction with connection pooling and ORM in about 20 lines of absurdly simple code, more if the schema is beefy. Then I can tack on a neat PyGTK, PyQT, or whatever other GUI in another page or so, using a visual designer like Glade or Qt Designer. Or I could make a web application interface with CherryPy or Twisted Web and any of the dozens of elegant HTML templating kits. Overall this is a 15 minute job at most, and that's including revising the APIs if needed. And apart from using a visual designer for the GUI, this can all be done with a neat text editor like Vim or Emacs, no need for gigabytes of proprietary vendor-lockin crap. You don't need Intellisense much if the intelligence is in the design.

    And then there's Ruby on Rails which does almost all of *that* for you, leaving very little work for you to do. You can get the entire open source stack in a single archive for Windows, called InstantRails, and there are plugins for Eclipse to integrate in that too.

    Visual Studio might seem really good if you only ever read marketing hype. But once you get in the trenches and try real platforms with real development environments, the reality is entirely different.

    --
    Sam ty sig.
  7. Re:But is it illegal? by benjymouse · · Score: 3, Informative

    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 the built-in editors for properties of your class, or you can develop your own editors.

    TestDriven.NET used this feature to have his own code run in the context of the Visual Studio Express process. When that happens he hijacks the internals of the application to inject his own menus, commands etc. That is clearly circumventing a restriction explicitly imposed on the Express line. It is also violating the copyright on the product b/c you are now changing the product in ways it was not designed to be changed and to which you have not been granted rights.

    --
    Reading slashdot one-liner: (irm http://rss.slashdot.org/Slashdot/slashdot).rdf.item | fl title,desc*