Microsoft vs TestDriven.Net Express

There are a few things I need to get off my chest.

When I started working on TestDriven.Net I was a hobbyist .NET developer. My day job was as a Java consultant. TestDriven.Net was something I did for fun between consultancy gigs. Working on open source projects can be a great way to learn a new technology. I enjoyed being part of the fledgling .NET community and positive reception TestDriven.Net (then NUnitAddIn) was getting.

When TestDriven.Net 1.0 was released I was still hobbyist .NET developer. It was only natural that I use the Express SKU which was being targeted at other hobbyist developers. In fact I developed the whole of TestDriven.NET 1.0 using C# Express, MSBuild and WiX (as described in this post).

A few months after TestDriven.Net 1.0 was released I was given the MVP award by Microsoft. According to Ben Miller (my then MVP lead) I was "very well known" for having created TestDriven.Net. As far as I'm aware this was the primary reason I received the award.

On Dec 1, 2005 I received an email from Jason Weber the lead for the Visual Studio IDE and Visual Studio SDK. Apparently Jason wanted to better understand my product and strategy. It was clear from the email subject that Jason incorrectly assumed TestDriven.Net was a VSIP Package. The interesting thing about VSIP packages being that they require a special key from Microsoft in order to function.

This is where the story begins. I'm not going to summarize what happened. I'm going to give you all the information so you can make up your own mind.

  1. The first set of emails are between Dec 1, 2005 and Mar 30, 2006. They culminate in a teleconference between Craig Symonds (the General Manager for Visual Studio), Grant Drake, Jason Weber (who doesn't say a word) and myself.
  2. The second set of emails are between March 31, 2006 and Apr 17, 2007. They culminate with Jason finally letting me know which license I'm supposedly in breach of (the Express EULA). I'm still none the wiser about which clause.
  3. Finally I receive two letters (delivered by motorcycle courier) from Microsoft's UK lawyers. For the first time ever I am told which exact clause I'm supposedly in breach of. The second letter lets me know that they are reading my weblog and the TestDrivenUsers group.

Less than a year ago I was still a hobbyist .NET developer. I created TestDriven.Net as a tool for myself and something that I hoped other .NET developers would find useful. I have no intention of selling out and giving in to this kind of petty bullying without a fight.

Update: I received another letter on May 31, 2007.
Update: Fixed the email formatting when viewed in IE.

Published Wednesday, May 30, 2007 7:12 PM by Jamie Cansdale

Comments

# re: Microsoft vs TestDriven.Net Express

Not to be a douche, but you didn't point out how this affects *me*.  Are they going to sue you into submission until you stop distributing?  Is their problem with TestDriven.Net only when it's installed on Express SKUs?  etc...

On a related side note, I quite enjoy TestDriven.Net and think that Microsoft's test implementation (at least as it existed when I tried it in VS2005) totally sucked.  Test lists, are you retarded?  I appreciate your useful test runner implementation.

Wednesday, May 30, 2007 8:40 PM by Bobo

# re: Microsoft vs TestDriven.Net Express

Ok, so I read through the extensive list of emails, and this is my summary...

Microsoft is protecting their Express SKU by pulling out a specifically vague clause to get you in line.  This doesn't surprise me, you probably won't win if you choose to fight it...

+1 suckage point for Microsoft for not allowing extensibility in the Express SKUs.

+1 suckage point for Microsoft for bringing in the lawyers.

They hold out your MVP status since you didn't immediately cease.

+1 suckage point for Microsoft.

It seems like they could also use the same clause against you on any other SKU if they choose to.

+1 suckage point for Microsoft.

You should've immeditately said you wouldn't remove your Express SKU integration until you've been notified by their lawyers.  I understand why you wouldn't want to do this, but it probably would've saved yourself a lot of worry and hassle.

+1 suckage point for you.

So in total 4 suckage points for Microsoft and 1 suckage point for you.  Obviously Microsoft sucks more than you do on this issue, but what can you do?

I imagine there'll be a bit of blog outrage for a while, but at the end of the day Microsoft will still have you remove your Express SKU integration.  

Suckage.

Wednesday, May 30, 2007 9:14 PM by Randy Ridge

# re: Microsoft vs TestDriven.Net Express

Their claims are unsubstantiated. The EULA clause is not legal. Just ask a lawyer.

Wednesday, May 30, 2007 9:47 PM by Jeff

# re: Microsoft vs TestDriven.Net Express

Use their stuff, play by their rules. Why don't you write your own version of VS Express?

Wednesday, May 30, 2007 9:55 PM by Whimsical Monkey

# Microsoft vs TestDriven.Net Express

You've been kicked (a good thing) - Trackback from DotNetKicks.com

Wednesday, May 30, 2007 10:30 PM by DotNetKicks.com

# re: Microsoft vs TestDriven.Net Express

I do not really know anything about TestDriven.NET or the situation, but if the intention is to provide integration with some free IDE, wouldn't SharpDevelop suffice? :-)

Wednesday, May 30, 2007 10:43 PM by David

# Jeez, come on MSFT

Jeez, come on MSFT

Wednesday, May 30, 2007 11:10 PM by Blog

# re: Microsoft vs TestDriven.Net Express

C# Express doesn't support extenions.  You can't create or load them.  I don't understand why you think it's legal for you to hack on Microsoft products.  Of course they're going to come after you.

Wednesday, May 30, 2007 11:28 PM by .Net Guru

# re: Microsoft vs TestDriven.Net Express

Amazing... how draconian of them... Sorry Jamie but you've gone from MVP to MMW (Microsoft's Most Wanted!)

I guess that will teach us developers, developers, developers to build on the .NET platform.

Wednesday, May 30, 2007 11:30 PM by corbin

# re: Microsoft vs TestDriven.Net Express

This is stupid and pointless.  Microsoft isn't in any position to be pushing developers away from their product.

Wednesday, May 30, 2007 11:40 PM by The Other Steve

# re: Microsoft vs TestDriven.Net Express

gggggrrrrrrrrrr =(

I cant belive how many time has M$ to do this idiots THINGS !!!

How many market share cant lose leting anyone use testdriven with express !!! damn idiots

Sure the marketings guys said: "OMG if anyway realize that with NUnit, Express and TD.NET is enough for a great user experience, so, who can buy VS ??"

How can they be so silly of mind !!!

All my forces with you dude =) all the community will be with you too you are a great value for all us.

You must call ScottGu that looks like the great guy that hear us in M$, and is racional, not like these other idiots, I read near all the mails, and make me so angryyyyyyy

Best of luck

Marcos

Wednesday, May 30, 2007 11:41 PM by Marcos

# re: Microsoft vs TestDriven.Net Express

this is totally insane.

Now i know why i can't build extensions for MS Paint =( sigh.. :P

Thursday, May 31, 2007 1:13 AM by Keith Rull

# Microsoft vs. TestDriven.Net Express

Microsoft vs. TestDriven.Net Express

Thursday, May 31, 2007 1:27 AM by Ayende @ Rahien

# re: Microsoft vs TestDriven.Net Express

Jamie,

First, let me state I'm a paying TestDriven.net user.  I love the product and I don't want it to suddenly disappear and go away due to this issue.

In regards to this, I read the entire thread of correspondence (all of it).  While I do not agree with how MS handled this situation and more importantly you (wording of emails and holding subscriptions/memberships over your head), I have to agree with MS on this issue. Regardless of how you integrated TD.NET into the Express SKU, extending the limited functionality of the Express product clearly was against their terms (I'm not arguing the terminology of the license agreement.  I'm talking more about what they "intended" it mean, which we all know by now).  Btw, I found it very annoying how Jason Weber kept referring to your support of the Express SKU as a "hack", especially when you stated numerous times that you were using publically listed API's.

With all of that said, is having Express support that important? I ask this as an avid TD.NET user who doesn't want to see the product possibly die because of this.

Regards,

Avid TD.NET user...

Thursday, May 31, 2007 1:30 AM by Doug Rohm

# re: Microsoft vs TestDriven.Net Express

My heart goes out to you. Is there anything that can be done to assist you?

Thursday, May 31, 2007 1:52 AM by Jeremy Hodges

# re: Microsoft vs TestDriven.Net Express

I can't understand if they think you are working around a software limitation, or a feature limitation.

As far as I can tell you are giving *new* functionality, of which there may be a comparable feature in other versions of Visual Studio, which is in no way in breach of their licence.

More to the point, if they don' want add-ins to provide functionality that may be present in other versions of their software, it is up to them to either sandbox add-ins (as in done in many games and is well accepted practice) or to remove that feature if they have given the capability to do something they didn't want people to do.

Regardless, the approach they are taking (to try and limit additional functionality), is completely bizzare.

TestDriven.NET is *esential* software - whether you use the Express or any higher vesion of VS ... I wouldn't be without it.

Thursday, May 31, 2007 2:05 AM by Casey

# re: Microsoft vs TestDriven.Net Express

And ... my open email to Jason Weber (feel free to send him your thoughts at his published email address  Jason@JasonWeber.com ):

Jason

Just so you can start to understand the bad feeling you have created, I would like to add my voice to those others you will no doubt receive about your ridiculous campaign against TestDriven.NET, one of the most essential Visual Studio add-ins there is.

Normally, I am a very vocal defender of Microsoft, and especially of copyright and IP laws, but on this one you just have the situation completely wrong.

You are attempting to limit functionality within Visual Studio add-ins, a problem (if it is a problem) of your own making.

Regardless of whether you think you can win this fight on a technicality or terminology, I assure you that you won’t win anything in the long run, and you will seriously alienate a SIGNIFICANT number of .NET developers.

Good luck in the petty battle you have chosen.

Regards

Thursday, May 31, 2007 2:10 AM by Casey

# re: Microsoft vs TestDriven.Net Express

I think perhaps the MS guys misunderstand your tools:)

Thursday, May 31, 2007 3:31 AM by Ray Zhang

# re: Microsoft vs TestDriven.Net Express

Damn!

be strong :)

Thursday, May 31, 2007 3:38 AM by Darius Damalakas

# re: Microsoft vs TestDriven.Net Express

Ok, I love testdriven.net.

but I do recall reading some post from you quite a while back where you stated that you used hacks in order to make it work with express.

Ofcourse they made the express edition limited so that users would want to buy the real thing.

If you then found a way to work around this limitation , then Id say its pretty close to cracking a free product and enabling the full version.

So I can see why they are a bit upset.

Thursday, May 31, 2007 3:44 AM by Roger Johansson

# re: Microsoft vs TestDriven.Net Express

Sounds like someone at MS had their ego bruised a bit by your so-called hacking, and decided to sick the lawyers on you to compensate.

"Release the hounds!"

Thursday, May 31, 2007 3:55 AM by foobar

# re: Microsoft vs TestDriven.Net Express

This really sucks.

But perhaps on a positive note, when reading the emails I felt qutie motivated to harness my development energies more in the Ruby commmunity. This seems like an amicable solution to me.

Thursday, May 31, 2007 4:02 AM by Trumpi

# re: Microsoft vs TestDriven.Net Express

@Roger Johansson - the technique I use to add Express support is such a non-hack that I wouldn't  credit it as such. I'm simply using a documented API to add menu controls. If you look though the archive I'm pretty confident you won't find that post. Are you sure it was me?

Thursday, May 31, 2007 4:15 AM by Jamie Cansdale

# re: Microsoft vs TestDriven.Net Express

Funny how Microsoft gets rather defensive about their test suite.

It's even more funnier how they charge an arm and a leg (i.e. Team Suite) for something that should clearly be cheaper when compared to other offerings.

I'm glad you brought this up Jamie.  I'm hoping Microsoft really thinks over what they have done, because I for one am not that keen in their technologies anymore if this is how they treat developers.

Jason Weber also needs to take courses in customer service.  I really disliked his selective, snobby & unthoughtful responses to your emails.

I mean, who wouldn't be pissed off after reading this: "Our position hasn't changed and we don't have any new suggestions for

you. I wanted to provide you one last opportunity to discuss this with

the Microsoft executive responsible for the Visual Studio business. It's

your decision whether or not you take advantage of that opportunity."

and this: "I manage the Visual Studio Ecosystem product team and will be your

primary point of contact at Microsoft. Your call with Craig was out of

courtesy so that you could discuss with a Microsoft executive and better

understand our position. If you have suggestions please work directly

with me. I look forward to see your proposal."

How rude is that?  This is exactly the behavior that gets large pompous software companies into trouble (Ashton-Tate comes to mind).

However, I don't agree with you putting in what is essentially a crack for Express SKUs.  Hope you fix that, because this is not a plus point for you.

Chris

Thursday, May 31, 2007 4:22 AM by Chris Khoo

# Developers Developers Developers

So - anyone want to develop a plug in for VS Express? No you don't. I was just thinking today...

Thursday, May 31, 2007 4:42 AM by Tim Haines

# re: Microsoft vs TestDriven.Net Express

I can't react to the license problem for the Express SKU. I have a feeling you're on a loosing battle. Not that you're wrong, it's just David vs Goliath.

On the MVP status however, I know for a fact that you stand for TestDriven.net, which is on every serious .net developer's PC. How much more do you want to be involved in a community? What does it mean when they say that your community activity was way below what is expected of an MVP? Did you fail to promote M$ dogma enough? To me, this raises some serious questions on the community-driven aspect of MVP awards.

Thursday, May 31, 2007 4:48 AM by Michel Grootjans

# re: Microsoft vs TestDriven.Net Express

Jamie: Keep up the good work.

Microsoft: You seriously need to rethink this one... I mean seriously!?! Do you want a developer ecosystem or not

Thursday, May 31, 2007 4:54 AM by Andrew

# re: Microsoft vs TestDriven.Net Express

I sympathise with your position, which must be incredibly frustrating. It's clear that you have worked on TestDriven.NET with the best of intentions for the developer community, and the developer community really appreciates it. It's also clear that you did not set out to develop a "hack" and you honestly believe that you have not breached Microsoft's licencing conditions.

It's possible that you're right. However, it does seem to be open to interpretation. That clause appears to a layman to be a dubious one, but IANAL and the saying that "ignorance of the law is no excuse" is nagging away at me. Under those circumstances, I don't think you should fight a battle that will inevitably be far more painful for you than for Microsoft, even if you were to win.

Write it off to experience and enjoy the gratefulness of the portion of the developer community that you *have* been able to reach. There's no shame in that.

Thursday, May 31, 2007 5:13 AM by Gavin Greig

# re: Microsoft vs TestDriven.Net Express

Another reason why I feel that Microsoft does not value its developer community. Ruby On Rails any one?

Thursday, May 31, 2007 5:13 AM by Glyn

# re: Microsoft vs TestDriven.Net Express

Just a note that my heart goes out to you too Jamie. Your strength in not bowing to the awesome power that is Microsoft and *attempting* to stick up for the hobbiest developer is very commendable.

The folks developing without a big budget to back them need TDD just as much as the rest of us, maybe more so. In a sane world, people would not start off coding the 'bad' way and then learn TDD once they get a 'real' job. Neither should we be forced to drop TDD (or TDD.NET, ideally) when we drop into hobbiest mode.

Your efforts are commendable. My work already bought me TDD for VS.NET, but because I appreciate your stand I want you to know I'll make a point to support you in future... so as to make up for the marketing support your missing out from the motership.

A brave stand. thanks

Thursday, May 31, 2007 5:15 AM by Miles

# re: Microsoft vs TestDriven.Net Express

Sucks.  

Keep up the good work. If you need a legal defence fund, I will certainly contribute.  

The thing that really gets me is that MS are just being stupid - they aren't gaining anything.  

Ho hum.  LAMP, here I come!  

Thursday, May 31, 2007 6:05 AM by AJ Finch

# » Microsoft vs TestDriven.Net Express

Pingback from  » Microsoft vs TestDriven.Net Express

Thursday, May 31, 2007 6:23 AM by » Microsoft vs TestDriven.Net Express

# re: Microsoft vs TestDriven.Net Express

no good can come of this for both parties. mark my words this is like watching a war, both sides are doomed but the folks selling the weapons will profit (Media etc)

Thursday, May 31, 2007 6:35 AM by cant say

# re: Microsoft vs TestDriven.Net Express

I wonder if this Jason is a fifth columnist within Microsoft.

He seems to be bent on harming the ecosystem.

I'm hoping that this now gets to the right people in MS and they sort Jason out.

His approach, deviousness, foot dragging etc. take your breath away.

I don't believe that most of MS is like that, and certainly not the upper management.  They can show that by fixing this and apologising.  

Thursday, May 31, 2007 6:44 AM by Mike Gale

# re: Microsoft vs TestDriven.Net Express

This sucks. TestDriven is a must have for every VS.net installation.

Thursday, May 31, 2007 6:45 AM by Dody Gunawinata

# re: Microsoft vs TestDriven.Net Express

Instead to what people here actually think, the EULA is valid. Certain parts of EULA's in the past were proved invalid, but the point which is violated in this case isn't.

Basicly you are not allowed to use Visual Studio Express to create products which you distribute commercially. In the case of TestDriven.NET this does happen, so MS is completely right... Besides that MS doesnt seem to be attacking TestDriven.NET, but rather you, as you are commercially exploiting an project you claim is Open Source (Try fitting that into GPL).

The same clause which the Express edition includes, is also included in the GPL in another form. Till this date nobody ever questioned that clause...

Thursday, May 31, 2007 7:07 AM by J

# Microsoft vs. TestDriven.Net Express

Thursday, May 31, 2007 7:34 AM by CraigBlog

# re: Microsoft vs TestDriven.Net Express

Thursday, May 31, 2007 8:08 AM by Steve

# re: Microsoft vs TestDriven.Net Express

In the past I've heard about you losing your MVP but hadn't looked closely until today.  If you need contributions for legal defense, please put out the call.

Microsoft, do you really think your patents, lawyers and the legal system will allow you to stomp on individual developers without the non-stomped noticing.  I didn't think Fowler, was right when I heard him tell Hanselman.  Now I wonder if the trickle will become a flood?

Thursday, May 31, 2007 8:27 AM by Al Schrank

# re: Microsoft vs TestDriven.Net Express

Well, if you're in violation of the eula, then you're in violation of the eula.  What sucks is that someone at MS didn't shoot you a free copy of VS to compile it against once it became well known as a useful tool in the community.  As a regular reader of Microsoft blogs, I'm always seeing somebody giving away MSDN memberships, software, etc.  It would have been a much better thing to do to help you get straight with the legal shit rather than just sending a C&D.

Thursday, May 31, 2007 8:29 AM by mcgurk

# ConfusEULA

Jamie Cansdale wrote a great product. Why? Because the one written by Microsoft sucked out loud. What'd they do? They threatened to sue him for it. The best part is that they'll most likely take his code and put it...

Thursday, May 31, 2007 8:35 AM by brady.gaster

# re: Microsoft vs TestDriven.Net Express

Is there really a case here, I just read the EULA, I don't see any clause in it that states that C# Express can't be used commercially, mine is located at: "C:\Program Files\Microsoft Visual Studio 8\Microsoft Visual C# 2005 Express Edition – ENU"

When I look at my XNA Express EULA it does clearly state that I am not to create commerical games for use on the XBOX 360.

I thought that MVPs got free copies of Visual Studio 2005.  Also, Visual Studio over at one of the Electronic Superstores is like 125 or so US Dollars.  Shop online and get it for less.  

I would strongly recommend that you take a look at the REAL EULA for C#, I can find no words against commercial use, except for the following:

"..use the software for commercial software hosting services."

This does seem like the case for TestDriven.NET as indicated from the blog posts here.

Thursday, May 31, 2007 9:29 AM by Socal

# re: Microsoft vs TestDriven.Net Express

If they at least supported all their own addons on vs pro/team edition, then I suppose people would have a choice to upgrade if they find TD.Net essential. However, for example their XNA package does not work on anything but Express. That means even if I am willing to pay (I own vs team ed, td.net, typemock and r#) they are still actively trying to stop me developing in a tdd way effectively.

Microsoft: I don't know who have the legal right in this, but please stop this. I realize you are afraid the community will fill in the holes in the Express SKU and possibly make it too competitive with the non-free versions, but you are really harming a lot with this. Or just give Jamie a big bag of money for his company and put TDD.net directly in vs (all sku's)

Thursday, May 31, 2007 9:44 AM by Ronnie Kohring

# re: Microsoft vs TestDriven.Net Express

I just don't understand Microsoft's reaction in this case.  Instead of trying to make your life difficult, they should be trying to make it easier.  You filled a major gap in their toolset.  Given the choice between TestDriven.NET and their pitiful unit testing tools, I'd choose TestDriven.NET.

I know it doesn't help, but I think the vast majority of the community is 100% behind you on this, Jamie.  Good luck, and thanks for making such an excellent tool.

Thursday, May 31, 2007 9:50 AM by Matt

# re: Microsoft vs TestDriven.Net Express

That Martin Fowler article is interesting.

Thursday, May 31, 2007 9:59 AM by The Other Steve

# re: Microsoft vs TestDriven.Net Express

This is a joke, no wonder people are fussing about MS losing the Alpha Geeks. Unit Testing is not an expert or advanced add-on, it is a core part of development. TestDriven.NET is an excellent product and anything which encourages even hobbyist developers to embrace Unit Testing should be encouraged.

My problem: I love working with C# and .NET framework. The Mono project looks more and more attractive all the time. How hard would it be to enable TestDriven.NET on MonoDevelop?

Thursday, May 31, 2007 10:01 AM by Craig

# re: Microsoft vs TestDriven.Net Express

Good luck dude, this totally blows.  

It really seems like MS is trying to drive the best developers away from .NET lately.  Whether or not they have a case for this, it sounds totally gaytarded.

Thursday, May 31, 2007 10:02 AM by Aaron

# re: Microsoft vs TestDriven.Net Express

[trackback] MS lawyers bully TestDriven.NET...

Thursday, May 31, 2007 10:02 AM by Judah

# War is coming

Jeremy suggests that Martin Fowler has fired a shot across MS's bow with his RubyMicrosoft post.

Thursday, May 31, 2007 10:15 AM by chrisortman

# re: Microsoft vs TestDriven.Net Express

When it all goes pear shaped and you're forced to remove the Express integration, just make sure you anonymously leak the source code for achieving the integration to as many distribution points as possible.

Thursday, May 31, 2007 10:17 AM by Jason

# re: Microsoft vs TestDriven.Net Express

Get a lawyer and be sure you're doing the right things legally. Be aware that going to court with MS isn't easy: their lawyers have a wellproven tactic: drown you and your lawyer with documents and documents and more documents.

Though I've to say that the step you took with this post is a bold one and will likely make you more successfull in solving this than waiting till you have to show up in court.

Personally I find this the most absurd action coming from Redmond I've seen in a long time. It doesn't gain them anything, only bad publicity. The thing is that among developers, there IS such a thing as bad publicity: developers tend to remember these kind of things for a long time.

Thursday, May 31, 2007 10:27 AM by FransBouma

# Microsoft don't get it « Geeks in the West Country

Pingback from  Microsoft don't get it « Geeks in the West Country

Thursday, May 31, 2007 10:28 AM by Microsoft don't get it « Geeks in the West Country

# Ellis Web » Items of Interest: 2005-05-31

Pingback from  Ellis Web » Items of Interest: 2005-05-31

Thursday, May 31, 2007 10:34 AM by Ellis Web » Items of Interest: 2005-05-31

# re: Microsoft vs TestDriven.Net Express

this is interesting because it needs to be looked at a from a wider context. What happens if a whole bunch of vendors start to build addins that work on Express. You then have an ecosystem based upon a free IDE and I would assume that Express R&D is being serviced by the rest of the VS SKUs. So if someone says I get free VS Express + a bunch of addins and I no longer need VS Pro - where does that leave Microsoft. So it might not be a case of MS just targetting Testdriven.net but more worried by the larger implications

Thursday, May 31, 2007 10:40 AM by John

# re: Microsoft vs TestDriven.Net Express

I know I'm going to be the bad guy on this...

I'm willing to concede that you probably didn't do any reverse engineering to make the VS.NET Express version work with TestDriven.NET.  Hell, I'm even willing to concede that you are probably (technically) legally within your rights to develop the TD.NET the way you did.  

And I'm not defending how MS handled the situation, either, because I think they botched it, a bit, too.  I even think that it's THEIR fault if they allow addins to VS.NET Express at all.

But I don't think you should have offered this for the Express SKU if that pissed them off.  If you wanted to develop it for a free IDE, develop it for SharpDevelop or something.  

Thursday, May 31, 2007 11:10 AM by Dave

# re: Microsoft vs TestDriven.Net Express

I'm baffled. As far as I can see, the main thing Jamie asked for, is an exact explanation on how the license was breached.

I mean, how can anyone claim a breach, but refuse to offer a clear explanation?

Thursday, May 31, 2007 11:48 AM by Thomas Eyde

# Is Microsoft Losing Its Developer Base? « IS Department

Pingback from  Is Microsoft Losing Its Developer Base? « IS Department

# re: Microsoft vs TestDriven.Net Express

I understand your pain, look at it this way. I created MyGeneration with Justin Greenwood. MyGeneration is a very popular .NET code generator. I also created an architecture called dOOdads. MyGeneration is still the #1 download each week 3 years running on download.com in the .NET tools category. We've turned a ton of people onto .NET and especially through dOOdads, it allows novices to act like experts. I've since moved onto EntitySpaces a commerical offering. So we've done our share in helping the .NET community grow.

I was never given MVP status? Though I can see from our stats that even Microsoft themselves run MyGeneration daily. I'm not at all upset, I am staunchly independent and would never become co-mingled in that mess. I learned that through an experience in an earlier life. So relish your independence my friend.

Remember that scene from "It's a wonderful life" when Jimmy Stewart shakes ol' man Potter's hand after being offered everything he had ever dreamed about? Think back ...

Thursday, May 31, 2007 11:55 AM by Mike Griffin

# re: Microsoft vs TestDriven.Net Express

M$ is only about money. You can see all their history. They have NO real partners, they have only future victims. m$ only uses developers, partners as their sales force for free. When they acquire the market share in specific area by their partners, they develop their own product and kick all their "partners" out . So why are you killing yourselves microsoft developers? use linux/unix, java, oracle... All of them are state-of-the-art products and you are not dependent on one big company and primary you dont support your future competitor.

Thursday, May 31, 2007 12:03 PM by Mike

# re: Microsoft vs TestDriven.Net Express

I can't tell if Jason is so used to people rolling over when he says that he can't deal with someone who wants answers or if someone else tied his hands too tight about legal issues.  It is possible that someone told him that he cannot give any statement that might be construed as legal advice so he wouldn't tell you what you violated (license and clause) because it might be "legal advice."

I'm not a lawyer so I don't know if you are really in breach of the agreement, but I would suggest to Jason that he should have talked to the lawyers earlier on for specifics of what you were violating.  Clear communication can avoid so many hardships.

Thursday, May 31, 2007 12:10 PM by Cotillion

# re: Microsoft vs TestDriven.Net Express

From reading the emails it would seem that the issue is that writing addins for VS express editions isn't allowed and that VS express edition isn't supposed to support addins.

I haven't checked in anything even close to detail, so if this isn't true then ignore the rest of this.

I was looking at Microsoft Popfly today and it supports VS express, it has an addin (Popfly Explorer). The screenshots here (www.popfly.com/.../Explorer.aspx) have a Popfly menu added in.

Popfly is for creating mashups easily with little or no code. Since the 'little or no code' would be of interest to hobbyist developers then it being supported on VS express editions would make sense.

If the adding of menu items to VS express could cause infringement of the VS expess EULA, then doesn't the creation of Popfly smack of double standards.

Once again though, the disclaimer, I haven't looked in detail at why TestDriven.Net infringes the VS express EULA, but this is hardly surprising as through most of the emails Jamie seemed to be asking Microsoft that same question as well and not getting any answer. I'm still left somewhat unsure as to why TestDriven.Net infringed the VS express EULA.

Thursday, May 31, 2007 12:46 PM by Stephen Oakman

# re: Microsoft vs TestDriven.Net Express

It does seem that VS express prohibits the use of Add-ins (and Macros and Packages), while the next version up (Standard edition) allows you to 'consume add-ins' (as per the VS comparison chart (msdn2.microsoft.com/.../aa700921.aspx).

Popfly however seems to mention the use of the Popfly Explorer add-in explicitly for VS express editions. The screen shot on the Explorer page () is showing the Popfly add-in for the VS VB.Net Express edition. Also mentioned on the site is the Potential Future Enhancements of 'The team is working on enabling Visual Studio Express users to publish not only source code, but completed projects...'.

However, Popfly does look like a very cool technology and I'm looking forward to having a play with it and I think it is great that it is available on the express editions - but I feel the same way about TestDriven.Net. Why can't TestDriven.Net be enabled for express editions, especially if it's enabled for Popfly.

Does this mean that the Microsoft Popfly developers will soon be told to remove express support? I really hope not as that would also be a shame, but come on, enough with the double standards.

Thursday, May 31, 2007 1:07 PM by Stephen Oakman

# re: Microsoft vs TestDriven.Net Express

Remember, as Jamie states, he used only public API calls within VS Express.

There is no hacking, no reverse engineering, no use of reflector to read the internals. Just a few calls to public APIs to add menu items into VS Express.

This is a mistake on the part of MS for making public APIs available that were apparently only intended for their own internal use. And that is where they came unstuck in court before.

My advice (as someone who has spent years in court over IP rights issues) ... don't appoint legal representation if you intend to fight this, represent yourself. Firstly you will save a fortune on legal bills that will bankrupt you before you even get your day in court (your costs will be minimal, somewhere in the order of a few hundred pounds to get to court), secondly the court gives a lot more leeway to litigants in person (as you aren;t expected to know all of the relevant procedures), thirdly the other side *has* to provide you with asistance and explanations for all the procedures and tricks they are using to help you defend them, and fourthly, they will give up long before you do this route.

Either way you are risking a lot, unless TestDriven.NET is a limited company, in which case you are acting on behalf of your comapny, and not as an individual ... in which case your liability total is probably £100.

Good Luck

Thursday, May 31, 2007 1:43 PM by Casey

# re: Microsoft vs TestDriven.Net Express

MICROSOFT SOFTWARE LICENSE TERMS

MICROSOFT VISUAL C# 2005 EXPRESS EDITION

These license terms are an agreement between Microsoft Corporation (or based on where you live, one of its affiliates) and you.  Please read them.  They apply to the software named above, which includes the media on which you received it, if any.  The terms also apply to any Microsoft

 • updates,

 • supplements,

 • Internet-based services, and

 • support services

for this software, unless other terms accompany those items.  If so, those terms apply.

BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS.  IF YOU DO NOT ACCEPT THEM, DO NOT USE THE SOFTWARE.

------------------------------

AS DESCRIBED BELOW, USING SOME FEATURES ALSO OPERATES AS YOUR CONSENT TO THE TRANSMISSION OF CERTAIN STANDARD COMPUTER INFORMATION FOR INTERNET-BASED SERVICES.

If you comply with these license terms, you have the rights below.

1. INSTALLATION AND USE RIGHTS.  

a. Installation and Use.  One user may install and use any number of copies of the software on your devices to design, develop and test your programs.

b. Included Microsoft Programs.  The software contains other Microsoft programs.  These license terms apply to your use of those programs.

c. Third Party Programs.  The software contains third party programs.  The license terms with those programs apply to your use of them.

2. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS.

a. Distributable Code.  The software contains code that you are permitted to distribute in programs you develop if you comply with the terms below.

i. Right to Use and Distribute.  The code and text files listed below are “Distributable Code.”

 • REDIST.TXT Files.  You may copy and distribute the object code form of code listed in REDIST.TXT files.

 • Sample Code.  You may modify, copy, and distribute the source and object code form of code marked as “sample.”

 • Microsoft Merge Modules.  You may copy and distribute the unmodified output of Microsoft Merge Modules.

 • Image Library.  You may copy and distribute images and animations in the Image Library as described in the software documentation.  You may also modify that content.  If you modify the content, it must be for use that is consistent with the permitted use of the unmodified content.

 • Third Party Distribution.  You may permit distributors of your programs to copy and distribute the Distributable Code as part of those programs.

ii. Distribution Requirements.  For any Distributable Code you distribute, you must

 • add significant primary functionality to it in your programs;

 • require distributors and external end users to agree to terms that protect it at least as much as this agreement;

 • display your valid copyright notice on your programs; and

 • indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your programs.

iii. Distribution Restrictions.  You may not

 • alter any copyright, trademark or patent notice in the Distributable Code;

 • use Microsoft’s trademarks in your programs’ names or in a way that suggests your programs come from or are endorsed by Microsoft;

 • distribute Distributable Code, other than code listed in OTHER-DIST.TXT files, to run on a platform other than the Windows platform;

 • include Distributable Code in malicious, deceptive or unlawful programs; or

 • modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License.  An Excluded License is one that requires, as a condition of use, modification or distribution, that

 • the code be disclosed or distributed in source code form; or

 • others have the right to modify it.

3. INTERNET-BASED SERVICES.  Microsoft provides Internet-based services with the software.  It may change or cancel them at any time.

a. Consent for Internet-Based Services.  The software feature described below connects to Microsoft or service provider computer systems over the Internet.  In some cases, you will not receive a separate notice when they connect.  You may switch off this feature or not use it.  For more information about this feature, see the software documentation.  BY USING THIS FEATURE, YOU CONSENT TO THE TRANSMISSION OF THIS INFORMATION.  Microsoft does not use the information to identify or contact you.

Computer Information.  The following feature uses Internet protocols, which send to the appropriate systems computer information, such as your Internet protocol address, the type of operating system, browser and name and version of the software you are using, and the language code of the device where you installed the software.  Microsoft uses this information to make the Internet-based service available to you.

 • Digital Certificates.  The software uses digital certificates.  These digital certificates confirm the identity of Internet users sending X.509 standard encrypted information.  The software retrieves certificates and updates certificate revocation lists. These security features operate only when you use the Internet.

b. Misuse of Internet-based Services.  You may not use this service in any way that could harm it or impair anyone else’s use of it.  You may not use the service to try to gain unauthorized access to any service, data, account or network by any means.

4. PRODUCT KEYS.  The software requires a key to install or access it.  You are responsible for the use of keys assigned to you.  You should not share the keys with third parties.

5. MANDATORY ACTIVATION.  THE SOFTWARE MAY REQUIRE ACTIVATION TO PREVENT ITS UNLICENSED USE.  IF SO, YOU WILL NOT BE ABLE TO USE THE SOFTWARE IF YOU DO NOT ACTIVATE IT AS DESCRIBED DURING INSTALLATION.  You can activate the software by Internet or telephone; Internet and telephone service charges may apply.  Some changes to your computer components or the software may require you to reactivate the software.  THE SOFTWARE WILL REMIND YOU TO ACTIVATE UNTIL YOU DO.

6. MICROSOFT .NET FRAMEWORK 2.0.  The software contains Microsoft .NET Framework 2.0 software.  This software is part of Windows.  The license terms for Windows apply to your use of this .NET Framework component.

7. SQL SERVER BENCHMARK TESTING.  You must obtain Microsoft’s prior written approval to disclose to a third party the results of any benchmark test of the SQL Server software that accompanies this software.

8. MICROSOFT .NET FRAMEWORK BENCHMARK TESTING.  The software includes the .NET Framework component of the Windows operating systems (“.NET Component”).  You may conduct internal benchmark testing of the .NET (“.NET Component”).  You may disclose the results of any benchmark test of the .NET Component, provided that you comply with the following terms:  (1) you must disclose all the information necessary for replication of the tests, including complete and accurate details of your benchmark testing methodology, the test scripts/cases, tuning parameters applied, hardware and software platforms tested, the name and version number of any third party testing tool used to conduct the testing, and complete source code for the benchmark suite/harness that is developed by or for you and used to test both the .NET Component and the competing implementation(s); (2) you must disclose the date(s) that you conducted the benchmark tests, along with specific version information for all Microsoft software products tested, including the .NET Component; (3) your benchmark testing was performed using all performance tuning and best practice guidance set forth in the product documentation and/or on Microsoft’s support web sites, and uses the latest updates, patches and fixes available for the .NET Component and the relevant Microsoft operating system; (4) it shall be sufficient if you make the disclosures provided for above at a publicly available location such as a website, so long as every public disclosure of the results of your benchmark test expressly identifies the public site containing all required disclosures; and (5) nothing in this provision shall be deemed to waive any other right that you may have to conduct benchmark testing.  The foregoing obligations shall not apply to your disclosure of the results of any customized benchmark test of the .NET Component, whereby such disclosure is made under confidentiality in conjunction with a bid request by a prospective customer, such customer’s application(s) are specifically tested and the results are only disclosed to such specific customer.  Notwithstanding any other agreement you may have with Microsoft, if you disclose such benchmark test results, Microsoft shall have the right to disclose the results of benchmark tests it conducts of your products that compete with the .NET Component, provided it complies with the same conditions above.

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.

10. BACKUP COPY.  You may make one backup copy of the software.  You may use it only to reinstall the software.

11. DOCUMENTATION.  Any person that has valid access to your computer or internal network may copy and use the documentation for your internal, reference purposes.

12. TRANSFER TO A THIRD PARTY.  The first user of the software may transfer it, and this agreement, directly to a third party.  Before the transfer, that party must agree that this agreement applies to the transfer and use of the software.  The first user must uninstall the software before transferring it separately from the device.  The first user may not retain any copies.

13. EXPORT RESTRICTIONS.  The software is subject to United States export laws and regulations.  You must comply with all domestic and international export laws and regulations that apply to the software.  These laws include restrictions on destinations, end users and end use.  For additional information, see www.microsoft.com/exporting.

14. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it.

15. ENTIRE AGREEMENT.  This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services.

16. APPLICABLE LAW.

a. United States.  If you acquired the software in the United States, Washington state law governs the interpretation of this agreement and applies to claims for breach of it, regardless of conflict of laws principles.  The laws of the state where you live govern all other claims, including claims under state consumer protection laws, unfair competition laws, and in tort.

b. Outside the United States.  If you acquired the software in any other country, the laws of that country apply.

17. LEGAL EFFECT.  This agreement describes certain legal rights.  You may have other rights under the laws of your country.  You may also have rights with respect to the party from whom you acquired the software.  This agreement does not change your rights under the laws of your country if the laws of your country do not permit it to do so.

18. DISCLAIMER OF WARRANTY.   THE SOFTWARE IS LICENSED “AS-IS.”  YOU BEAR THE RISK OF USING IT.  MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS.  YOU MAY HAVE ADDITIONAL CONSUMER RIGHTS UNDER YOUR LOCAL LAWS WHICH THIS AGREEMENT CANNOT CHANGE.  TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.

19. LIMITATION ON AND EXCLUSION OF REMEDIES AND DAMAGES.  YOU CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00.  YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES.

This limitation applies to

 • anything related to the software, services, content (including code) on third party Internet sites, or third party programs; and

 • claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, or other tort to the extent permitted by applicable law.

It also applies even if Microsoft knew or should have known about the possibility of the damages.  The above limitation or exclusion may not apply to you because your country may not allow the exclusion or limitation of incidental, consequential or other damages.

Please note: As this software is distributed in Quebec, Canada, some of the clauses in this agreement are provided below in French.

Remarque : Ce logiciel étant distribué au Québec, Canada, certaines des clauses dans ce contrat sont fournies ci-dessous en français.

EXONÉRATION DE GARANTIE. Le logiciel visé par une licence est offert « tel quel ». Toute utilisation de ce logiciel est à votre seule risque et péril. Microsoft n’accorde aucune autre garantie expresse. Vous pouvez bénéficier de droits additionnels en vertu du droit local sur la protection dues consommateurs, que ce contrat ne peut modifier. La ou elles sont permises par le droit locale, les garanties implicites de qualité marchande, d’adéquation à un usage particulier et d’absence de contrefaçon sont exclues.

LIMITATION DES DOMMAGES-INTÉRÊTS ET EXCLUSION DE RESPONSABILITÉ POUR LES DOMMAGES.  Vous pouvez obtenir de Microsoft et de ses fournisseurs une indemnisation en cas de dommages directs uniquement à hauteur de 5,00 $ US. Vous ne pouvez prétendre à aucune indemnisation pour les autres dommages, y compris les dommages spéciaux, indirects ou accessoires et pertes de bénéfices.

Cette limitation concerne :

 • tout  ce qui est relié au logiciel, aux services ou au contenu (y compris le code) figurant sur des sites Internet tiers ou dans des programmes tiers ; et

 • les réclamations au titre de violation de contrat ou de garantie, ou au titre de responsabilité stricte, de négligence ou d’une autre faute dans la limite autorisée par la loi en vigueur.

Elle s’applique également, même si Microsoft connaissait ou devrait connaître l’éventualité d’un tel dommage.  Si votre pays n’autorise pas l’exclusion ou la limitation de responsabilité pour les dommages indirects, accessoires ou de quelque nature que ce soit, il se peut que la limitation ou l’exclusion ci-dessus ne s’appliquera pas à votre égard.

EFFET JURIDIQUE.  Le présent contrat décrit certains droits juridiques. Vous pourriez avoir d’autres droits prévus par les lois de votre pays.  Le présent contrat ne modifie pas les droits que vous confèrent les lois de votre pays si celles ci ne le permettent pas.

Thursday, May 31, 2007 1:51 PM by C# ExpressEULA

# re: Microsoft vs TestDriven.Net Express

Regardless of who I think is right or wrong, I am wondering from a business perspective, why you would even want to go down this road.  It seems to me that most serious developers, who would be most likely to find TDD.Net of value would not have a problem moving up to a non-Express SKU.

Bill Gates and Steve Ballmer are not going to lose any sleep over this issue and it won't affect their ability to pay the monthly mortgage.  Is this really the hill you want to die on?  Sometimes you gotta pick your battles.

Thursday, May 31, 2007 2:00 PM by Joe Brinkman

# re: Microsoft vs TestDriven.Net Express

My advice to Jamie

Thursday, May 31, 2007 2:07 PM by Jan Van Ryswyck

# re: Microsoft vs TestDriven.Net Express

Whatever happened to "Developers, developers, developers, ..."?

This seems totally at odds with the whole point of VS Express.

Anyway, kudos, Jamie. TestDriven really works great for what it intended to do, especially compared to the lame duck test runner UI in VS2005 Team System Ripoff Edition.

Thursday, May 31, 2007 2:14 PM by mash

# re: Microsoft vs TestDriven.Net Express

You're crazy if you think TestDriven can get away with this.  Microsoft has hundreds of ISV's extending Visual Studio and we get together in Redmond a few times a year for deep dives with Microsoft.  We can all see how you've hacked your way into C# Express and could easily make the same hacks.  There's nothing creative or brilliant about your hack.  You're injecting code.  Congratulations  We would all like to integrate with C# Express but we play by the rules because we're trying to partner with Microsoft.  You might be able to fool these people into thinking that you've created legal extensions but any Visual Studio expert can see right through what you've done and know that you're hacking.  There are hundreds of us that Microsoft could have testify on their behalf.  Jason is right to refer to TestDriven as a hack.

Thursday, May 31, 2007 2:37 PM by Michael

# Discord and Discontent in Microsoft Community

First, Microsoft is causing legal troubles for Jamie Cansdale of the TestDriven.Net. Yes, Microsoft is...

Thursday, May 31, 2007 3:06 PM by Lazy Coder

# re: Microsoft vs TestDriven.Net Express

You sound like a shame Michael, suppose that you are right.

M$ is the "evel empire" that everybody said, so the discussion here is more bigger than that.

If you create a program that inject code in Windows 2000 to solve some task, you are breaking the EULA ??

OMG !!  Mike Gunderloy was so damn right when said that a dev world full of patent claims is the worriest side that we can go.

Damn you M$ !!

You make a community really hungry, the battle just start and I see a lot of MVP giving the reason to Jamie, so stop to scary us with your patents.

The idiot decision about the Ribbon UI is just another proff of the level of evil people at M$

Thanks to god, there are some really good developers inside the company, because that day that you lost that, you are in the final.

Thursday, May 31, 2007 3:14 PM by Marcos

# re: Microsoft vs TestDriven.Net Express

This is just sad... :(

Thursday, May 31, 2007 3:24 PM by Jonas Follesø

# re: Microsoft vs TestDriven.Net Express

Isn't this what you expect from Microsoft? Microsoft's Anders Heilsburg has been arrogant for 10 years about C# claiming he designed a new language. Microsoft's Scott Gutherie has been arrogant for 5 years that ASP.Net is better than PHP/Ruby. Microsoft's Rick Lavant has been arrogant for 2 years about VSTS being innovative. Now Microsoft's Jason Weber is being arrogant about Visual Studio. We just need someone to be arrogant about .Net platform and we'll have a full house. Anyone?

Thursday, May 31, 2007 3:38 PM by James Stoute

# re: Microsoft vs TestDriven.Net Express

I know nobody wants to hear this but I don't understand why surprised by this kind of thing.  This is the standard operating procedure for MS.

I've never understood why anyone would choose to get close to MS.  It's like playing with a grown lion.  The lion might seem nice until it eats your face.

Thursday, May 31, 2007 3:42 PM by James

# re: Microsoft vs TestDriven.Net Express

Stop creating stuff for M$ products; if you had created an Eclipse plugin, you would not be in this situation. Play with fire, and you'll get burned.

Thursday, May 31, 2007 3:49 PM by Adrian

# re: Microsoft vs TestDriven.Net Express

The way i see it the best you'll be able to do is argue about the fact that Microsoft made it hard enough to technically prevent people from installing extensions into Visual Studio Express.. So, even if you're willing to go down that path, it's only a matter of time untill they come up with better way to stop people using 'the hole'...

Thursday, May 31, 2007 3:51 PM by Tim Van Wassenhove