Robert McLaws: Windows Edition

Blogging about Windows since before Vista became a bad word

Weighing In on the Visual Studio Express EULA Debacle

There is a cold chill in the air today. For those of you that don't pay attention in the developer world, there is a war brewing between Microsoft and a one-person ISV. At the center of the dispute is a ridiculously ambiguous portion of the Visual Studio Express EULA, which also happens to be at the center of the Microsoft/ISV relationship.

Here's a little backstory: TestDriven.NET is an add-in for Visual Studio that enables code testing with a particular set of open source tools. It hooks into Visual Studio to provide the glue by which the various open source components can work together. It's a pretty great tool, especially if you can't afford Microsoft's expensive Visual Studio package that includes unit testing (which is a more expensive SKU then their lowest paid version).

So what is the EULA section in question? Straight from Microsoft, below is the section in question (emphasis mine):

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

This is a well-documented generality that a lot of people have a problem with, myself included. In the past, this clause has been used to prosecute software "crackers" who build tools to, for example, turn Windows XP Home into Windows XP Pro, or circumvent the software activation to steal a copy of Windows. This is the first time I've heard of this being used against a legitimate ISV. The repercussions for this are not to be underestimated. But I'll explain more about that in a minute.

Dan Fernandez, the PM for Visual Studio Express, has explained his position in a couple of posts. What I find kind of funny is that the letter sent from Microsoft's lawyers in the UK is pretty over-emotional for a legal notice. For example:

"Our client should not have to explain to you, a software developer, the significant commercial harm being caused by your unlawful activity. All software houses (to a greater or lesser degree) make available versions of their software which have limitations on their use, some often made available for free. It is for the software house to determine which of its software it wishes to make available to users and on what terms. A limited version of a piece of software may be given away as a marketing tool, or sold at a lower price to reflect its limited functionality; more sophisticated versions of the same software representing very valuable intellectual property may only be supplied at a higher price. Your activity subverts this model, depriving our client of very significant revenues. It is a model you will well appreciate as you employ it with your own products when you specify different licensing terms for three versions of your product, one for "Personal", one for "Professional", and one for "Enterprise". Your activity also causes wider damage in the marketplace by, amongst other things, creating dissatisfaction amongst Microsoft's many partners." (Emphasis mine)

And I thought I was long-winded. So in between a really ridiculous primer on how software is sold, we have this sob story on how much money Microsoft is losing because of their product. For starters, there is a measure of intent that has to be taken into account. People who crack Vista do so to steal the software. Jamie's software doesn't serve the same purpose. People aren't downloading his product so that they can enable add-ins in Visual Studio, they're downloading his software to be able to write code that lets you test code you've written. Furthermore, I challenge Microsoft to be able to prove that it has lost any money whatsoever in the matter.

In my opinion, the only one causing dissatisfaction among Microsoft's many partners is Microsoft, because their actions based on this clause throws the whole basis for Microsoft's ISV relationships into doubt. Microsoft is a huge company, and their software can't do *everything* people need it to do. Every day, ISVs build new software that build on or enhance Microsoft products by finding the functionality that Microsoft couldn't add in (for whatever reason), and fill in the gap.

Visual Studio Express doesn't specifically say anywhere "Don't use add-ins", the functionality is just not there. So how was anyone supposed to know that was intentional? Microsoft misses blatantly obvious functionality all the time. I used to be an ISV, but I got out of the business, because you have to charge too much for components to be taken seriously by big development shops. If I were still in that business, I'd have to start factoring the risk of being sued by Microsoft into my business plan every time I build a new component that fills in one of Microsoft's many gaps. And that might keep me from building that component.

All in all, this situation was handled badly by all parties involved. But the threat to sue was a *REALLY* dumb move on Microsoft's part, because it doesn't matter who was right, when Microsoft sues, they're wrong in the court of public opinion. Microsoft's team of 800 lawyers are supposedly pretty smart. Guys, it's time to put your heads together and clarify this part of the EULA for your products. And if there is specific techniques used to differentiate between your products, they should be clearly and succinctly defined. Then you would avoid ridiculous misunderstandings of unnecessarily obtuse agreements (is this a license agreement or a patent?) and, oh by the way, you wouldn't piss off the people who drive most of your sales in the first place.

In conclusion, both parties should retreat to their corners. Jamie should take that functionality out of the product, and Microsoft should clarify it's license. If the amended license sufficiently states the limitations of the product that should not be circumvented, then Jamie will have no choice but to keep that functionality. But Microsoft, if you can't give your supposed partners that courtesy, then why should they return the favor?

And here's the drill, Microsoft: if you're just doing this because you plan on putting unit testing in the core product with "Orcas", the sh!t will probably hit the fan. I highly doubt that your customers will take that lying down.



  • To your point on clarifying the license for future products, totally agree and (hard) lesson learned.

    June 2, 2007 3:42 AM
  • frankies said:

    ha, ha, you've been tricked by testdriven. actually most of us were at first. yeah, yeah, we should investigate for ourselves but that's tooo much work.

    go read, and codeproject, and, and the other people breaking the news.

    jamie's dev approach is no different than spyware. it pretends to be something it's not to get loaded. do you want microsoft to go after spyware writers stealing my cc and ssn? i do and this is no different. hacking and commercial software don't mix.

    can you say death spiral of death for testdriven? there's a thread going on between several mvp's on how we should handle this. as i said there "communities are like survivor and we need to vote jamie off the island".

    June 2, 2007 11:01 AM
  • tethys said:

    Frankly, I'm struggling to see anything defensible in Jamie's actions... and Robert, I suppose you think that just because it might give MS a black eye, that they should just ignore EULA breaches? Please. MS is in business to make money. If Express is a completely open IDE, what would stop people from extending it to include functionality up to and including VSTS type features? Surely you aren't naive enough to believe that action like that wouldn't cost MS money.

    The practice of offering s/w that has been crippled or limited *on purpose* for free or for a reduced price is a common one in this industry. MS placed legal and technical restrictions in place to make sure that VS Express could not be extended. Jamie worked around the technical restrictions - and is now faced with the prospect of trying to work around the legal ones.

    If what you want is a free, completely open, completely extensible IDE - VS ain't it. Look elsewhere. Otherwise, caveat emptor.

    June 2, 2007 1:18 PM
  • I want to make it clear (which it might not have been in my last post ) that I don't condone Jamie's

    June 2, 2007 1:54 PM
  • I thought it was a pretty genius workaround, and I think part of the reason they're pissed is because it is so inventive.

    But maybe Jamie's point is not to sell more software, maybe it's to get the EULA amended? And that's why I put in my two cents, because the EULA could have stopped this from happening in the first place, and they didn't.

    June 2, 2007 1:59 PM
  • John Doe said:

    I'd also point out that the MS web page listing features for Visual Studio Express very clearly says no add-ins.  Although I have no way to check that it has always been that way, I'm fairly certain it has been.  Because it was one of the factors affecting my decision to buy standard edition for myself last year.

    June 2, 2007 10:20 PM
  • Tomer Chachamu said:

    "Guys, it's time to put your heads together and clarify this part of the EULA for your products."

    No, I think they'de prefer to be able to just threaten anybody for almost any activity whenever they like. You can't get that for free. Unless, of course, you're Microsoft.

    BTW Robert, I think this is the first time you've covered any story that really reflects badly on MS since I joined you around this time last year. It's a bit sad that you just ignore most of the Microsoft-is-not-doing-nice-things stories and concentrate on the "ooh, shiny!". Sure, you pick up on a few things, like Vista being too expensive, but not much else.

    June 5, 2007 2:47 AM
  • October 16, 2007 10:35 PM