Follow Slashdot blog updates by subscribing to our blog RSS feed


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:
  • by Anonymous Coward on Friday June 01, 2007 @12:29PM (#19353217)
    You'll find that Microsoft is about to release their own Unit Test add-in...
  • Shoot at foot... (Score:4, Interesting)

    by Ckwop ( 707653 ) * <> on Friday June 01, 2007 @12:31PM (#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.


  • by palladiate ( 1018086 ) <palladiate@EEEgm ... inus threevowels> on Friday June 01, 2007 @12:35PM (#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.

  • by ch-chuck ( 9622 ) on Friday June 01, 2007 @12:35PM (#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 gstoddart ( 321705 ) on Friday June 01, 2007 @12:41PM (#19353405) Homepage

    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 and people would ignore it in all likelihood. We're not talking about breaking your copyright, we're talking about arbitrary rules which they apparenty didn't enforce in their own code.

  • Re:english (Score:3, Interesting)

    by Anonymous Coward on Friday June 01, 2007 @12:43PM (#19353431)
    Come on. The irony of this is at very high levels. M$ touts Visual studio express as the "free" windows IDE/compiler in response to many OSS competitors. Then someone develops something for it and M$ starts pitching a livid bitch fit. This is M$ paying lip service to customers, saying "look here, we're free too!" then having it bite them in the ass, because the value of M$'s software is enforced by an untested (ie legally debatable) custom shrink wrap copyright.
  • by Volante3192 ( 953645 ) on Friday June 01, 2007 @12:44PM (#19353447)
    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 licence.

    They probably just copied the licence from another version and hoped that people wouldn't actually read it.
  • Somebody's lying... (Score:3, Interesting)

    by Assmasher ( 456699 ) on Friday June 01, 2007 @12:47PM (#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...
  • by kebes ( 861706 ) on Friday June 01, 2007 @01:01PM (#19353743) Journal

    Has anyone found a nugget of legal truth in the other documents?
    According to the Microsoft legal threat [], the relevant portion of the Visual Studio Express EULA is: 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?"
  • Re:Shoot at foot... (Score:4, Interesting)

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

  • More details (Score:5, Interesting)

    by Mateo_LeFou ( 859634 ) on Friday June 01, 2007 @01: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 rob1980 ( 941751 ) on Friday June 01, 2007 @01: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?
  • by A Friendly Troll ( 1017492 ) on Friday June 01, 2007 @01:29PM (#19354227)
    According to TestDriven.NET's EULA [],

    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 Studio express hacks, including your addin activator, from your product.

    How did they find out about this, except from reverse engineering TD.NET?

    Also, if my product was continuously being called a hack, I'd be seriously pissed off. The MS guy is an asshole, full of himself.
  • by MobyDisk ( 75490 ) on Friday June 01, 2007 @01: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.
  • by Altus ( 1034 ) on Friday June 01, 2007 @03:04PM (#19355795) Homepage

    OK, so lets say that you are correct about the technical limitation (I have no idea if you are or not). If that is the case, then MAYBE, using TestDrive.NET with Express is a violation of the EULA.

    But the writing of TestDrive.NET was likely done on the full version of Visual Studio. So the developers probably did not violate the EULA. At best MS has a case that END USERS (the ones bound by End User Licencing Agreements) who use a plugin (any plug in, not just this one) with Express, are violating the terms of the EULA. Given that, Microsoft should be going after those users and not after a development company that has simply written a tool for the pro version of the software. The fact that end users can hack the free version to use that tool as well is no concern of the original plugin developer.

    Even if he distributes instructions on how to preform this hack Im not sure they have a case against him. He isn't bound by the EULA of software he doesn't use and the information is probably protected in the same way that lock picking guides and cable de-scrambler schematics are.
  • by Danse ( 1026 ) on Friday June 01, 2007 @04:36PM (#19357253)

    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.
  • by Anonymous Coward on Friday June 01, 2007 @05:28PM (#19358007)

    Well, that is certainly good news. I plan to move to the next VS when it arrives.

    I'm sure you do.

    As far as Jamie goes, I suspect he had to do something out of the ordinary to get add-ins to work with VS Express.

    Nope. Microsoft NEVER changed the way add-ins work with VS Express. 3.aspx []
  • Re:Shoot at foot... (Score:3, Interesting)

    by lawpoop ( 604919 ) on Friday June 01, 2007 @06:47PM (#19358847) Homepage Journal

    A few things. First, Java was free.

    You're a little confused, to the point where your statement is ambiguous. Originally, it was free as in beer, now, because of community pressure, it's free as in speech.

    Comparing it to MS's products is disingenuous.

    How so?

    Microsoft has a lot of free software, but Visual Studio has not historically been free.

    Uh, I'm not aware of *any* free-as-in-speech software from Microsoft.

    They released a dumbed down version so people could play with it, but VS makes MS money. Java is great and all, but Joe Bloe developer never had to pay for it.

    What does that have to do with MS trying to control the community, instead of allowing greater freedom, and thus releasing the creative potential of the development community?

    Second, comparing Sun to MS also rings a little false. MS makes boatloads of money, Sun doesn't.

    Um, so you can only compare MS to companies that make a boatload of money? You mean a company like IBM, a company that has embraced linux solutions, alongside their own?

    You're saying that MS, the most successful software company in history by a long stretch, should emulate Sun?

    No, that's not what I said at all. This further shows that you focus in on specific details, and miss the larger point. What I'm saying is that MS will not be able to continue to exert tight control over the development community for the long term, say 10 to 20 years.

    Third, MS's new generation software is much more open than it has been historically. In fact, Java lags pitifully behind WCF in implementing important web services standards, for example.

    Okay, but it's still not open in the sense of interoperability. It's a vertical platform. Yes, they do provide great tools -- I'm not denying that. But if you choose to develop with them, you lock yourself into the MS platform, and you lose horizontal integration, and also backwards and forwards compatibility. MS wants to make money, and they have an interest in having you purchase all new licenses when their latest tools don't work with old versions.

    Finally, it's difficult to argue that neither MS nor its developer community have made much contribution to computing. In fact, it's impossible.

    No, it's very easy. Name two standards or protocols MS has developed ( or that have 'escaped' from the Windows platform) that have been adopted by other platforms or architectures. Meanwhile, free software has given us ftp, http, TCP/IP, ssh, PKI...

    The vast majority of applications run on computers around the world run on Windows. They look and feel largely the same. Dumb people can even sometimes figure them out.

    Can't you understand monopoly, vertical development architecture, or vendor lock-in? That's the reason they control most of the computers world-wide.

    The fact is that MS is in overdrive lately with respect to how they court developers (queue "developers, developers, developers" remix). They've always been good about it, and they're getting better.

    Again, vertical platforms, monopoly, not playing well with others go much further in explaining that. Seriously, go look around MSDN. Look at WCF. Look at WPF. Look at Windows Workflow. Look at the Enterprise library. Look at the software factories. Look around Codeplex. Play with TFS, Silverlight, etc... Believe me or not, I was a hardcore UNIX developer not too long ago - Perl, C/C++, Java stuff. I've moved to .NET and I _absolutely dread_ having to go back to that primitive shit. Unlike most Slashdotters, I know both sides of the aisle very well and developing on the MS side of the fence is far more efficient and enjoyable - _if_ you can afford it, i.e. you work in a corporate environment. I agree with you that they make good tools and they have a great workflow. What I'm saying is that once you start in the MS environment, i

  • by DavidMarkle ( 1110453 ) on Friday June 01, 2007 @11: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":

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


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

  • Re:why not? (Score:3, Interesting)

    by killjoe ( 766577 ) on Friday June 01, 2007 @11:22PM (#19360599)
    Is it possible to do .NET development with eclipse?

A bug in the code is worth two in the documentation.