Microsoft Vs. TestDriven.NET
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."
And once again... in proper english
You'll find that Microsoft is about to release their own Unit Test add-in...
Hehehehe. Editors. Good one...
This guy's the limit!
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.
Simon.
Don't like microsoft but the same issues apply to any other license like creative commons and gnu.
If you don't agree with the license terms of the software/artwork/music then don't use/extend it.
She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.
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.
I prefer mingw studio anyway..
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?
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.
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 ?
try { do() || do_not(); } catch (JediException err) { yoda(err); }
Now all you have to do is to point to the exact terms that he's in violation of.
You have no "right" to do anything in conjunction with any large, lawsuit-happy software company's product, if you're not going to make enough money off of it to defend yourself against baseless lawsuits (whenever your project goes against corporate strategy, yes very often against their strategy of planned obsolesense or feature-reduced - here, "express" - product versions).
This is why more and more non-commercial third-party software gets released only for open platforms. It would be trivial to port many, many FLOSS projects to the Windows world, since many of them have almost no kernel hooks, use little to none of the API's that software on top of the kernel (such as KDE), provide, and in fact often have been written in a platform-independent and modular way from day 1. But time and again you see only someone completely unassociated with the project be the only one to provide windows binaries, which the maintainers of the project then proceed to link to. Now you see why.
I said the same thing too. Reading that response just said to me "we don't like what he did, we didn't plan for it, but since we're a bigger company, he needs to show respect and stop."
When has Microsoft ever played by that rule? Microsoft did to IBM and Apple what Jamie did to Microsoft- find a method to extend and exploit the functionality of someone else's product. Nobody can produce the EULA language that shows a breach, only vague references to "but that'll hurt our business plan!" It's sad that no mind at Microsoft can conceive of a compelling argument why Jamie is wrong.
Hmm, I know where the MS lawyers found them too. They stole the following: "Jamie Cansdale released a free addin to Visual Studio back in 2004 to help developers build unit tests. His only problem was, he enabled his addin for all versions of VS - including the Express addition which isn't supposed 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."
I use these tools daily.
Kind in mind: This argument is about the integration of a well-known tool into Studio, not it's use altogether. One can use these tools with Express via their independent UI's. MS is merely trying to keep the floodgates closed on the Express version because it's in their profitable pocket to sell that "integration" feature. There are quite a few tools to cram into Studio, not all good IMO. For the "folks at home" cracking out Express, good for you, but learn to use all the individual tools separately, not the integrated versions, the skills will transfer to other toolsets much more easily.
If you work in the industry, you usually get an MSDN membership ships all MS's top products (either partially or fully paid by your employer). If you don't, you may not really be in the MS development world - almost everything they ship has licensing costs. It's just part of their development world. (I'm avoiding the FOSS discussion here).
Personally, I purposefully dislike add-ins to Studio, as the bloat turns it into an all-in-one behemoth that (like Office) scares me.
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...
Loading...
Translation: "Jamie is interfering with our attempt to devalue various Free Software tools."
Translation: "Microsoft legal doesn't understand the value of giving away software"
Translation: "Our code base is such an encumbered mess that disabling features was an arduous task."
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."
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."
(No translation needed - it just doesn't make sense! If the extension fits, you must acquit!)
Translation: "Yet almost every time, he has been logical and reasonable, instead of knuckling under."
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."
Translation: "He finally came to his senses and just released the damned thing, so we decided to point more guns at him."
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."
"They're just people who needed a VS IDE to compile some jackass' project."
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
I think the correct phrase here is, "English, motherfucker. Do you speak it?"
- None can love freedom heartily, but good men; the rest love not freedom, but license. -- John Milton
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.
"they would never explain specifically which clause in the license was being violate"
It's a classic example of the differences between the Open Source and the closed sourced licensing model. I think it's perfectly clear, they provide a limited version of the product for free, the license forbids extending the functionality of Express. TestDriven extends the functionality, therefore it violates the license:
'You may not work around any technical limitations in the software'
davecb5620@gmail.com
"This seems like a Xeros machine kind of case. Technically you have never installed nor accepted VS Express EULA so I'm not sure how you could be violating something you never agreed to" [weblogs.asp.net - "Microsoft vs TestDriven.NET - 31 May 2007"]
This is a very true point -- unless he explicitly installed every Express application and agreed to their specific EULAs, he really isn't breaking any sort of law. I feel like, as with the recent Linux patent fiasco, Microsoft is seriously reaching here to try to prove that any F/OSS, or even non-MS developer is working against them for whatever reason. Also, the fact that MS is making sure they hold all the cards by not disclosing what clause is being violated until several months after their initial claim seems fishy to me. I feel as if them threatening legal action without disclosing something like that could be considered barratery of some sort.
In addition, the fact that all those EULAs include clauses about it being illegal to work around the technical limitations of software is total bull. At that point, we're talking about a very real and terrifying situation... having Secunia and CERN be made illegal simply because they publish vulnerabilities. If this clause held, it means that Microsoft can essentially pull a lawsuit against even people who are trying to help them fix whatever bug is present in their software.
This seems very much like the beginning of the end for MS-- they stoop lower and lower each day, IMHO.
He calls TestDriven.NET "illegal" quite a bit. He knows enough about law to know it is illegal, but not enough to know why? That makes no sense.
- None can love freedom heartily, but good men; the rest love not freedom, but license. -- John Milton
DEVELOPERS DEVELOPERS DEVELOPERS DEVEL....nevermind.
(And now, for your pleasure, some filler text to get by the lameness filter. Apparently Slashdot doesn't like it when you post a response mostly in caps.)
"Live as if you'll die tomorrow." Ridiculous. You could die later today.
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?
-Ryan
"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."
Unless I misunderstand you? "Falling on the spirit", is something the GPL crowd does as well. e.g. The KDE/Apple situation, the Google/Tivo situation. Even though there was no "explicit" mention made, and everything was "to the letter".
As I understand it Testdriven.net is a package which you pay for using a free Microsoft release as its core. Now if Microsoft had released the core package under the GPL, you would be able to hear the screams of a million users crying out in outrage at the perfidious actions of Testdriven.Net, plus vows to amend the GPL......
Donte Alistair Anderson Roberts - hi son!
Karma: Chameleon
... how to write clean code, and unit tests. Of course, this makes sense, it is MS we're talking about afterall. ;)
They need to maintain a viable pool of new candidates!
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
My turnips listen for the soft cry of your love
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.
...Open Source isn't the only answer -- but it's almost always a better value than the alternatives...
I'm sorry but if extension is not "allowed" by license, then why is it "allowed" by the software? Seems if they (M$) cared so much about others not being able to extend VS Express, then they would have removed the extension API from the app.
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?
In the past, when Microsoft didn't want something to work, like say, Lotus 123, they would release an upgrade that would run all their stuff, but not Lotus 123.
What's stopping them from doing the same here? Can't they just release a new upgraded version of Visual Studio Express that won't run his stuff?
All ideas^H^H^H^H^Hprocesses in this post are Patent Pending. (as well as the process of patenting all postings)
"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."
Funny you would make that argument. OSS does the same thing with it's "issues" which one hopes "pisses you off" enough to hire some geek to fix (read: sell you services instead of software).
"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."
It's a damn IDE! Nothing more, nothing less.
Yes he does. He makes it clear that add-on functionality is something you get when you buy the Professional version. The FREE version is, like many free versions on many other applications, a "taste" of what you can expect with the full version. If this wasn't Microsoft, this wouldn't be an issue here.
Did you even read Dan Fernandez's blog? He makes it clear: It is contrary to the license, most users aren't asking for it, and Microsoft, a commercial software company, has made a business decision to require users to upgrade to the full version for this functionality. You see, Palladiate, Microsoft sells software.
If you want news from today, you have to come back tomorrow.
They don't want you to extend the express version as it violates there terms and will drive profit away from the "real" products.
But Come on, MS are giving you basically VS.NET 2005 for free with a express edition. A lot of time and effort went into it. All you people complaining about MS protecting their own product should realize that they don't have to give out Express. It's not your right to have the software, they license YOU to use it.
If someone was violating the GPL everyone would be up in arms.
Jamie knows he shouldn't be doing it as he has taken the code down and then re-published it. I would argue that he has purposely created this situation to promote his work/self.
He is clearly on the make...
If anything, this will at least get a lot of people to know this particular extension (which I didnt know)
Regardless on their philosophy, it just shows what Microsoft is all about - showing what little regard they have for the development community and beating up on the small guy, who's not even making any money off it, trying to make the development community a better place to be...
Seriously, I've never see someone so completely reword someone else's words into flamebait, just so they could then flame them.
Nice going there. Good to see that you're keeping up the juvenile flame levels, I was concerned that discourse on Slashdot was getting too mature.
"Trolls they were, but filled with the evil will of their master: a fell race..." -- J.R.R. Tolkien on Olog-hai
From the license:
"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."
Maybe Microsoft is trying to say that he violates the "You may not work around any technical limitations in the software;" clause of the scope section?
It seems clear to me, as a person running a for-profit software company, that free "express" versions of software must be limited in some way so that potential customers will pay for the "enterprise" or "professional" versions of the software.
Why go through all the hassle with this developer (and others that will undoubtly follow) with some (probably) vague writing in the EULA? Wouldn't the easiest solution to simply disable plugins in the actual program?
Or do MS want to write plugins themselves, but not let anyone else do it?
/ The Arrow
"How lovely you are. So lovely in my straightjacket..." - Nny
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.
- The freedom to run the program, for any purpose (freedom 0).
- The freedom to study how the program works, and adapt it to your needs (freedom 1). Access to the source code is a precondition for this.
- The freedom to redistribute copies so you can help your neighbor (freedom 2).
- The freedom to improve the program, and release your improvements to the public, so that the whole community benefits (freedom 3). Access to the source code is a precondition for this.
All MS has done was to let people make limited use of the software without paying."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."
Novell and Tivo.
Thanks, Microsoft, for making this an issue. Had your lawyers not issued a C&D on this, /. most probably would not have posted this story and I would still not know about this cool add-in.
I can see them removing support for MS Team System on the Express versions but nothing else. IANAL but I don't see how integrating NUnit support into the IDE is a violation of anything. If MSFT didn't want you to extend their IDE, then they should not have published the EnvDTE or Extensibility assemblies.
My limited understanding of this area is that Team System still has some catching up to do before it can really compete with NUnit. MSFT should be grateful for TestDriven.NET because it fills a gap in VS.NET that comes standard with its competing IDE, Eclipse.
Even if MSFT succeeded in destroying TestDriven.NET, it still wouldn't crush NUnit which comes with its own GUI that is easy to attach to (and, therefore debug) from within the VS.NET IDE.
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.
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.
Therefore surely it is the end user that is infringing not the developer of the plugin?
Slashdot "editors" do not "edit" submissions. This makes Slashdot "more real", according to CmdrTaco.
o ld=0&commentsort=0&mode=thread&pid=14502339#145024
http://slashdot.org/comments.pl?sid=174297&thresh
This post is not at all a troll. I am not saying things I don't believe in order to elicit a desired response. I am not trolling. Nor is it flamebait, because the intent behind my comment was not to piss people off, but to help bring a light into the darkness.
Shame on you for trying to cause people to mod me down by mischaracterizing my comment. You are part of the problem.
Is there any reason it shouldn't be? Conversely, can't you think of reasons that it should be?
If not, you clearly haven't been paying attention.
Microsoft built a monopoly based on illegal, anticompetitive practices, then persuaded to utilize that monopoly in order to allow them to make use of more illegal, anticompetitive practices.
Once someone has downloaded the product, you can't really stop them from modifying it. You might be able to stop them from distributing their modifications, and Microsoft is about to take that step with THIS modification. But is that really what customers want?
The end result is that Microsoft is penalizing people for using Microsoft tools. No matter what else you say about it, this is stupid.
If Microsoft wants people to use their tools, then they need to offer a compelling reason to do so. And what do they accomplish by these means? Only that they will stop people who want to write stable software from doing it with their free tools. This activity is nothing less than an attempt to set back computing in a vain attempt to secure profits. This is understandable, because they are a corporation, but don't pretend it's noble. It isn't.
Yes, we do. In actuality, Microsoft is out of stupidity refusing to permit some free gift that makes their mediocre software useful.
I don't see what they are doing as wrong so much as stupid and incompetent. If they can only get people to purchase their product through these means, they're only going to chase more and more people away.
But regardless, your asinine attempt to discredit me by incorrectly interpreting the motivation behind my comment (some might assume you did so deliberately) proves nothing about me, and many things about you; although it's hard to tell if it proves that you're an idiot or a liar.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
...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.Microsoft owns Visual Studio and the MSDN. They have the legal right to demand that Jamie Cansdale not modify their product and remove his MVP status. However, it's unfair and shortsighted. TestDriven.NET made doing Test Driven Development (TDD) of .NET code significantly easier. Cansdale is handing Microsoft and .NET developers a valuable tool for free. If Visual Studio Express is aimed at beginner developers, MS should be happy to help them get started with best practices by being able to do TDD.
.NET code without any need to integrate with Visual Studio. NUnit is one of the testing frameworks supported by TestDriven.NET.
One reason for Microsoft to behave this way is that they have introduced their own unit test framework in Visual Studio Team Edition. It's not unlikely that the designers of the Visual Studio test framework looked at TestDriven.NET as an example of how unit testing should be built in to Visual Studio. Serious developers know the importance of doing TDD and will pay for an IDE that supports it. Cansdale is undercutting their sales opportunities by permitting developers to do TDD for free in the Express edition.
Cansdale should stop tickling the tiger, forget about integrating TestDriven.NET into VS Express, and provide a separate interface for VS Express users to use TestDriven.NET to test their code without going through the Visual Studio GUI. No integration, no license violation.
Chapter 8 of my book Unit Test Frameworks http://www.mounthamill.com/about.html describes how to use NUnit to do TDD of
Above is the summary with copy editing enabled. I hope the lawyers don't threaten me too!
Sandcastle replacing NDoc, .NET replacing Java.
Probably more examples too
"if it's so illegal, call the cops"
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
Looks like ZDNet talked to these guys yesterday, and got some more great quotes from Microsoft about altruism and fairness...
Since this is a hobbyist project for Jamie, he just needs to pull the entire TestDriven.Net in protest of Microsoft. Let the developer outcry ring in the ears of Microsoft. He certainly doesn't need the legal hassle. When Ballmer said Developers, Developers, Developers I bet the audience didn't realize that he was quoting MS legal's list of who to sue next.
From the EULA: You may not work around any technical limitations in the software
So if it crashes we can't restart it? And if it hangs we can't kill it? That's working around technical limitations in the software, isn't it?
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.
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.
"Now if Microsoft had released the core package under the GPL, you would be able to hear the screams of a million users crying out in outrage at the perfidious actions of Testdriven.Net"
Like those cries we hear every day about the nVidia drivers or Linuxant wireless drivers?
So, If I 'obtain' a copy of some GPL'd software, I can copy all the code, and sell it as my own product? Maybe it violates the GPL, but its still not illegal right???
Microsoft is a company that wants to make a profit. That doesn't make it evil, it makes it like every other company that exists. They want to exclude add-ins so that you will have to buy the full version to get them. Is it so wrong for Microsoft to want to charge money for software? How many people here work at software companies that charge money for software? Or even - offer limited 'demo' packages for free?
I'm supposed to be working right now.
'Read "ethos" as "business case".'
u s/default.mspx) 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.
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/ws
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.
retarded anti-microsoft posts like this are the reason this site sucks.
and now more retards will mod me down.
no add-ins to the express versions. that's part of the license. it's not unreasonable. you people just like to bitch for the sake of bitching. ugh.
evil adrian
From TFA:
"We may have discussed this at great length, but I was never told what that the "relevant license terms" actually were! I only re-enabled Express support when Microsoft yet again failed to tell me where I was in violation. A straight answer with something I could tell my users would have resolved this."
So yeah, frankly, the whole can't "work around technical limitations" bit of the EULAs ought to be given more press. I think a lot of people violate that term unknowingly, and if it were actually enforced, people would find Microsoft software quite useless.
...Microsoft has always been pretty strightforward in saying no plugins for the Express products, its not a hidden fact.
So the guys fight is sort of a principle of the thing, be a pest fight. He's pretty clearly in the wrong. Sorry of thats a bad opinion on the matter.
Power Corrupts,Absolute Power Corrupts Absolutely, leaving one person(group)in charge is absolutely corrupt.
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.
I also notice that he states here: Back in 1975, Microsoft started out as *the* hobbyist company for a nascient software industry. While many things have changed since then, we always had a special place in our hearts for hobbyists. Yeah, MS has always been the hobbyist's friend, ever since Bill Gates' friendly letter to them in 1975. They've always been open and let people play around with their stuff.
Lying corporate fuck.
"Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
Perhaps you'd be happier reading and posting on another site?
Don't let the door hit you in the ass on the way out.
First thought: M$ must really be grasping at straws to have to stoop to an ethos-based defense...since it's the first time i've ever heard of a Microsoft ethos other than 'Embrace, Extend, Extinguish.' Second thought: Wasn't there a recent article on /. wondering where all the MS hobbyists are? Hmmm, makes you really wonder, doesn't it?
Third thought:
GPLv3 = the meteor
Microsoft = the dinosaur
Always be careful when dealing with the paranoid beast. You'll be the one to lose fingers, not it!
"It's the height of ridiculousness to say for those 9 lines you get hundreds of millions."
Phew, a narrow escape at being Godwinned with references to brown shirts. Glad we missed that.
If you live in a jurisdiction that recognizes moral rights to copyrighted work separate from copying rights, you just might be able to.
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.
/Lars
I love that clause in the EULA - "You may not workaround technical limitations in this product".
I hope they don't decide to include that in the Windows EULA, because if they do I think we're all going to jail.
Microsoft has "ethos"? When did this happen? I figure that would have been big news.
Peter predicted that you would "deliberately forget" creation 2000 years ago...
Because they've become a ten tonne lumbering monster. Yes, they could do this. It would probably take them about six months to get it out of the door. The guy with his unit test framework could probably fix it and have it back up working again in a week.
Deleted
http://msdn.microsoft.com/msdnmag/issues/05/12/Vis ualStudioAddins/
See, even 'They' think it is good...
The job
Ain't done
'Til Lotus
Won't run.
Yea, that part about being the hobbyist company makes my laugh. I've been a hobbyist my whole life, even being given an Apple ][ at age 5. My father has been one longer than I've been alive. Neither of us would ever classify Microsoft as hobbyist-friendly. Heck he got turned off to Apple, and they have always been loyal to enthusiasts. You are right, the whole thing is a lying PR fest.
Did you even read Dan Fernandez's blog? He makes it clear: It is contrary to the license...
...most users aren't asking for it...
...and Microsoft, a commercial software company, has made a business decision to require users to upgrade to the full version for this functionality.
Yes: it's contrary to the Express version of the software. As the developer didn't use the Express version, he is not bound by the Express EULA. He is bound by the EULA he accepted when installing the professional version.
That's the whole point. Microsoft is trying to bind him to a license he hasn't accepted.
So, then, what's the fuss?
The developer isn't bound by Microsoft's business decisions. He is bound by the agreement he made with Microsoft when he installed the professional version of Visual Studio. Again, as he never agreed to the Express EULA, he is not bound by it, no matter what Microsoft might desire in their business decisions.
Microsoft is to software what Budweiser is to beer.
Actually it would absolutely not be illegal or even wrong by any measure point to copy the GPL source code for own commercial use... as long as you make the source code available. It's called "the right to fork" and it is A Good Thing(TM).
News about the Kettle Open Source project: on my blog
POKE 59468,14
READY
LOAD "ZONK:*",8,1
SEARCHING FOR "ZONK.BAS"
LOADING
SYNTAX ERROR AT LINE 20
READY
Seriously Zonk, maybe you should go work for Digg.
-Billco, Fnarg.com
We can bitch. We just don't sue, because there's no legal basis for it. The GPL crowd goes for what's "right", and completely artificial restrictions on usage don't fall under the banner of "right" with us, especially when they're not codified in the contract. We aren't as hypocritical as you'd like to think we are. We're just smarter than you are.
My blog. Good stuff (when I remember to update it). Read it.
I am TheRaven on Soylent News
Because the lawyers and the Express product lead were trying to cover their asses once they realized they:
1) Forgot to disable extensions in the code. Probably because they used the same code for VS Express and VS Pro. They probably thought, "we'll cover it in the EULA."
2) Forgot to modify the EULA to forbid VS Pro users from creating VS Express extensions.
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.
Translation: "It's practically impossible for us to deliver what people actually want."
One day guys like Dan Fernandez, with their incredible, heartrending passion to defeat internal obstacles to actually help customers, might figure out that it's a heck of a lot easier to do that when you live OUTSIDE the Green Zone.
But it's not clear what role "ripping out useful features" plays in actually helping people. Hey Dan, in the open source world, we don't have to cripple products to be allowed to ship them ... free.
you had me at #!
Computers are useless. They can only give you answers.
-- Pablo Picasso
An Open Letter to Hobbyists
.NET, and 2) The real value of Microsoft's crippled products is only $2.
.NET code, but there is very little incentive to continue to use your expensive software. Most directly, the thing you do is alienate users and developers.
To me, the most critical thing in the software market right now is the lack of good Windows software. Without good software and an owner who can afford it, a 3GHZ computer is wasted. Can cheap, quality software be written for a user's market?
A few years ago, Jamie Cansdale, expecting test-driven development to expand, developed TestDriven.NET. Though the initial work took only a couple of months, the he has spent most of the last year documenting, improving and adding features to TestDriven.NET. Now we have 2.5, 2.6, and 2.7. The value of the time invested well exceeds $4,000,000,000,000,000.
The feedback we have gotten from the millions of people who say they are using TestDriven.NET has all been positive. Two surprising things are apparent, however, 1) Most of these "users" never liked
Why is this? As the majority of hobbyists know, most of you know why Microsoft sucks. They know Microsoft must be paid for software, but hobbyist need something extensible. Who cares if the people who worked on the original products at Microsoft never think of it first?
Is this fair? One thing Microsoft does not allow people to do is make improvements on their own crippled software. Hobbyist don't make a lot of money extending software. There is no royalty paid to them for the documentation, the debugging and the overhead make coding fun. One thing Microsoft does is prevent good software from being written. Who can afford their crippled software? What software developer can put 3-man years into programming, finding all bugs, documenting his product and not make it user extensible? The fact is, no one besides the hobbyists invested a lot of time in Microsoft software. We have written WinAPI, and are writing COM and
What about the guys who like your software? Aren't they allowed making money, too? Yes, but most of those may lose out in the end. They are the ones who hate Microsoft products the most, because they really know how much it sucks.
I would appreciate replies from any one who wants to give up, or has a suggestion or comment. Just write to me here at slashdot.org. Nothing would please me more than being able to allow Microsoft to die and deluge the market with better software.
Coderz 4 Life
That means it's illegal to replace Wordpad with MS Office because you will be working round technical limitations of the operating system. It's illegal to write scripts because you are working round technical limitations etc etc.
Deleted
Here's a follow up post detailing how TestDriven does this using Code Injection.
I'll disagree that MS dominance is receding, but the rest of that is spot-on.
There have been multitudes of posts exalting Thunderbird as an "Outlook replacement" just because it happens to be an ok mail client, meanwhile they miss out on what a powerful combo Exchange + Outlook really is. Posts blasting ASP.NET because "PHP can do the same thing". I've even seen posters tell people that open source is better because all users could fix bugs and recompile, while disregarding the fact that 99% of computer users won't want to do that. Comparing single products to components of a larger solution is silly. I've seen a few posts, and they are rare, lucidly explaining that on a long enough timeline you could theoretically pick all the best FOSS components and test them together but it's unrealistic.
My other pet peeve is all the "web developers" here who proclaim that they design sites that "tell users to upgrade to a real browser like FireFox or Opera". Statements like that smack of classroom-naivete and a lack of "the customer doesn't care about your religion" reality.
Even the grandparent poster was bold enough to state that MS and its developer base hasn't made a contribution to computing... wow, that's ignorant. Apparently if you don't invent a protocol, you're not a contributor! I hope all the hobbyist devs who wasted time on small sourceforge projects didn't read that. Meanwhile, almost every company I do business with has some small custom app that was developed for them by a small MS developer. Ease of development is highly underrated on this site.
Bottom line- I use a lot of C#/ASP.NET because it's the easiest and fastest tool for me to roll out quick cheap apps for small customers who don't need enterprise reliability and speed. Not only that, but I can turn to MSDN and find examples and implementations for most functions that I have questions about. Try to figure something out by reading the PHP.net documentation, it ain't gonna' happen. Unfortunately most of the people on here would rather scream that VI is a better IDE than VS2005 instead of realizing that the real-world is not like a classroom and different jobs require different tools.
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":
" ...you 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..."
versus:
" ...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
I am surprised no-one posted a link to Microsoft's Popfly project - here's the page that has a screenshot of Popfly add-in, that is being developed by Microsoft, and it is installed in Visual Studio Express edition!! I think this alone should get them laughed out of court...
Now you can debate business models, open source paradigms, yada yada but the fact of the matter is, without VS Jamie had nothing to write an extension for. Why can't he play by the rules?
There's also the mindset of "Jamie is small fry -- MS going after him is just pure sadism". See the point above about the mushrooming effect this can have with other partners. Jamies action has the potential to cause a negative financial impact to MS. Why should they take that risk?
Bottom line: TFA is not really news. It's been a dry day for MS bashing on
Read it, and you will know all you need to about this article. I'll say it again. TFA is not news. It's just been a dry day for MS-bashing on /. so something stupid had to be posted.
The idiocy of Microsoft to oppose their CUSTOMER's interests (yes, not only this developer; they are fighting their customers here) is astounding.
Must be the Last Days for this model, which I will name the Angry Proprietary Model. It's different than merely Proprietary. It's Proprietary with a will to attack customers and developers adding features to one's products.
-- @rjamestaylor on Ello
The next steps seem clear:
1) Microsoft should show exactly which clause of the license they believe is in breach.
2) Jamie should explain how what he is doing is not a hack, and detail the publicly available methods he is using for integration.
3) Microsoft should have to prove that what he is doing is a hack, and detail the undocumented methods he is using for integration.
3) Microsoft should explain how PopFly integration into Express is different than TestDriven.Net integration into Express.
Doresn't Microsoft have a "Freedom to innovate network"? Perhaps they couls change the name to "freedom to prevent others innovating".
Worked for Microsoft / Novell.
You, sir, have absolutely no idea what you are talking about.
In the age of Google and Wikipedia, there is absolutely no excuse for not making the minimal effort of checking the meaning of the terms that you use.
Turn your brain on and get a clue about what "copyright" is and isn't.
Until you learn how to use the grey matter between your ears properly, please don't
- post
- talk
- breed
It's part of Team Foundation Server and it actually does many other things, at the tune of $40k PER DEVELOPER.
I'm sure you mean well with your analysis of this announcement, but damn, what an uneducated git!
I mean, really...
burn his houses, rape his cattle, and ride off on his women.
We rape the horses! Cattle are for eating, not raping!
Only an ultra noob would use Ultra Edit. Vim FTW.
1) If you just write TestDriven.net for the 'pro' version, Microsoft will be happy.
2) If you (or someone else) open-source (GPL) the loader code for loading 'pro' add-ons into Express, but do not distribute it personally, Microsoft can't do anything about it.
If you make the open-source loader code compilable by Express, then your product will also support Express, even though you personally, do not. Other products may also now help Express users.
3) Start using your skills to help the open source community, not Microsoft.
Can anyone see any flaws with this approach??