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.

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?

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?

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.

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

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.

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.

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

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 the terms make sense or not. You can choose to follow them or not (and not use the product). I'm sure someone in Iran would think it doesn't make sense for me to include a term that software is not to be used in a non-democratic country, but that doesn't give them the right to simply ignore it.

We're not talking about breaking your copyright, we're talking about arbitrary rules which they apparenty didn't enforce in their own code.

So I have to lock my door, otherwise its my fault if you come into my house and take my TV? That's some nice logic you have there.

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?

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.

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.

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.

There is a difference between Microsoft and almost anybody else. Microsoft has a monopoly which was acquired and extended through criminal acts. When they set limitations on your use of their products, they are actually, in practice, setting limits on what you can do. You can't just go to the competition and act differently since there mostly isn't any competition. Microsoft is acting as if they are doing everybody a big favour by distributing a limited version of this software for free. What they are actually doing is stopping anyone else from coming out with a cheaper product which would compete with them on price. Given that; they should have no right to invade people's privacy and tell them what they should do with a product they have legally acquired.

> 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 ClearCase. I've never used the others though.

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 bush, and that "Ethos" of project was violated. "Ethos" meaning "you did what I think was bad ; you must think like me", what a load of tripe. This is just more of Microsoft's current mode of threating customers without any real proof to back claims, same as the patent violation claims without patent numbers to back it up.

Are they? I'd argue that they're trying to entice people to buy pricy development tools. Express is targeted at students and casual users. These are the same users that would either use OSS or nothing at all. By getting them hooked using VS, which by the way is an outstanding IDE, microsoft not withstanding, they're building a market. As these people develop, and as their skills increase, and their needs increase, at least some of them will buy full fledged copies of the product.
Its the basic crack marketing strategy, give away just enough to get you hooked, and then keep you coming back for more.

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

I just want to highlight one part of your post: MS is excellent at integration. And by integration, I mean you pretty much click on Setup.exe on Team Foundation Server or whatever group you install, hit next a few times, and in an hour you have a fully integrated environment. And integration also means that there aren't quirks with the source control linkage, it just works- context menus that make your life easy are where you want them to be, and you don't have to leave the environment to get your job done. Switching programs to check in your code, then again to update your bugfix/workflow system isn't really a big deal, but when you don't have to do it and its all built in for you, its really nice. It also helps keep developers doing their main role-developing than fighting with a source control system, or making sure that their changes are properly documented in the workflow system.

This is all nice, but it comes with a cost: vendor lock-in. I demo'ed team server and VS2005, because our shop loves VS, and we were happy with our source control and workflow/bug tracking/build tools, but not necessarily in love with them. The whole package was nice, but there would have been no way to have an easy transition to MS, we would have literally had to flip a switch and hope everything worked, and we have a significant investment in customizing our current tools to our needs. MS

You certainly expressed the idea more clearly than I did.
The college case is an important facet: hook them while they're young.
Of course, once people realize that it's all really text anyway, and these got-more-icons-than-an-orthodox-cathedral environments are just another case of the means obscuring the end, then the people mature into simpler environments.
Truly, if your tools doesn't run just fine in a console, what good are they?;)

So you want Microsoft to adhere to invented ideas of GPL3 and Novell, but you don't want others adhering to Microsoft's own license?

I've read the letters on the site. I've read every word and all the article text. And you know what? It seems quite clear that Microsoft bent over backwards to work with the guy to abide by their EULA and their requirements for VS Express. They spent a year discussing it with him when they could have just slapped a lawsuit. Even now they are working very hard to avoid that and spare the developer some grief.

But that's not good enough for you guys. But if MS does something ala GPL then sue them to the ground, eh? Look I'm not MS happy here but I do believe in fairness. And yes I know, Slashdot is one of the last places for fairness, but I thought it was better than Digg. Oh well.

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 do it. However, the player who actually uses the maphack is in violation of the agreement with Blizzard.

All the manager had to do was say the EULA says "xyz," and is therefore in breach of our license. He never does that (and it looks like nobody else really has either). He says the EULA is violated, but then goes on to explain how the plugin goes against what Microsoft wants. And? I don't care that you sell software, give it away, or wear it around on a fashionable necklace, your business case isn't MY business. If you can't make money doing what you are doing, then nobody should defend you, really.

It really just looks like Microsoft was caught with it's pants down, and they are scrambling to obfuscate their screw-up.

I love piracy but at some point people need to be able to differentiate their product.

I don't love piracy, but it's not at all clear that this is piracy.

If I sell you a saw, I don't have the right to tell you that you can't use it to cut pipe. I might design the saw to make it impossible to cut pipe. I don't know how the hell you would do that - there must be some kind of pipe you could cut with almost any saw worth using for any purpose. Similarly, it's more or less impossible for them to make it impossible to extend their software, although they can make it more difficult.

Another example, if I sell you a car, I can't tell you not to modify it. And in fact, the Magnuson-Moss warranty act won't even let you void the warranty if I use other parts, fluids, etc, so long as they meet published specifications.

So why should software be different? Because they say so? Because the EULA, which is a shrinkwrap license, says so?

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.

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.

Wrong. It will be in the next version of VS [cornetdesign.com]. Right now, it is a pretty awful implementation for TDDers (very slow, but some cool integration features), but they are working on making that better [msdn.com].

Not that I agree with what is going on with Jamie. All he ever asked for was the clause he was violating and he would happily remove it. They haven't provided that yet.

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.

Jason clearly states he is not a lawer. Then isn't he provided with legal advise? All it takes is a legal department he can call and ask them to explain to Jamie (and/or his legal representive) what it is Microsoft thinks they are in violation of, and hear the counter argument.

If the counter arguments are good, Microsoft's lawer would know they would loose in court and say "you are right, sorry for the inconvinience. Please be adviced we will most likely change the license agreement to specifically disallow this for future releases as it was never our intention this should have been allowed in the first place".

If the Microsoft lawyer can counter the counter arguments, then Jamie (and/or legal advise) could simply say "you are right, sorry for the inconvinience, the feature will be removed".

If they do not agree, then they will go to court as this is the obvious place for resolving something like this if the parts can't agree.

But apparently Jason only has access to "layer attack dogs" who are unable to help resolve issues and respond to anything with C&D letters. I am just happy I am not Jason, it must really suck to work for a company who can't provide even basic legal advice to it's employees dealing with outside contacts.

It sure was. Why else would he talk about Sun releasing Java under the GPL, when they had controlled it for so long? Because he's talking about software corporations embracing community, instead of controlling community.

He was saying exactly what I thought he was saying - e.g. why do we need TFS when we have subversion, or MSBuild when we have Nant?

You're focusing on a specific detail, which is why you are missing his point. He did say that, but that was a small part of his whole message, and certainly not his point. You're missing the forest for a tree.

As for MS and the developer community, it's alive and kicking. Go check out MSDN and the MSDN forums. Go check out the patterns and practices group and how they've encouraged community participation. Go check out Codeplex.com.

I have no doubt that there are people out there who are creating software for MS Windows. People still develop Amiga software and Atari 2600 cartridges. But MS developers are largely vertical developers. Their software scratches an itch and doesn't interact with anything else. It's disposable software -- you can only use it with this generation of application or platform. It won't work with tomorrow's upgrades. Far and away, the software used by the average user is provided by MS. No 'homegrown' Windows software ever finds it's way to a users desktop, without first passing through the gates of MS.

On Windows, I would bet that the three most widely used applications are IE, Outlook, and Word/Office. All provided by MS. Like I said earlier, MS wants to be the sole provider of *all* software on your Windows computer. If something they don't control begins to appear somewhat popular, they either squash it or buy it out. They want to be the sole provider, controlling everything.

Comparatively, almost everything in Linux was written by a different person or organization. Some of those command-line utilities are 20 years old, and still going strong. Tools such as 'grep' and 'find' works just as well today as they did 20 years ago. What industry protocol has ever come from a small-time MS developer? Almost all of our modern computing standards -- ftp, http, email, came from small-time unix developers. Neither MS nor its developer community have made much contribution to computing in general.

"All the manager had to do was say the EULA says "xyz," - they did say that - twice.

Developing addins for Express edition is a violation of the EULA. The manager stated that he made numerous attempts to resolve the situation. They explained that companies are not permitted to ship addins for Express. Jamie ignored them.

As the manager says after "close to two years of trying to avoid escalating this situation, we felt compelled to deliver our message in a different form".

If you are using test cases chances are you are a professional developer. In addition in the spirit of Express you should probably be writing your own test case engine and not using someone elses.

Jamies actions are clearly not in the "spirt" of the express edition, they are also legally out of bounds - it's unfortunate that he was so difficult about the situation.

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.

BTW, subversion can be used over WebDAV, which is arguably even more open than some web service, since it's completely standardized (as opposed to an openly accessible, but undocumented RPC interface).

And in hundreds of posts here, no one seems to be able to cite the part of the license that the guy is in violation of. You seem to be convinced, so you must have seen it. Why don't you post it here?

So with all this absence of any form of proof about the illegality, it seems MS screwed up here, and should simply live with the consequences instead of citing 'ethos'. Microsoft preaching ethos, bah. When the fox starts preaching, look to your hens.

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.

"All the manager had to do was say the EULA says "xyz," - they did say that - twice.

Developing addins for Express edition is a violation of the EULA. The manager stated that he made numerous attempts to resolve the situation. They explained that companies are not permitted to ship addins for Express. Jamie ignored them.

The manager made it abundantly clear that Microsoft claims that developing addins for Express edition is a violation of the license. For two years he persisted in not saying why he believes this is (in terms of the license as opposed to the "ethos") a violation.

Whether or not something violates a license is determined by the wording within the license itself, not by what the company that wrote the license decides to claim after the fact.

After reading the correspondence, I will grant that Jamie may be partially at fault for not more explicitly asking Microsoft for their basis for saying that developing addins for Express edition is a violation.