The Flap
I must say, there are very few times when something on the web makes me so angry I lose sleep over it, but Jamie Cansdale has finally found a way. I'll assume that you've read all about the flap between Jamie and Microsoft regarding Visual Studio.NET Express and the TestDriven.NET add-in. Unfortunately, most of the buzz on the web is pretty "pro-Jamie" and "anti-MS". Of course. I expect that. The "borg" icon of Bill Gates on Slashdot, Product Activation, the software that costs more than $0 to install. Microsoft must be the bad guy here...
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.
Update: Jamie responds in the comments below. All comments should be visible.
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":
versus:
...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
...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 -- TestDriven.NET is a convenience product that makes using them easier.
Boycott TestDriven.NET
It all adds up to one thing -- Jamie Cansdale is using the publicity he's generated to line his pockets. If you are a developer of NUnit, NCover, or any other product that he exploits, I suggest that you either demand your fair share of his revenues or withdraw your permission for him to distribute your work with TestDriven.NET. Ever noticed that his site never got "slashdotted" in all of this brouhaha? He's ready for your orders, folks! Step right up! Gee, I wonder how many copies he's sold already. How about a disclosure there? Somehow I doubt we'll ever see it.
My Prediction
Jamie is going to wait this out for a bit while the orders come rushing in due to this being the "hot topic" in the developer community. Once he's satisfied that he's done that, he'll withdraw his plugin for Express, claiming that he's finally been beaten by the big, bad monster of Microsoft. Microsoft will be happy that this PR nightmare is over, and will let Jamie off the hook. And you-know-who laughs all of the way to the bank.
35 comments:
I talked to Jamie, and he said that he didn't write the letter agreeing to withdraw VS Express support.
That letter was prepared by Microsoft's lawyers as basically an "agree to this and we will go away" offer.
Reading the other emails he sent me, his actions are far worse.
In your first paragraph you give some weird examples why Microsoft would be "the bad guy". But an icon on a news site is not why they are "the bad guy". You have to look at the case of the 235 patents that Microsoft claims are violated by Linux and other FOSS software. Yet, they don't say which patents! How is that anything other than spreading fear? Is that a nice way to do business? Would you appreciate someone threatening you like that?
And that is the real reason people dislike Microsoft. They see that managers and lawyers are doing things that are bad for publicity, community and developers. They hide behind a EULA that is deliberately vague and they do more to protect partners than to foster a community.
In the end, Microsoft lost credibility and this kind of thing scares developers away (they think: do I need to be a lawyer to work with Microsoft products?)
Yes, Testdrive.net is FREE for the exact same group of people that Visual Studio Express is targeted at! So perhaps you should edit your post, because your rant on how it is not free is pretty ridiculous.
As is your rant about him doing this to sell copies. This is about the _free_ version, don't you understand? Show some proof or withdraw these allegations.
And finally asking NUnit developers to demand a fair share of profits and/or to keep Jamie from using that software shows you totally don't understand this issue, and FOSS in general. NUnit is released under a licence you know? Read it, see why Jamie doesn't have to give them a 'fair share' (whatever that is) and why they don't stop individuals using their software.
You should work for Microsoft, feel right at home making allegations without base, preferring laywers above developers and demanding cash from others for their work. You have the same (lack of) ethics.
Get real!!! How many hours do you think jamie has spent on this product? how much do you think he makes selling the product at the current price? Do you really think he's in this for the profit?
Microsoft does a number of things that make me angry. And don't think for a second that I support what they are doing with their supposed patents and Linux. But that's not germane to the discussion here. The discussion is about Jamie Cansdale's behavior, and his childish sympathy play using the "100% anti-MS all the time" crew to get his way when he doesn't deserve it.
Jonathan:
Thanks for pointing out the error -- I read that letter wrong, and I'm sorry about that. I withdraw my comments about that issue (post edited). But even though he didn't write that letter, I think that the bad faith argument still stands if you look at his correspondence with MS on February 26th.
anonymous #2:
Uh, read Jamie's license. His product is not free for professional use. Furthermore, NUnit *is* free. In fact, it's licensed under the GNU public license. TestDriven.NET is NOT. In fact, if you read the GPL, Jamie may be in violation by *requiring* a class of his users to pay for his software when he ships NUnit with it. I quote Section 2b) of the GPL:
"You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License."
It clearly says _all_ third parties. Not just certain *classes* of users. From his website:
"An enterprise licence is required if you wish to make TestDriven.NET available for deployment on multiple machines (i.e. if you're distributing the TestDriven.NET installer from a network share)."
I thoroughly believe him when he said that he started TestDriven.NET as a hobby. But later on, he decided to make money off of it. That's his prerogative, but if he's going to do so, he should play by the rules.
This makes four people who Jamie won't let post to his blog. I've been trying to get him to post his letter to Microsoft for 2 days and I saw another blog yesterday with some guy getting blocked. Microsoft points out in their letter that Jamie sent them a letter in writing but he refuses to post that on his site. He only wants us to hear his side of this crazy story. Why won't he scan and show us what he's telling Microsoft behind the scenes? Can Microsoft scan and post Jamie's letter?
It's obvious that the guy never even looked at the licensing form:
"4.2 For the avoidance of doubt, the Software does not include:
4.2.1 [INSERT SOFTWARE PRODUCT NAME] which is provided by [INSERT OWNER’S NAME] on the terms and conditions set out at Schedule A hereto; and
4.2.2 [INSERT SOFTWARE PRODUCT NAME] which is provided by [INSERT OWNER’S NAME] on the terms and conditions set out at Schedule B hereto."
Heh.
Give him a break already.
Also the meta refresh on this comment box is fucking terrible. I had to type my comment in a separate application and then quickly copy and paste!
Mr Cansdale has as much right to delete critical posts from his blog as you do to delete this from here. You have every right to find fault with someone, but if you do so in their front room, you shouldn't really be surprised when they kick you out of their house.
Criticise whomever you like for whatever you like, from the comfort of your own blog - hell, even delete his, or my, comments! - but unless he has explicitly stated that he welcomes criticism, your complaint that he won't let you use his platform to moan about him is frankly rather childish... and makes me wonder about the validity of your other points.
Gwenhwyfaer:
Of course it's his right to delete posts from his blog. It's my right to do the same, but I don't abuse it. If you posted a comment about v1@gr@ or C1@l!$, you'd be deleted from here. But I will promise you right here and now that I will not delete a comment because of a disagreement.
And please, if you take issue with my other points, I'm dying to hear it. I blog to learn, not for shameless self-promotion like you-know-who. If I'm off-base on a topic, I'll admit it. If my facts are wrong, I will correct them.
I disagree in that you think he brought all this attention in order to "line his pockets" ... "all the way to the bank". C'mon man. It's obvious he won't win this and my guess is he knows the end is near. I would wager that he did this as a way to give MS a black eye, which I think he succeeded in doing...
I read both sides of this case and I noticed some inconsistencies in Jamie's story before finding your trackback. It's good to see I'm not the only one questioning his story.
It appears that he's selectively left off email from Microsoft. Jason references things like "email from two days earlier" which clearly aren't posted in chapter one or two.
Jamie also says something like the last two calls in his email but says that he only had one call with Microsoft. I count at least three but more probable four to five calls.
I would kill for the transcripts of the phone conversations. Fascinating stuff. My vote is 95% Microsoft and 5% TestDriven.
fyi, nunit is not gpl
http://nunit.com/index.php?p=license&r=2.4.1
Sorry. The fit test portion (http://swik.net/fit) shipped with NUnit is GPL, not the NUnit framework itself. Thanks for setting me straight on that!
It's not easy for us bystanders to know who's in the wrong. It seems like the majority is on Jamie's side, though.
If you are correct in that some letters and emails are missing, isn't it strange that no one from Microsoft has pointed that out?
@thomas
The majority of posts are pro-Jamie but I beleive that's because everyone likes a David and Goliath battle and very few people have looked at the facts. When you look at the facts and see how Jamie has contorted the situation you have to side with MS. More than the missing emails I want to see the letter that Jamie sent to MS last week prompting the 3rd letter changing the deadline. I posted on Dan Fernandez's blog asking him to post that.
@dmarkle
I independently reached the conclusion that Jamie is a dishonest and exploitative individual. What pushed me over the edge was Gabe's post that Jamie never really stopped shipping Express support like he told MS. Those emails were damaging. Your post just makes me more angry at this guy.
Thomas:
Not really. I think MS is trying to take the position of protecting their rights, but they're attempting to take the "high road" in the court of public opinion. They don't want to be seen as dragging a little guy through the mud. Besides, there's no way they can really win the PR war that Jamie's started unless he makes a personal apology for how he's been acting -- something that I doubt he's ever going to do.
And you're right, it *is* very hard for a casual observer to see who's in the wrong. Most don't read the letters or the correspondence on it and just figure that since Microsoft has been ruthless in the past (and done some illegal and unethical things in past business dealings*), that they must be in the wrong, and the "Poor Little Guy" must be right.
But I want to counter that groupthink. I have no relationship with Microsoft other than as a customer, developer, and MSDN member. That's where it ends. I have no problem with calling Jamie out on his behavior.
* Netscape, I'm looking in your general direction. Oh wait, you're gone...
SO, just to clarify - Jamie asked for a *long* time for the clause he was violating. He reenabled the software for Express when MS couldn't tell him the clause.
Now that he has gotten that (which only happened last week), I'm sure he'll take it to his lawyer and figure out the next steps. In other words, it's not what he has done until now (because I wouldn't stop doing something unless someone told me why either), but what happens from now that really matters.
And as a former OSS developer, that's the way OSS works. You release your software under a license, and when you do, you choose whether or not people can resell it.
Finally - someone else pointed out that TD.NET is free for the same market Express is targeted at. Could you theoretically deploy Express editions across your enterprise? I don't know, but maybe. But that certainly is against the "spirit" of Express.
Cory:
That's true, he did do a lot of asking about the clauses that he was violating. But he was asking engineers, not lawyers, and most companies dissuade their worker-bees from making any legal claims -- they let the lawyers do it. If the VS development team had asked the lawyers to tell Jamie what clause he had been violating, the lawyers probably would have sent him the scary documents they sent a lot earlier in the process. I think that MS deserves props for keeping the lawyers out of it and keeping things between developers for as long as possible.
I think an issue here is that Jamie always knew what he was and was not supposed to do, and was just looking for a way to claim that he could do whatever he wanted. If you read Dan's blog, I think you'll agree that Jamie had do do a good bit of engineering to get around the limitations in Express that he found to be oh-so-inconvenient.
As I said on Frans' blog, it's a question of one *partner* stabbing another partner in the back. Jamie is out to make money off his product -- it's not any more FOSS than Visual Studio Express is.
For what it's worth, I don't care if Microsoft charges for this product or not, and I don't care if someone who builds an add-on charges for that or not. I advocate open source (free as in free speech) because I' have seen the amazing results achieved by it. I'm not against proprietary software in general, but having been burned many many times, I'm very leery of using it when I don't have to (and I find these days that I rarely have to).
What irks me about the Microsoft approach (and there is nothing new about it nor did Microsoft invent it) is the bait and switch aspects of it: Here is something for free. Get started using it and when you run into a roadblock, send us money and we'll send you the full version.
Furthermore, every product developed with either version of this software drives people to use Windows. As far as I know you can't develop Linux software with it right? Like so much of what MS does, this is "Gateway drug" technology. Get 'em hook in the grade school schoolyard and by the time they get to high school they'll be robbing grannies to buy the hard stuff.
If MS REALLY believed in this product there would be no free version. 90-day free trial, sure, but if you are going to develop software with it, you pay. They can add to the license that you have to do all your work standing on your head for all I care, because I'd just as soon people not get hooked using this stuff. There are open source tools that can be used to develop cross-platform applications, there are web development tools that take the Operating System out of the equation (of course the MS web development tools mysteriously only produce IE compatible pages).
I like using Linux, and I like using OS X and maybe one day I'll like using Windows again, but it will be due to Windows merits (security, stability, and yes, price) not because a herd of sycophants with MSDN and MCSE certificates (been there done that) are only developing for the one platform.
What was noteworthy to me on this story was not the factual details that you alluded to (some of which are still in question it appears) but the fact that on one of Microsoft's own developer's blogs there would be so little support for the company, even among what would normally be a loyal developer base. Looks to me like a lot of people are bailing out on the MS lock-in paradigm.
And I'm thrilled!
bp/cmb:
You and I may disagree with Microsoft's marketing and lock-in practices. It may be many things, but it's not bait-and-switch:
http://consumerist.com/consumer/bait-and-switch/what-is-the-bait-and-switch-and-when-is-it-illegal-251451.php
If anyone's still paying attention to this whole thing, take a look at Leon Bambick's blog, which IMO is quite insightful. He does a great job showing that this isn't a zero-sum game. One side need not be right for the other to be wrong:
http://secretgeek.net/testdrivengate.asp
Maybe they just need to
hug it out.
Please read the following post:
http://weblogs.asp.net/nunitaddin/archive/2006/07/10/EnterpriseAndProfessional.aspx
There is nothing in the personal license the prevents people from using the add-in on commercial projects. The professional license is mearley intended for professional developers. It is only suggested that they buy this version.
The only hard restriction is that you can redistribute TestDriven.NET personal. You will find this is the case with a lot of free software (e.g. Reflector).
Re: missing comments. I've been at a wedding in Scotland all weekend. I authorised them as soon as I got home. Moderation is turned on to prevent commend spam (weblogs.asp.net gets lots). I don't censor genuine comments.
Let me know if you think there are any more missing letters/emails. I will investigate and get back to you. You can contact me directly using this:
http://weblogs.asp.net/nunitaddin/contact.aspx
Thanks, Jamie.
--
http://www.testdriven.net
http://weblogs.asp.net/nunitaddin
For anyone else who might be reading, the URL that Jamie refers to is this:
http://weblogs.asp.net/nunitaddin/archive/2006/07/10/
EnterpriseAndProfessional.aspx
My low-rent blog engine cuts it off.
"TestDriven.NET's Real Functionality comes from Software that is Free"
No, TestDriven.NET's real functionality is providing an excellent interface to a variety of open source products. This increases my productivity and makes it good value for money.
So I'm happy to fork out for it, which is what our company did. And no, we didn't have to pay $10K for the enterprise version.
We wouldn't have need for such tools if Microsoft implemented something similar, but they won't because it uses non-microsoft software which is *gasp* open source. Unfortunately, Microsoft is in the habbit of ripping off .NET open source projects (e.g. NAnt->MSBuild, NUnit->MSUnit, NDoc->Sandcastle) so that they can be assimilated into the one microsoft way of doing things. It surprises me that any developers would now consider starting large open source .NET projects that might compete (now or in the future) with Microsoft.
It's clear Jamie has put considerable thought into this, and I respect his position to not go down without a fight.
Sooo, how's your consulting gig working out for you?
> The "borg" icon of Bill Gates on
> Slashdot, Product Activation, the
> software that costs more than $0 to
> install. Microsoft must be the bad guy
> here...
No. Microsoft must be the bad guy because they are the bad guy. Found guilty of various antitrust violations in the US and Europe. Making them, by definition, the bad guy. Doesn't it?
@si:
TestDriven.NET is a really nice product, and it *does* make using NUnit and other test products a lot easier. I actually like it a lot. I wish I could use it, but I can't, because I can't support its author. You bring up some very interesting topics that are worthy of discussion (later), about NUnit/MSTest, NDoc/Sandcastle, etc. That has *squat* to do with this discussion.
This is not a Discussion about Development Tools -- it's about Business.
It's about Jamie's business, and the irresponsible way in which he has chosen to run it. Think about it this way: who gets hurt because of his decision to break the rules?
* Microsoft. His "take it to the streets" PR campaign draws many to his site, where he primo free advertising for his product. Sympathy brings page views, page views bring downloads, downloads bring purchases. And it's all paid for by whatever's left of people's goodwill toward Microsoft. We can argue about whether or not MS "deserves it" or not. Of course they've done a lot of bad things, and violated the law in the past in other matters, but we're not talking about an antitrust matter here. It's not ethical to claim that anyone should be able to injure MS in any way just because MS has injured others in the past. As Ghandi said, “An eye for an eye leaves everybody blind.”
* The REAL "Little Guy": By the REAL little guy, I mean all of the other ISV's out there who write Visual Studio add-ins and play by the rules. (ReSharper, I'm looking in your general direction...) All of these vendors would love to write their add-ins for Visual Studio Express, but they know they can't because those are the rules. They are the real ones who get hurt. And occasionally they write a (very angry) post to Jamie about his behavior, but it all gets lost in the noise of the "Anti MS for any reason on any topic at any time crowd" like you guys. If Jamie "wins against Microsoft", it would mean that Jamie would have a competitive advantage against them when it comes to his product. And yes, Resharper (for example) does have unit-testing support built in, and that essentially means to me that they are competitors.
> That's true, he did do a lot of asking about the clauses that he was violating.
> But he was asking engineers, not lawyers, and most companies dissuade their
> worker-bees from making any legal claims -- they let the lawyers do it. If the
> VS development team had asked the lawyers to tell Jamie what clause he had
> been violating, the lawyers probably would have sent him the scary documents
> they sent a lot earlier in the process. I think that MS deserves props for
> keeping the lawyers out of it and keeping things between developers for as
> long as possible.
I disagree with dmarkle's or was it Cory's opinion that lawyers are like bulldogs to be set loose only when things go bad. When you are trying to tell a person that he is wrong, your argument must start with why he is wrong and then proceed on how to rectify it. You can surely take the help of lawyers that may be at your disposal. Do you think engineers at microsoft and their legal team do not work together? Was the engineers time less valuable than the lawyers? A simple quick reply saying so and so clause was broken for so and so reason would have sufficed, and if that comes from a lawyer (4 - 5 years of studying law), it comes with more weight. Im sure MS engineers were in consultation with lawyers before, but I am also sure they were scared to put down anything in writing and so took a broad swipe.
And what was wrong in framing an official letter to tell testdriven.net's users on why he has to withdraw support.
Looks like a big case of "Cover the assets" from the get go by microsoft's engineers, who wanted to play the role of lawyers no less.
What are you trying to achieve with your post? You attack Jamie on solely personal grounds. All your arguments have absolutely nothing with the case. I don't care if Jamie was a paedophile, that would still not make MS actions any better in this case.
@anonymous: Like I said before, this post is about the way Jamie conducts his business. I apologize if my tone is a bit too personal, but at the end of the day, you have to follow the money. I don't seek to defend Microsoft's approach with him -- I think they did a poor job with it.
See Leon's blog for a well-deserved criticism of Microsoft's handling of the situation:
http://secretgeek.net/testdrivengate.asp
You have to follow the money, says the guy whose blog is a marketing tool for his small consultancy firm, with a long history of working with C#? No offense, but strikes me that you're not quite exempt from market forces in this area yourself. Which is to say, this ad hominem argumentation against some other guy is almost an open invitation for someone to take the same approach to you (why would an MS consultant blog an MS-centric viewpoint? Obviously no opportunity for tinfoil hat arguments there) This would be unproductive - as unproductive as the argument you made here.
Of course the guy would like to be paid by professional developers using his kit - or do you not expect to be paid by companies using your consultancy?
I don't think Microsoft shareholders have many issues with Microsoft's behavior. Microsoft is in the business of making money, and making that money for their shareholders.
Additionally, don't confuse ethics with legality. Almost all of the actions that Microsoft has been found guilty of would be perfectly legal were they not the majority market share owner.
When it comes to any company as successful as Microsoft, don't hate, congratulate.
When it comes to this guy Jamie, I don't care if he charges for his product, but he certainly shouldn't copmlain about someone else charging for their product as well. Ever. Hypocrit.
Just love the way you 'highlight' certain features. The free version of his software IS FREE...the pro version is £75...read that again..now unless you live in a strange econamy...£75 does not equal $95...secondly...the £10,000 only applies to a 100 license product...
damn....talk about hiding behind blogs and mis-intepreting the real facts. And your having a go at him?
@dmarkle: Yes, you're correct that my comments about NUnit, NDoc, NAnt, etc are not pertinent to Jamie's issue, I just get really frustrated with the way Microsoft treat their users (in this case it's developers). It makes me wish our company wasn't using their products, and had gone down the Java road instead.
I think this blog from a Microsoft insider sums it up nicely:
http://www.agileprogrammer.com/dotnetguy/archive/2007/06/04/22841.aspx
Post a Comment