“What’s the best way to attract a pile of threatening lawyers’ letters from Microsoft? Sell pirate copies of Windows? Write a DRM-busting program?
Londoner Jamie Cansdale has just discovered a new approach. He had the temerity to make Redmond’s software better. As a hobby, Cansdale developed an add-on for Microsoft Visual Studio. TestDriven.NET allows unit test suites to be run directly from within the Microsoft IDE. Cansdale gave away this gadget on his website, and initially received the praises of Microsoft. In fact, Microsoft was so pleased with him, it gave him a Most Valuable Professionals award, which it says it gives to ‘exceptional technical community leaders from around the world who voluntarily share their high quality, real world expertise with others’. However, his cherished status did not last.”
This just demonstrates again that free is not Free. ‘Nuff said.
violate the EULA, but this is a very bad PR move by Microsoft. If they are worried about the impact of TestDriven.NET with regards to their Professional VS.NET then in the first place they should have not given it for free, or could have at least disable adding of plugins in it.
I’m still trying to wrap my head around the whole situation. It’s not clear to me if TestDrives product violates the Visual Studio .Net Express EULA or not. Apparently it’s not really clear to anybody else either.
If somebody can quote the portion that says that 3rd party add-ons are prohibited that would be great. I can’t find the EULA on-line anywhere. Apparently you have to install the MS software to read it.
National Instrument’s LabWindows product has a Visual Studio plug-in. No one really claimed that they violated the EULA by doing that. The programmer must have done something else (unknowingly) to fire up MS’s ass.
Does this surprise anyone?
Developers, developers …. lawyers!
“…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 any technical limitations in the software.”
Technical limitation of VS.NET Express is that it has no built-in unit testing or any testing suit. Plugging in Testdriven.NET violates the EULA.
Not having the information in front of me, where does it say not being able to test is an intentional limitation? If anything that enhances VE is then considered overcoming a technical limitation, then people will need to stop enhancing it.
Without a clear definition of the technical limitations, that clause in EULA is simply a legal tar baby.
Edited 2007-06-07 17:24
Well I’ve followed several blogs posts about the issue. I guess the most relevant one is at:
http://blogs.msdn.com/danielfe/archive/2007/06/01/testdriven-net-an…
As far as I understand, VS Express editions remove any extension functionality from the user (but cannot remove from the Core, since it’s very modular like say Eclipse). However TestDriver.Net developer somehow found a way to circumvent the limitations (that requires registry hacks and special user actions in VS Express to inject code). This is the main issue at hand. (Bypassing techinical limitation by hacks).
Nevertheless Microsoft is not happy (they only distribute Express as free as long as there are no plugins. Otherwise their $299 standard edition would be obsolote). Thus for nearly 2 years they’ve been warning him to remove Express support.
For a long time he compiled, and now for no apparent reason he decided to support Express editions again.
It’s roughly like this…
That would be it then. Thanks for the link.
“Bypassing techinical limitation by hacks.”
Which is legal in the UK as there’s no DMCA here.
It’s just a matter of who has the better lawyers, no prizes for guessing there.
I don’t think the DMCA is an issue. The MSVSE EULA is. No LAW has been broken.
MS claim TestDriven.Net is illegal though they don’t specify which laws have been broken.
Microsoft believe their EULA to be law – so they don’t want to be specific because it means that it could highlight the whole issue of EULA not being valid, especially in Europe. That would open a very nasty can of worms for MS.
No, that’s wrong. The MSVSE EULA doesn’t stand above the law and if it contains restrictions which are forbidden by law, these restrictions are nullified.
I don’t know about the UK exactly, but the situation in Germany is that it is not allowed to include such clauses. If you buy or license any product, including software, you have to be allowed to customize it to your needs. It also cannot forbidden to give advice to others customizing theirs or providing tools for it.
So MS could not enforce this clause in Germany (and most probably UK, too), because the _clause itself_ is against the local law.
Microsoft has better lawyers than developers.
That blogpost is the lamest ever written. Claims about TestDriven.Net being illegal. Puhlease, it is at best a contract violation which isn’t illegal in any sense.
Dan Fernandez is a developer and not a lawyer and he writes so several times when met with critical posts pointing out weaknesses in Microsoft’s attack.
Add to that that US law cannot be applied to UK and add to that that MS claims Jamie Cansdale has replaced functionality that has been removed. You cannot replace something which isn’t there. He is using available technology to clone functionality available in other products. Perfectly legal I might add.
However, it may break the EULA but again. He doesn’t. According to the EULA it only limiits rights he hasn’t got according to law.
But again. He has the right according to law, and it overrules the EULA.
End Result: Microsoft is wrong, and Jamie Cansdale is right.
dylansmrjones – What did you smoke today dude?
He is injecting code in Visual Studio to bypass a limitation. How is that not illegal? It is like injecting code in Adobe Photoshop to bypass license validation.
You really need to put your hate aside first to see clear.
Which again, is not illegal in the UK because there is no DMCA. ‘Hacking’ to provide interoperability is completely legal in Europe. So it’s ‘what’s your American government smoking’ that you should be asking.
It is not illegal. It is perfectly legal in Denmark.
A Contract Violation (which an EULA violation is) is not illegal. He can be sued but in this case all MS can do is at most to remove his license for use of VSE (Visual Studio Express). And even that is in doubt.
There is nothing illegal about it. It is legal in EU. Understand that. Legal. I have as a citizen in Denmark that right. And you know what. I cannot even surrender it. That would be illegal and therefore void.
Hey in that case – how do i immigrate to denmark:) Or alternatively – did any big product based software company ever flourish in Denmark?
You would have to ask our Foreign Minister about that, but buying a ticket would probably be a good start. There is a Royal Danish Embassy in Washington D.C. Go there.
And yes. We have several very successfull big product based software companies in DK. Microsoft and IBM tend to buy them though. It appears to be a cultural trait. Danes tend to prefer handling smaller companies selling them off when they grow big and then use the money to fund yet another company later to be bought by MS or IBM and again using that money to start a third company. That’s the circle in DK.
By ‘Injecting code’ you mean using published Microsoft APIs to extend Visual Studio?
In civilized countries -such as the UK- it is not illegal to write software that will “bypass a limitation”, nor is it illegal to distribute this software.
Regarding your bad analogy of writing a crack to remove Photoshop’s license validation, this too is not illegal in this country. Neither is distributing it.
Distributing a cracked copy of Photoshop without an accompanying license is illegal. Writing and distributing a crack is not.
In civilized countries -such as the UK-
Oh, come off it. Speaking as a British citizen born and bred, the UK isn’t /that/ civilized – especially when its Prime Minister chooses to act as the American President’s Viceroy in England, instead of the Prime Minister of Great Britain and Northern Ireland.
Not so British as to see a sarky comment at 20 paces though. 😉
Southerner eh?
Just kidding!
He is injecting code in Visual Studio to bypass a limitation. How is that not illegal? It is like injecting code in Adobe Photoshop to bypass license validation.
Don’t you think that’s a bit black and white? Is there not a case for legitimately injecting code?
For a long time he compiled, and now for no apparent reason he decided to support Express editions again.
Clearly you didn’t follow the issue close enough. He supported the Expression edition again because MS wasn’t clear and/or didn’t state which part of the EULA he violated.
Again. It is only the End User who can violate the EULA and not the developer. At most Jamie Cansdale can lose his license to use VSE but that’s all. He is not responsible for End Users plugging in extra functionality.
And again. He is living in UK, not USA. Or put differently. He lives within EU and as such as rights that the EULA attempts to limit, rendering the EULA void and null.
I’m not willing to be rude, but as far as I have seen, the whole thing is more about Microsoft threatening a developer to strip-down his code rather than fixing their own stuff.
The responsibility of breaking or not breaking the EULA is the user’s. From what I’ve seen on the blog entry that sukru has kindly linked, Cansdale is really “working around” a limitation. However, from a programmer’s point of view, Microsoft could have fixed the issue (after all, they even know *how* the limitation is circumvented). Nevertheless, it seems they do value their own corporate culture. It’s a fortunate thing they have gone through the process typical for lawyer ignorance so often that people have learned to ignore them.
“…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 any technical limitations in the software.”
There was no technical limitation to work around in the software. By technical limitation, I mean there was no mechanism preventing the plug-in to run in the first place. No technical limitation, no violation.
Microsoft botched it here, not TD.
The VS.NET Express plugin support alone violates the EULA. MS should have removes plugins support from VE if they were serious about this EULA point.
They should have, also, not made VS.NET API available for everyone to see it on MSDN if they were serious about forbidding plugins being developped for VE.
I hope this guy starts focusing his abilities on open source, to hell with MS.
They’d make it impossible to use add-ons short of replacing DLL’s and assemblies from the Professional (not free) versions instead of hoping to prevent it from within a EULA.
The natural result of publishing software that has functionality built-in is that if it is possible, people will find a way to use it, if there’s sufficient reason to do so.
If Microsoft wants to make a Lite version of a paid product and be assured nobody will have access to features that they want people to buy the non-free version for, the only safe bet is to simply not have that code shipped in the free product: as soon as they do that, the EULA doesn’t need to be as complicated, and they wouldn’t ever have this sort of mess, assuming users don’t somehow replace the DLL’s from the free version with the DLL’s from the paid version.
Being a developer myself, I suspect what has happened is that it was considered a bit of a hassle (for whatever reasons) to remove all that, and perhaps stuff would break, or there’d be a lot of #ifdef’s strewn throughout the code, so they decided to attack the problem mostly from the legalese end of things.
Microsoft, the cat’s already out of the bag: the best you can hope to do is take away its tuna!
Also, the only way to be sure that someone can have their cow without getting the milk for free is to remove the udder
Edited 2007-06-07 18:15
How does this have anything to do with “laziness”?
(The notion that software developers, a profession known for long hours, are “lazy” is laughable to begin with.)
It seems that you didn’t read the blog cited by sukru. Seems that most didn’t so I’ll go ahead and quote it:
http://blogs.msdn.com/danielfe/archive/2007/06/01/testdriven-net-an…
“TestDriven.NET and Express – Technical Information
I quickly wanted to respond to questions or misconceptions raised in the comments of my previous blog post.
A common question or misconception in the comments is saying that if didn’t want extensibility we should have provided technical limitations to prevent extensibility (see comments: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, and 18).
Express Extension Workarounds
To respond, Visual Studio Express extensibility is limited in a number of ways. One way it is limited is that it does not permit extensibility through Macros, Add-Ins, or Packages. It attempts to reserve these limitations by technical means. Some examples of these technical limitations are that there is no Macros IDE, there is no Add-In manager, and registered Add-In’s and Packages are not loaded at startup. The only way to even extend Express is to work around these in-built technical limitations and that is prohibited by the License.
For a high-level overview on how TestDriven.NET works around technical limitations, here’s a response from our development team:
**
The TestDriven.NET product is implemented as a Visual Studio Add-In. In the Visual Studio Standard, Professional, and Team System SKUs, TestDriven.NET is installed as an Add-In and gets loaded into the IDE through the Add-In Manager. In the Visual Studio Express SKUs, because we disabled extensibility (macros, Add-ins, and VS Packages), the Add-In Manager is removed and therefore Add-Ins are not detected or loaded. Jamie has created additional components specifically for the Express SKUs to work around this technical limitation. He takes advantage of an extensibility point that allows user controls (such as a button class) to customize entries in the Properties window. When his property extender gets called, he executes code that finds, loads and injects the TestDriven.Net assembly into the Express SKU’s running process, thus replacing the functionality of the removed Add-In Manager. This explains why he instructs Visual Studio Express users to open the Properties window in order to enable TestDriven.NET. Once his code is injected into the Express SKU’s running process it can add menu items, enable features that were disabled, and in general take over that instance of Express. These special loading mechanisms that Jamie has built exclusively for the Express SKUs are unauthorized workarounds to the SKUs’ technical limitations.
**
For an analogy, this would be comparable to someone working around the technical limitations in the personal version of TestDriven.NET to unlock features in the professional or enterprise versions for free.
What complicates this even further is that this isn’t a developer doing this for his or her personal use or experimenting with our product, this is a business trying to sell a product. We tried for close to two years to get Jamie to stop releasing the Express version of TestDriven.NET without success.
I hope this helps clarify some of the questions or misconceptions surrounding this issue.”
So, the front door to third party add-ins is completely closed. The “back door” exists, because they still need to allow users to make and use custom controls. Microsoft also needs a way to still let first-party addins work (e.g. XNA). I think it’s reasonable to believe that removing the add-in api and issueing the EULA would be enough. Better that than adding mountains of code to prevent hacking (like requiring that custom controls be digitally signed or whatnot), which would merely add bloat out of fear that a developer decides to be hard-headed. And even after adding such code, someone will still find a way to hack it if they persist long enough. That’s why there’s the EULA. If it were possible to make hack-impossible software, there’d be no need for EULAs in the first place. It just bugs me when someone calls another person “lazy”, when the accuser hasn’t a clue as to whether the accused worked hard or not.
What I see is that Microsoft decides to work with its developer community by issuing a free version of its IDE, and this is what they get in return. I just hope that they continue with their plans for an Express version of VS 2008, due this year.
I have worked on commercial software that’s probably at least as large and complicated as Visual Studio, and I know from first-hand experience that:
1. If you ship a way to do something in code that you don’t want people to use, it will be used anyway, regardless of EULA
2. Any software that has any hooks at all that allow extending it will find developers and users using it as they see fit
3. As onerous as hard-coding (in code) the information to link to anything is, that IS the only way you can prevent people from extending one mechanism originally meant for one thing from being used for another
Yes, I’ve seen it done on large-scale commercial products. Yes, it’s a real pain to develop around. Yes, it does add bloat. Yes, it’s fully necessary if you are that paranoid about people getting more out of a freely distributed binary than you wish.
Microsoft simply didn’t analyze the situation carefully enough to cover their assets, as what was done by this developer fits the definition of legal in a large number of other relevant jurisdictions, despite all their protests. Thus, they hoped that what is effectively “security though obscurity” (non-obvious methods to extend the functionality in unexpected ways) wouldn’t be used, combined with the hopes that a EULA (which is not fully enforceable in those same jurisdictions) would give them sufficient stomping power to keep this from happening: they paid a few very expensive lawyers to type up some stuff that might have taken them a few hours to analyze, as opposed to spending many more developer man-hours to provide a fully-secured-from-extension Express version.
So, yes, my assessment about Microsoft being “lazy” in this instance still stands, and it does so on technical merits I am more than capable of relating on personal experience in the field.
All that being said, yes, it’d be nice if VS 2008.NET gets an express version, but I wouldn’t be the least bit surprised if they learned from this fiasco that they have to do it via the method I just described.
That post carries no value as stated earlier. Besides that the EULA is void and null.
Really?
What I see is Microsoft giving away a crippled version of a product with most of the important functionality removed, banking on the upsell. Somebody came along with a nice fix that makes this product (barely) usable. Microsoft throws a tantrum because he messed with their business model.
In the 1980s Honda used to sell a lot of cheap, stripped-down cars for very little profit. These cars had no amenities, which Honda hoped would prompt buyers to shell out for expensive add-ons (A/C, power steering, side mirrors, etc) or more upscale models. This practice continues (albeit with greater margins) to this day.
Honda, though, won’t threaten to sue you for selling a side mirror kit. Nor should they.
Microsoft made a conscious choice to strip out functionality, yet leave in hooks when releasing a free version of their IDE. They’re allowed to be upset, but he didn’t break the rules.
They “disable” extensibility and make it hard to enable it. But they didn’t remove extensibility from Express edition because, well, they needs it themselves and they don’t design extensibility to allow fine-grain feature tuning, like add-ins not be supported anymore.
Bad move.
Because it’s what they should have done. And could.
By removing add-in API from VE Express SKU, for a start.
But they don’t. Instead, they added another paragrah in the EULA. Sounds weird, but its what happens when you hire lawyers instead of software engineers…
Edited 2007-06-08 12:40
I can’t agree more.
But everybody knows MS is not a software company anymore. It’s a huge IT lawyers cabinet now.
I can’t help but wondering how management thinks sometimes. Consider the following.
Microsoft is supposed to act in accordance to gaining profit to their shareholders. Their brand is worth billions.
Considering MSFT probably buys media for several billions all over the world every year. Now they have some bloke who just costed the brand probably several million dollars by demolishing the brand even more.
Not that I’m a shareholder, but assume that I was for a second. I’d want to see this guy fired, straight away! By being customerorientated we will gain money. By suing your top breed customers, future doesn’t look so good!
Now, who will fire this guy?
Ms thought it could be the crack dealer again and give this free product away, get you hooked and sell you an upgrade.
This guy got around it and according to him he didn’t use anything that didn’t come with VSE
If MS has a problem then make a low cost version of VSE that has the features of TestDriven.NET and take the guys business!
This is as silly as when MS threatened to sue the guy who came up with MikeRowesoft.com or when they sued Lindows.com. LOL!
Come on, monkey boy needs to grow up, make better products and sell them on the basis of how good they are and stop pushing around single developers.
Microsoft offers armchairs for sale. If you don’t want to purchase an armchair you can get it for free as long as you agree to use it as a stool. If you add a cup holder which is attached to the armrest, has the creator (or the user) of the cup holder violated any agreements? Not in my opinion!
He has (based on the correspondence) repeatedly asked from MS for concrete explanation of alleged violations of copyright and eula but didn’t get any, even after showing good faith and omitting functionality as per MS request for a period of time. Very typical of MS, if you ask me (FUD).
On a different note, some people here are implying that the developer has in some way “hacked” ms product. While “hacked” in its essence is a neutral expression, the context in which it was used serves to “paint” the developer as a malicious person. I tend to think that this is uncalled for.
Microsoft offers armchairs for sale. If you don’t want to purchase an armchair you can get it for free as long as you agree to use it as a stool. If you add a cup holder which is attached to the armrest, has the creator (or the user) of the cup holder violated any agreements?
Ugh, let’s be fair. As long as the agreement specifies that you do not have the right to work around limitations (which includes adding a cup holder), you have violated the agreement. The situation you brought up is quite similar to this one — VS Express does not include support for add-ins, what Cansdale has done is work around this.
The issue here though is that 1) this blatantly looks like a bug in MS’s own stuff and 2) that the interdiction is placed in the End User license agreement. So basically (ignoring the fact that, since Cansdale lives outside the US, MS’s letters are empty threats) we can argue on whether Cansdale is really violating the agreement by including support for VS Express. After all, even though the support is there, if you are a kind VSE user and care about MS’s financial fate, you just won’t install it.
Ah … the vagueness of EULA or yet another analogy
If MS provides a crippled excell with omitted say “sum” function and says you can’t enable this function with a workaround, does that mean that i can’t write my own “sum” function using other functions? Do you see a problem with their position now.
Excellent point.
“As long as the agreement specifies that you do not have the right to work around limitations (which includes adding a cup holder), you have violated the agreement.”
No you haven’t. Just because someone put something in an agreement does not mean it’s legally valid.
If only Microsoft spent more time innovating and writing better code instead of trumping up law suits or generating FUD, Windows might actually deserve it’s place as the most installed OS
Edited 2007-06-07 20:10
Dan Fernandez’ blog post regarding the technical details of the way that VS Express was hacked to run a 3rd-party add-in, has already been cited above.
http://blogs.msdn.com/danielfe/archive/2007/06/01/testdriven-net-an…
However, I want to cite Dan’s blog entry that was previous to that one.
http://blogs.msdn.com/danielfe/archive/2007/05/31/visual-studio-exp…
This post gives an overview of the purpose of VS Express, how the developers of it had to convince upper management to go along with releasing it and keeping it free (we’ll see if the upper management allows VS 2008 Express to be released in the face of this matter), and describes the history of this controversey from Micosoft’s perspective (since the article that is the impetus of this thread only gives one side of the story). Basically, the “ethos” of VS Express is that it’s a free version of Visual Studio that is aimed at beginners and hobbiests (though can still be used to create commercial apps), has a reduced feature set to prevent it from cannibalizing the non-free versions of VS, that feature set reduction is enforced both by technical limitations and a EULA, all third-party addin devs have honored this “ethos” except for one, and Microsoft has been dealing with that one dev for nearly two years now (i.e. they didn’t rush out the lawyers).
http://blogs.msdn.com/danielfe/archive/2007/05/31/visual-studio-exp…
Visual Studio Express and TestDriven.NET
* Updated with follow up post on technical information in response to the comments.
While I’m not a lawyer, my team owns Visual Studio Express and I wanted to respond to the concerns expressed by some over our recent communications with Jamie Cansdale of TestDriven.NET. TestDriven.NET is a 3rd party add-in to Visual Studio that provides testing functionality in Visual Studio. To be clear, we have no issue with the product (or Jamie for that matter), or its sale for use in professional versions of Visual Studio. However, Jamie has also made available a version of his product that extends the Visual Studio Express Editions which is a direct violation of both the EULA and “ethos” of the Express product line.
As you may remember from my previous posts, 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. 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. It doesn’t make business sense when our biggest and best partners are legally unable to extend Express, yet Jamie’s company can.
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.
The Express Customer
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. Heck even professional developers with years of programming experience can’t program FizzBuzz.
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.
If the choice was between not ever having released Visual Studio Express (or not releasing it in the future) or having Visual Studio Express with an explicit limitation to block extensibility, which would you chose? As an advocate for the (wholly neglected) beginner customer and as an employee that understands Microsoft is a business at the end of the day, it seems like a perfectly reasonable tradeoff to make that, in the end, provides the best tools possible to an entire class of customer that may never have picked up programming without it.”
Here are a couple more of Dan’s previous blog entries.
The first was made during his fight with management to create VS Express, let it be permanently free, and let it be usable for commercial use. (He was losing the fight at the time he made that blog entry, but eventually won (he refers to that as a “small miracle” above). So you can see why he’d see that this developer “Jamie” is basically slapping him in the face and is putting VS 2008 Express at risk.)
http://blogs.msdn.com/danielfe/archive/2004/04/14/113582.aspx
The second describes his teams goal in energizing the hobbiest community on MS platforms with VS Express, XNA, HomeServer SDK, Flight Simmulator X SDK, (and I’ll add, their recent Robotics SDK).
http://blogs.msdn.com/danielfe/archive/2006/08/10/the-hobbyist-rena…
Edited 2007-06-07 20:47
You’re missing the point. I’m sure Dan’s a nice guy and his motives for getting beginners hooked on VS are very noble, but that doesn’t forgive the way they treated an independent developer who made their product better via public APIs Microsoft itself had published. Your attempts to portray them as charitable victims is directly contradicted by the correspondence and their actions. No amount of backstory or PR changes that.
Oh, come off it.
I’m sure it suits the Microsoft management to be seen to be very generous and “graciously” allowing home users and the mythical “hobbyists” to use Visual Studio Express.
Realistically, it has much more to do with “getting them while they’re young”. I’m sure Microsoft would much rather that people just starting out programming learnt using Microsoft tools rather than Python or Mono or (horror of horrors!) trying Linux.
Visual Studio Express, like every single other freebie Microsoft gives away has nothing to do with generosity and everything to do with reinforcing Windows lock-in.
Interesting. A free IDE where the restriction is you can’t enhance it. I’m sorry, but if I were a “Hobbyist”, what in the world would drive me to develop using a neutered IDE vs something like eclipse or netbeans especially since I would want to learn about test driven development.
I like how you’re allowed to “develop” commercial applications using express as long as you do it old school.
Some points on this issue:
1) During the lengthy email correspondence, Jamie (the TestDriven.Net developer) asked what part of EULA his product violated, and why it was in violation. He got no answer. He obviously put a lot of time and effort into building his product, and to suddenly pull the plug on it for what seems on surface level (without explanation) arbitrary reasons, would be ridiculous.
2) To do the plugin, he simply called a public API. The mere existence of the API should make it’s use permissible.
3) Clause 9 of the EULA, which is what MS lawyers finally, after 2 years, specified what TestDriven.Net was in violation of, says you can’t work around technical limitations.
This is silly, because either there is a true technical limitation (thus desired functionality is completely impossible) or there isn’t, and someone can find a way to achieve the desired functionality. Thus, clause 9 of the EULA is an oxymoron, and irrelevant and unnecessary.
4) Even if clause 9 of the EULA wasn’t an oxymoron, Jamie still just called a public API. The existence of a public API means there was no technical limitation, period.
5) MS could much more effectively solve this whole issue if it simply removed the public API from VS Express, and modified the EULA to be very specific about not allowing (legally) plugins for VS Express edition.
But, alas, they left in the public API, making a plugin technically feasible, and the EULA was non specific about plugins, making it legally feasible (at least it’s a gray area).
It does not matter what Microsoft’s intention or business strategy with giving away VS Express is. They left things open, both technically and legally. So they only have themselves to blame for the whole situation.
6) MS are being flaming hypocrites here. They exploited a flaw in the wording of the GPL v2 in order to establish the agreement with Novell (and other Linux vendors), and intimidate Linux vendors and customers to pay bogus licensing fees on bogus patents (bogus until they reveal them explicitly). Clearly, MS did not violate the letter of the GPL, but they most definitely violated the intention, or spirit, of the GPL .
But, alas, instead of suing, the FSF is strengthening the GPL in v3, so that patent agreements like the MS/Novell one will apply to all users of GPL software.
And, MS violates other people’s licenses and IP, whether it’s the letter of the license, or the spirit of the license, all the time. For them to cry foul over TestDriven.Net (a product that helps promote the .Net ecosystem, and help gain developer mind share, by the way) because it might violate the spirit or intention of the EULA for VS Express, is utterly hilarious.
7) It’s not wise for MS to bully one of their own (a two time MS MVP). What does that say to other existing or would be .Net/Windows developers or ISVs?
It says:
“Be careful which public .Net/Windows API you use, because you might violate some obscure, non-specific clause in Microsofts EULA, and MS might sue you”.
Not a precedent MS wants to set, methinks.
I’m pretty sure it does. The code of an interface can be protected by copyright, but the interface itself can’t. I’d venture that if the applicability of the GPL ever fails a challenge in court (ie. with the validity of proprietary drivers, for instance), it will likely be on the basis of that argument.
I think this is one case where Sega v Accolade leaves Microsoft without a leg to stand on. Sega tried to use protected code to enforce licensing restrictions on game cartridges, MS is using an EULA, but both approaches rely on copyright law for validity. Since the court threw out Sega’s argument in a precedent-setting decision, I don’t see how MS would have legal recourse here, even if the developer was US-based.
In fact, even if MS tried to rely on some sort of code signing mechanism to prevent infringement with Express, I don’t think the DMCA would even prevent circumvention despite it’s limited fair use doctrine. MS left the barn door open here, it was only a matter of times until the cows figured it out.
But as with most posters, IANAL, so take this with a grain of salt.
Thats why everyone here should spend thier “free time” writing GPL only software so this kind of crap doesn’t happen.
What a waste of talent.
-Hack
Don’t mention the GPL!
(I said it once, but I think I got away with it)
The open source way: add useful new functionality to a programme, and everyone will thank you.
The Microsoft way: add useful new functionality to a programme and get threatened by the legal heavies.
This has to be one of the best adverts for free/open source software there’s ever been.
of what Princess Leia said to Tarkin: “The more you tighten your grip, the more star systems will slip through your fingers.”
The days of closed-source are numbered.
Of course, Tarkin then blew up her home planet. Lesson: you may be right about the bully eventually losing, but be prepared to get wedgied at least once.
This guy’d be much better off working on the Mono project.
Jason Weber: “As we have discussed since December Jamie, we would like to see you harness your passions around TDD and build extensions to the Visual Studio Standard, Professional, and VSTS products.”
This is why you should never:
a) Trust Microsoft
b) Code any applications using their development tools
Stick to open, non proprietary languages and you’ll be right.
Dave
He entered into a “good faith” agreement when he accepted the terms of the EULA. Matters not if he is in the U.S., the EU, or on Mars.
He might not have directly violated any law, but he has damn sure violated an agreement between himself and MS.
You can knitpick this one to bits, and he’s still wrong.
You can knitpick this one to bits, and he’s still wrong.
If you read what the microsoft lead had to say, he said (paraphrased) : “I can’t tell you what part of the EULA you violated, the EULA has to be interpretted by our lawyers, I’m only a developer.”
In the past, I remember Bill Gates saying the same thing so, ever since, I stopped reading EULA’s– I’m not a lawyer, I started to think.
>a) Trust Microsoft
>b) Code any applications using their development tools
>Stick to open, non proprietary languages and you’ll be >right.
>Dave
But is this is how one makes a good living, what options does one have? In any case using MS tools is quite funny from a technical point of view.
“But is this is how one makes a good living, what options does one have?”
You could argue the same for selling crack or being a hitman.
Surprise: people makes a good living and have fun too using non-MS tools.
One have always the option to change. If you feel MS-tools users doesn’t have it much, isn’t the clear sign that MS’s hook’n’lock strategy is working fine?
I do agree with the above posts that the express edition is not there out of the kindness of Microsoft’s heart. It’s there to get developers into the Microsoft path, it’s the same reason why you can purchase the full VS.NET for peanuts when at university.
I don’t see what the big deal is myself.
Fist off the guy is writing extensions to another company’s product, which always opens you up to either this kind of thing or you are rewriting your plugin as the company makes changes to the product. In both cases you need to ready to deal with the situation. I think the man did just fine in standing on his own two feet and handling the situation.
Second as to MS I don’t see a problem either, they worked with the guy for months trying to resolve the issue and at the end lawyers got involved to sort out it out as it really is a legal issue with licensing (at least from MS point of view)
This kind of thing happens every day in the industry.
I don’t see how this is even newsworthy.