Become a fan of Slashdot on Facebook


Forgot your password?
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:
  • Seems fair to me (Score:2, Informative)

    by Maxo-Texas ( 864189 ) on Friday June 01, 2007 @12:31PM (#19353249)
    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 @12:39PM (#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.
  • by rs232 ( 849320 ) on Friday June 01, 2007 @12:49PM (#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 [] in the software'
  • Re:Seems fair to me (Score:5, Informative)

    by Anonymous Coward on Friday June 01, 2007 @01: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 [].

    ("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.
  • Re:Editors? (Score:3, Informative)

    by Goaway ( 82658 ) on Friday June 01, 2007 @01:38PM (#19354365) Homepage
    Slashdot "editors" do not "edit" submissions. This makes Slashdot "more real", according to CmdrTaco. ld=0&commentsort=0&mode=thread&pid=14502339#145024 []
  • Re:why not? (Score:1, Informative)

    by oliverthered ( 187439 ) <(oliverthered) (at) (> on Friday June 01, 2007 @01:41PM (#19354415) Journal
    "which by the way is an outstanding IDE"

    umm.. no it's not. it's buggy as hell, just the other day my CTRL button stopped working so I can't block select words in one go.

    Add that to the broken intelisense, years to open a project, all the crap it does with source control etc...
    and yes you have youself and outstanding IDE.
  • Re:why not? (Score:3, Informative)

    by Doctor Memory ( 6336 ) on Friday June 01, 2007 @02:36PM (#19355323)

    in about an hour I can create a functioning front end, with or without web functionality and with ODBC interface into SQL, Oracle, or just about any other backend known to man, and i can do it in at least 3 common well known languages. What other development environment will let me do that?
    Well, if you drop the restriction to ODBC, I think either Eclipse [] or NetBeans [] will fill the bill. Both support C/C++ and Java, and Eclipse also supports Tcl and NetBeans supports Ruby. Sun Studio [] supports C/C++, FORTRAN and Fortress, although I doubt you could create a simple database-backed app with a GUI in an hour. Not with Fortress, anyway, which is all I've used SS for.

    In about an hour I can teach a novice programmer how to create a fully functional windowed application that can actually do something, again in multiple languages, and using a familiar interface.
    Great, now try changing the interface. What if you have to deploy your app with a couple of ancient Motif-based apps (or a couple of new GTK+-based ones), and the client wants them to look the same? Is there any way to drop in an interface library and use it? Not everyone lives in a monoculture (and there are fewer every day).

    Not sure if you're really making a point by juxtaposing "novice programmer" and "multiple languages", I think you'd wind up just wiping asploded head off the walls if you wrote your forms in VB and your back-end classes in C# and expected a novice to make sense of it all.

    Seriously, VS isn't bad (although the Express versions only support one language at a time), but it's hardly the only IDE you can be productive in. Check out a 4GL sometime if you want to see some serious RAD...
  • Typical Microsoft (Score:1, Informative)

    by Anonymous Coward on Friday June 01, 2007 @02:44PM (#19355441)
    From TFA:

    "We may have discussed this at great length, but I was never told what that the "relevant license terms" actually were! I only re-enabled Express support when Microsoft yet again failed to tell me where I was in violation. A straight answer with something I could tell my users would have resolved this."

    So yeah, frankly, the whole can't "work around technical limitations" bit of the EULAs ought to be given more press. I think a lot of people violate that term unknowingly, and if it were actually enforced, people would find Microsoft software quite useless.
  • by Changa_MC ( 827317 ) on Friday June 01, 2007 @03:01PM (#19355743) Homepage Journal
    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.
  • by simong ( 32944 ) on Friday June 01, 2007 @04:32PM (#19357189) Homepage
    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.
  • Re:EULA (Score:1, Informative)

    by Anonymous Coward on Friday June 01, 2007 @04:38PM (#19357275)
    According to here [], that clause is in the Vista EULA.
  • by Darby ( 84953 ) on Friday June 01, 2007 @04:47PM (#19357435)

    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 anybody else in this thread has given a single credible reason as to how they magically got that right just claiming to have it.

    That's the elephant in the room you're ignoring.

  • Re:why not? (Score:4, Informative)

    by westlake ( 615356 ) on Friday June 01, 2007 @04: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.

  • by SLi ( 132609 ) on Friday June 01, 2007 @05: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).
  • by drinkypoo ( 153816 ) <> on Friday June 01, 2007 @06:12PM (#19358495) Homepage Journal

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

    The DMCA contains a similar clause [] - 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.)

  • Re:english (Score:1, Informative)

    by Anonymous Coward on Friday June 01, 2007 @08:39PM (#19359781)
    My apologies for the terrible spelling and grammar. I wrote the post very quick this morning before heading to work and never proof-read what I wrote. Sadly, english is my native language and yes, I'm sure something in *this* post is wrong as well.

  • Re:why not? (Score:4, Informative)

    by setagllib ( 753300 ) on Friday June 01, 2007 @11:56PM (#19360723)
    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.
  • by benjymouse ( 756774 ) on Saturday June 02, 2007 @03:57AM (#19361635)
    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.
  • Re:why not? (Score:1, Informative)

    by Anonymous Coward on Saturday June 02, 2007 @10:10PM (#19367595)
    The full Visual Studio 2005 Standard has a MSRP of $299. That includes VB, C#, C++, and J#. Not too bad, really.
  • by RockDoctor ( 15477 ) on Sunday June 03, 2007 @06:44AM (#19369809) Journal

    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 little if any formal training in correct grammar, spelling and/ or punctuation, while the large majority of formally-taught users of the language learn from and (refer back to) materials produced by skilled professionals. To be blunt, the necessary qualifications for becoming a parent (functioning gonads and a partner) are not the same as those necessary for teaching a language (understanding of grammar, rules of punctuation, memory of spellings, training in pedagogy).
    If we had access to several populations of people who couldn't speak a particular language and were to carry out the experiment of introducing a new language to some populations by formal teaching, and to other populations by introducing the language by percolation and self-teaching, then a meaningful comparison of the efficacy of the teaching methods could be carried out. Which might be an interesting experiment, if we didn't have adequate historical testimony of what happens with spoken languages : the development of pidgin languages, and later creole languages.
    What might be an interesting variation would be to investigate how the analogy works with programming languages in a non-programming population. The analogy between natural languages and programming languages has often been made, and has often been taken far further than it can stand. But in this context, it could make an interesting and informative experiment. What programming languages to use for comparison is one important variable to control for ; isolating the different experiments is something that would be easily achieved if the experiment were allowed to use prisoners spread across different institutions. A motivational framework should be easy to establish (for example : if your group achieves this months programming task, your group gets a TV-hours upgrade).
    All in all, it might be an interesting experiment which could illuminate
    • which parts of "programming" as a whole are difficult for people to construct for themselves (pointing to directions for improving tuition),
    • what sorts of errors people are more prone to make (and therefore, language design should take into account),
    • and possibly how effective different organisational methods are.
    Of course, this would require considerable replication to examine the effects of the variables, but the world isn't going to be short of uneducated prisoners for a long, long time. Is it?

    (I should point out that I'm suffering a wife revising for her English exam at the moment, as a prerequisite to applying for dual citizenship. She was asking me to help her understand the gerund last night, which was acutely embarrassing. And now, I think I should apply the spelling checker before posting! [I forgot to capitalise "English" and flipped a syllable in "condiserable" - which is a level of correction that doesn't, quite, require seppuku.] It's hard NOT to be a grammar Nazi. Particularly on Slashdot, where speed of posting often appears to over-ride all other considerations, including thinking about the subject. Now all I've got to do is figure out how to make this damned machine STAY with en-GB as the default language for a document, instead of re-setting it every tour.)

Adding features does not necessarily increase functionality -- it just makes the manuals thicker.