Visual Studio Express and TestDriven.NET

* Updated with follow up post on technical information in response to the comments.

While I’m not a lawyer, my team owns Visual Studio Express and I wanted to respond to the concerns expressed by some over our recent communications with Jamie Cansdale of TestDriven.NET. TestDriven.NET is a 3rd party add-in to Visual Studio that provides testing functionality in Visual Studio. To be clear, we have no issue with the product (or Jamie for that matter), or its sale for use in professional versions of Visual Studio. However, Jamie has also made available a version of his product that extends the Visual Studio Express Editions which is a direct violation of both the EULA and “ethos” of the Express product line.

As you may remember from my previous posts, Visual Studio Express was a labor of love. It was a small miracle getting Express to be available both for free and for commercial use for customers let alone the engineering work to get it up and running, We made a business decision to not allow 3rd party extensibility in Express. The reason we’re able to offer Express for free and even let developers build commercial applications with Express is because we limit 3rd party extensibility of Express, specifically by removing support macros, add-ins, and VSIP packages. Unfortunately, in this one instance, we have one company that chose to exceed the license grant and develop additional features into the Express products that are not allowed. Additionally we have over 300 VSIP partners with over 1,000 legal Visual Studio extensions that cannot extend Express. It doesn’t make business sense when our biggest and best partners are legally unable to extend Express, yet Jamie’s company can.

As for Jamie, we’ve been asking him in multiple emails and conference calls to stop extending (just Express) since before Visual Studio 2005 even shipped. We even got the General Manager of Visual Studio to personally talk to him on the phone to plead with him to remove Express extensibility. Closely following that, Jamie took the violations to heart and removed Visual Studio Express extensibility for several months. Only recently did he decide to add Express support back to TestDriven.NET and only after another round of conversations and close to two years of trying to avoid escalating this situation, we felt compelled to deliver our message in a different form.

The Express Customer
The vast majority of our customer base, now with 14 million downloads, isn’t even professional developers, its non-professionals. In fact over 80% of Express registrants don’t describe themselves as a “developer”. From a total number perspective, beginners are the largest segment of Express customers and they still find Express too complex, it has too many features, and they see development as a means to an end (I just want to create my kids soccer league Web site). Our Express customers haven't been asked for unit testing or extensiblity in much the same way as I didn't ask or even know to ask when I grew up programming BASIC on an Apple IIe. Heck even professional developers with years of programming experience can't program FizzBuzz

It’s unfortunate that this happened, but as you can see, we have been very patient with Jamie and it’s our hope he will remain in compliance of the Visual Studio Express Editions license agreement.

If the choice was between not ever having released Visual Studio Express (or not releasing it in the future) or having Visual Studio Express with an explicit limitation to block extensibility, which would you chose? As an advocate for the (wholly neglected) beginner customer and as an employee that understands Microsoft is a business at the end of the day, it seems like a perfectly reasonable tradeoff to make that, in the end, provides the best tools possible to an entire class of customer that may never have picked up programming without it.

Comments (349)
  1. Bjoern Graf says:

    The only thing that bothers me here is that, if the Express SKUs ain’t supposed to be extandable, how do XNA Game Studio Express and the Popfly thingy work? Are these possible because they are from inside MS or is it possible for external devs to get (e.g. buy) some sort of license to extend the Express SKUs for their own, special (and possible narrow) domain?

  2. Johan Idstam says:

    Is there anyway to see the license without downloading the package?

  3. Ian Ringrose says:

    When teaching someone how to program, I can not imagine getting them to write code without unit tests.  TestDriven.Net lets unit test be done in a painless way, without it Visual Studio Express is not very useful for someone leaning how to program.  Do you wish to drive everyone that cares about unit testing to Java (with it’s free extendable tools)?

    I am a developer that has worked with C# for the last few years, before that I worked with MFC and I have always been positive about Microsoft; I am also a Microsoft share holder.  However given the unreasonable way Microsoft has tied to use its unlimited legal budget to attach Jamie Cansdale I now understand way so many developers hate Microsoft.  

    Is it safe for me as a developer without a large legal department to work with Microsoft technology?    (It will cost a lot more then I am paid in a month just to get a legal person to explain to me what one of the Microsoft licences means.)

  4. blowdart says:

    OK sure you’re aiming at beginning customers who don’t know what unit testing is; but here is a change to educate them, to improve their skills by introducing it and you stamp it out. (OK you can use nUnit et al externally, but Express users will probably want everything in one place)

    Saying Express users haven’t asked is, as you say, not an excuse. How to you ask for something you don’t know about, no matter how useful it is.

    I’m doing a few OU courses right now, including *spit* Java ones. And even the beginning Java course introduces unit testing. This is in BlueJay which has even less functionality than Express.

    I have a nagging feeling that part of the problem is that you didn’t even include unit tests in standard or professional editions for some bizarre reason, so of course how could it officially be put in Express.

    As for branding it "illegal"; is there a statute in the US legal code that says "You must not create add-ins for Visual Studio Express editions"? No. He may well be in breach of a license agreement, so he’s falling under contract law, and whilst yes, that may be "illegal", the use of the word is emotive and almost as disingenuous as the RIAA calling sharing of music "theft".

  5. Praveen says:

    I guess Microsoft cannot support extentions of Express as its a FREE community tool. It makes sense for them to KNOW the installation – to make it simpler to create starter-kits etc. When MS extends the same, it has a new baseline which it supports and so makes sense.

    I guess we have to remember the ethos of the express SKUs – its a free tool for the community to really get their hands dirty and have fun. If we start having plug-ins for team development etc or any other things for that matter – it becomes a open tool which will need to be charged for support and help.

  6. malcontent says:

    This is why open source is so much better. Nobody is going to sue you for developing a plug in for eclipse or netbeans or jedit.

    Ms you should be ashamed of yourself. Threatening your developers isn’t going to get you anywhere.

  7. Morgan says:

    Microsoft may "win" in the sense that the tool wont be in the Express editions but you will lose in all other ways in this "battle" against the community.

  8. Trumpi says:

    Microsoft is legally entitled to go after Jamie. But that doesn’t necessarily mean that they are right. I think they are wrong. They are provoking a breakaway movement and I’m seriously considering joining this movement after hearing about this.

  9. Dan,

    I think you’re still missing the point about the whole discussion, but maybe that’s different altogether. What I do wonder is…. if you’ve always been so worried about offending your VSIP partners (that’s a new one for ms, btw), and are so affraid of reducing sales of your paid SKUs… why bother with the express editions at all? Really, if this was such a big issue, you should just not have released them at all.

  10. You’ve been kicked (a good thing) – Trackback from

  11. BestSnowman says:

    blowdart, just because you think that everyone should be doing unit testing doesn’t grant one person to violate a license agreement. I’m sure there are many VSIP partners that believe that their product should be available in Express. But they are playing by the rules. Anyway, why does unit testing have to be included in VS Express? I have done unit testing with code created in Express, I just didn’t do it in the IDE.

    "As for branding it "illegal"; is there a statute in the US legal code that says "You must not create add-ins for Visual Studio Express editions"? No. He may well be in breach of a license agreement, so he’s falling under contract law, and whilst yes, that may be "illegal", the use of the word is emotive and almost as disingenuous as the RIAA calling sharing of music "theft". "

    What?? Violation of a contract, which is illegal, shouldn’t be called illegal?? What are you smoking?

  12. Wade says:

    As much as I like MS and the toolsets, it bothers me to see that you truly do not understand the common development community.   Most tech people experienced or not like to work with new tools and that is what Express gives to the developers at no cost (that is a good thing), but why kick the little guy for adding more functionality to the toolset??  Most people would think this is a great form of flattery that others want take a great product and build around it.  This is where the community comes in.   Why do you think things like DotNetNuke are so popular??  They took what used to be a starter kit and reworked it with extensibility in mind.  As the new add-ons grew, the core team took the best practices and built it into the core.  MS should be glad people are using there tools and being creative.   It is sad that MS has to be a bully instead of a partner.

  13. @Bjorn – There is no license one can buy for extending Express, although we’ve done some thinking around this in the future, it’s just too early to even say anything concretely

    @Ian/Blowdart – The real question isn’t about unit testing, but rather can one company exceed the license grant while everyone else cannot.

    @Tomas – So if you were in our shoes, you would have never shipped Express knowing it would be free and could be used for commercial use so long as it blocked extensibility?

  14. There are really two issues here regarding what Jamie did:

    1) Extending the Express version

    It’s clear that the Express versions aren’t extensible, and I fully support MS’s reasons for this. Jamie was wrong in extending the Express version, regardless of WHAT he extended it with.

    2) Adding testing ability to Express

    Here I think that MS should "get with the program"! TDD is the way programming is done nowadays, at least for most people. TDD isn’t just for highly skilled professional software developers – the target audience for Express versions DO need this ability too!

  15. blowdart says:

    @BestSnowman you missed the point, violating the contract is illegal; but calling the actual extension itself illegal is disingenuous; Jame may have broken the contract, the extension can’t, it’s not an entity, it can’t enter into a contract to break it.

    Nor did I say that just because it’s unit testing it’s ok; the comment was more to address the fact that if Express is aimed at beginners or students why don’t they deserve tools that are now commonly acknowledge as improving quality. "It’s too complex" isn’t an excuse; I still find that damned ribbon bar too complex on Word 2007, but that got in. Having a simple interface which you can toggle on and off is a no brainer.

    And Daniel no the question isn’t really about the license, it’s about the restrictions you (well you as in Microsoft) put upon it, and it’s effect on users.

  16. Joe Brinkman says:

    Why is Microsoft in the wrong for protecting it’s rights?  Prior to VS2005 we didn’t have free versions of Visual Studio.  As a result of the communities reaction on this issue, I am afraid that we may be headed back in that direction.  People point to Microsoft extending its own product through extensions as if that somehow justifies someone else violating the license.

    People also say that Microsoft is being heavy-handed, but as I look back at the email trail that Jaime posted, I see Microsoft bending over backward to try and work out a reasonable compromise.

    Having worked for 4 years on an Open Source project, I can totally understand what Microsoft is facing in this case.  No matter how much you give people for free, they always want more, and in some cases they are willing to violate the spirit of trust and goodwill by going beyond what the license allows and openly flouting their violation to boot.

    What would be the response if I took Linux, made a bunch of code changes and distributed the new binaries but refused to give out the source code?  Everybody on the planet would come down on me for violating the terms of the GPL.  So why are people not doing the same here?  

  17. BestSnowman says:

    @blowdart I don’t see Microsoft saying that Express users can’t unit test. This is about TestDriven.NET integrating with Visual Studio Express being against terms of service. As far as I am aware NUnit doesn’t violate the Express terms of service.

  18. Hugh Brown says:

    Can you please cite the portion of the Express EULA that says that developing extensions for the platform are not within the agreement? I haven’t read the EULA, but in all the wrangling, no one has quoted this part. It’s easy to conclude it does not exist.

    Two things: I doubt very much that the General Manager of Visual Studio who spoke to James Cansdale "pleaded" with him, and I don’t buy the argument that the user community is confused by unit testing and that discouraging the creation of the addin is the solution.

  19. Pete says:

    Maybe Microsoft can explain the exact legal position here. The license is an end user license, it applies to the user. Jamie broke the license developing this on express (but I guess would not have broke it if he developed it on VS Pro), this was a personal violation. If someone installs test on express they also break the EULA (not Jamie). What is the legal position on him redistributing test, how does the EULA apply in this situation? We need to remember that this is covered by English law, not US. The EULA clause quoted in the correspondence with the lawyers is very vague and could easily be laughed at by a judge if he was in such a mood.

    Another question has to be, if express shouldn’t be extended why has Microsoft left the functionality in place. An expensive legal and PR incident could easily have been avioded by a few code changes. Will heads be rolling inside MS for this?

    I see the business case why Microsoft doesn’t want it to run on express. But I also see a huge PR disaster brewing, they are seriously alienating their developer community with their handling of the whole incident. The last thing Microsoft wants to do is go to court on this incident, they could afford the lawyers but could they afford another dent in their reputation. I think Jamies has put them between a rock and a hard place in his response to the whole incident, the fact that Dan has even made this blog post validates this.

  20. Nektar says:

    Users should pay for features. Features which you (Microsoft) has developed. I should pay for what I get and not for what I or the community, with my own hard efford, can develop, can achieve. Extensibility is a selling-point of a software, a point for making an application even more popular, by making it even more useful. It creates a platform which could encourage users to migrate into more professional and thus to pay to higher-end versions of the product. It turns a product into a platform which is enhansed, like in the many examples in the open source world, by other hobbyists for hobbyists. In other words, extensibility makes a product more atractive to hobbyist developers who could increase the value of the product itself by creating addins for it and at the same time makes migrating into non-free versions of that same product more realistic for such hobbyist addin developers who will be willing to get a more advanced version of the platform they have built on.

    Product competition is good. It drives the quality of a product higher and higher. Stop Avoiding it by constructing legal obstacles. Removing extensibility from VS Express removes a window of competition from the hobbyists and open source addin developers. It also removes the value that such extensibility developers offer. It further removes from Microsoft the burden of making the non-free versions of VS more competitive by including features that cannot be easily added to the free editions of VS by the developer community. Windows is popular because it is an open platform and Microsoft does not charge for that ability to extend it but for actual features that have cost money to be developed.

    Look at the research and academic community now extending Eclips. What about Vs? Don’t you want the same research community to develop around it?

    Come on. The reason that you have removed extensibility from VS Express is not because you want it to be as simple as possible but is because you do not want it to become more powerful than the "free" version that it is now. "Be limited and always remain so". At least acknowledge it.

  21. Bill says:

    Dan, I just discovered your blog the other day, and started using Visual Studio Express a few days prior.

    If somebody is in breech of the license, I hope Microsoft handles it and allows Visual Studio Express to continue. I’m a high school student looking into a career in programming, and if it weren’t for Visual Studio Express, I’d be wholely unequipped to deal with C#, VB.NET, and C++.

    Microsoft did a great thing by letting Visual Studio Express go free – I hope that people won’t blow it.

  22. Nektar says:

    I think you should create a poll for people to vote if they want Vs Express extensibility. It is amaizing that you think that VS Express extensibility is not important given the success of other products with their extensibility mechanisms, like for example Firefox. Where, where, where are the rich free extentions for VS? Where is the addin repository. Why haven’t you created a good VS extensibility community? Why are you so much focused on your commercial extensibility partners and only partners? Please consider adding such functionality in the future.

  23. GoLinux says:

    The answer is clear. Abandon Microsoft and move to better technology without all the stupid legal encumbrance.

    I’ve been MS free for 4 years and never looked back.

  24. Justsomeguy says:

    If MS doesn’t want their slimmed down version of VS to support any add-ins or extensions, then they should be clever enough to code their software that way.  This is another example of how MS has a weak team of developers and a strong team of lawyers.  Software development is about skill and smarts, not about who has a bigger legal staff.  If you can’t code your basic VS software to not allow the use of plug-ins, then they should be allowed.  MS appears to be making little to no effort on the actual development side to prevent this from happening.  Weak developers coding weak software on a weak operating system.

  25. Ben Thomas says:

    If it’s not supposed to be extendable, stop whining and just change the express codebase to prevent extensions.

  26. whocares says:

    "a version of his product that extends the Visual Studio Express Editions which is a direct violation of both the EULA"

    Just to put this part of the issue to the rest – can you please provide the exact part of the EULA you are referring to ? This should be a no-brainer since there is a __direct violation__.

    Thank you

  27. fross says:

    The problem here is Microsoft thinks it has the right to impose unreasonable conditions in a license, and can thus dictate to a user what they can and can’t do, effectively controlling them to impose their business model.

    Imagine if a car manufacturer came out with a way of limiting a car to going 20 mph, or say limiting its operating distance or something.  It decides to sell that car cheap, because it performs poorly.  And a user comes up with a way of improving  the performance of that car, not by hacking out the limitations, but by adding their own bit that makes it perform better.

    Would you expect the car manufacturer to turn round and say "no, you’re not allowed to do that, because when you bought this car you agreed you wouldn’t drive it at over 20mph (or whatever)"?

    No.  they’d realise they f***ed up and ended up making a poor business decision.  Cut their losses and run.  Microsoft thinks it can dictate user behaviour by selling something for cheap or giving it away.  They do not have the right to do this, no matter what they may argue.

  28. Terry Carmen says:

    It’s attitudes like this that have driven me *away* from Microsoft and *to* Open Source.

    I understand the reasons for not wanting a cool addition to a commercial product designed solely to trap new programmers into an ever-escalating upgrade path, however I certainly don’t approve.

    I’ve spent the past 20 years building software based on various Microsoft platforms, but now recommend various Open source technologies almost exclusively.

    There’s nothing like knowing that when something new and cool comes out, I can have it immediately, legally and for free. And if I write something cool I can do what I want with it, without someone telling me I can’t do it because it cuts into their profits.


  29. WarpKat says:

    One of the things that bothers me is the way MS has gone about this that doesn’t even consider the contribution.

    I think the EULA should be reworked to say that any 3rd party plug-ins available for the Express edition must be given away for free and any code or binaries distributed using such methods must also be given away for free – just so MS doesn’t lose out on its profiteering rampage.

    This isn’t about licensing.  This is about getting people to use the Express product, which in turn would compel them to BUY the next step up so they could make a profit by whatever program they feel might be useful.

    Of course, it’s a business, but MS tends to take a more hard-nosed approach when it comes to licensing and such almost like there’s a stick somewhere where it shouldn’t be.

  30. oneDeveloper says:

    What a short-sighted, community-hostile position for Microsoft to take. Look at how community addons have symbiotically benefitted other software products, from games to web frameworks.

    Being hostile to community add-ons is just going to drive developers and students to other platforms which do allow community contributions.

  31. Eric says:

    What is the provision in the license forbidding what the author did?

  32. C says:

    #1 Could you point out which paragraph of the EULA says that one cannot develop add-ins for express?  It seems to me that MS doesn’t want add-ins developed, but I don’t see where the end user is legally contracted not to do it.  If MS had a legal recourse to say "this violates our EULA cease and decist" they would have, instead they got as many big wigs to plead with this guy to knock it off because they know that this is a hole in the dike, and one of their own making.

    #2 Bill "Microsoft did a great thing by letting Visual Studio Express go free – I hope that people won’t blow it."  MS did a business savvy thing not a great thing, and it won’t be the people blowing it it wil be MS blowing it.

  33. SomedayMSwillChange says:

    When will you guys grow up ?

    Its a small life. Do you want to alienate the whole developer community ? You guys are going to lose out big time. Wait till people go back to Java and quit using .NET. All the best.

  34. convivialdingo says:

    The way I see it is simple… you created a community edition and now seek to control that community.

    You want people to create and develop new ideas – but only if they stay planted firmly under your own foot.

    You don’t even provide unit testing tools – this guy is DOING YOU A FAVOR for nothing.  If you were truly supporting the community you’d be praising him and asking for a non-fee cross-licensing agreement.

    After all – what you’re really loosing in this fracas is your own face.

    I’m a pro MSDN subscriber – and I’m throwing my vote at Jamie for this one.

  35. curmudgeon says:

    Many vendors release "crippleware" versions of their product. We can regard these versions as "free samples". If a user likes the product but wants full functionality, they can then shell out some cash and buy the full-featured version. This is nothing new in the world of development tools. Borland (JBuilder, etc.) has been doing it for years. We have a third-party vendor who is circumventing that business model. He is in violation and should be sued. If you don’t like it, write your code in Java or something else.

  36. Richard K. says:

    Buy yourself a MAC! Free yourself from hegemon! Isn’t it ironic that a common refuge of the MS reactionary is a computer with possibly a more tightly controlled stack? But really, it’s so much better.  

    In the final though, we’re all so much better if none of these jokers run the world.  We need an open standard for office docs (hey we already have several) and then kick these squabbling resource hogs to the curb.

  37. Zach says:

    If Microsoft doesn’t want people writing plugins for Express, how about disabling the ability to write plugins?  You have a feature sitting right there waiting to be used, then telling people "even though it’s fully functional and able to be used and toying with you and playing with you and CALLING you, don’t do it."

  38. Steve Kaynes says:

    It’s funny to see someone from Microsoft leaning on "ethos."

    "…Jamie has also made available a version of his product that extends the Visual Studio Express Editions which is a direct violation of both the EULA and “ethos” of the Express product line."


  39. Alan Jones says:

    This is an example of why I would not donate my time or effort as a developer to working on Microsoft products, let alone extending them and supporting the Microsoft developer community with free tools.

    Your argument that Jamie is in violation is fundamentally flawed as you’ve said the expression edition doesn’t allow addons. This means it is the user of the addon on Express edition who is in violation, not Jamie.

    Instead of proving that suing is the only solution Microsoft is capable of coming up with why not discuss integrating Jamie’s tool into the standard release of Express? Then it’d truly demonstrate your interest in the community’s support of your product as well as remain inkeeping with your extension policy.

    Still let’s not let logic get in the way of the opportunity to sue somebody.

  40. Another Astroturfer says:

    Bad developer!  BAD!

    We can’t have testable software!  Why, if the public understood that software can be unit tested and validated, they might just question why our softwa… I mean Microsoft’s wonderful software behaves the way it does.

  41. ShieldW0lf says:

    If the choice was between not ever having released Visual Studio Express (or not releasing it in the future) or having Visual Studio Express with an explicit limitation to block extensibility, which would you chose?

    What a load of bullshit.  Visual Studio Express exists because the entire MS platform relies on "Developers, Developers, Developers!" as Steve so eloquently put it during his little dance number.

    Free development environments are prolific.  VS Express isn’t exactly food for the starving masses motivated by philanthropy.

  42. ThomasW says:

    So he ignored an EULA. In fact, it’s not even clear he did that, but assuming that he did, so what?

    Did he pay for the product? If so, then he can do what he likes as long as he doesn’t breach copyright. After all, it’s his software.

    It might help if MS could point to any legal reason this guy can’t write his own software for people to use with their own software on their own computers.

  43. dominic says:

    i cant believe how people can put up with this .. just f* move to  netbeans/eclipse and drop this cluster sewage of a framework altogether !

  44. mm says:

    Why didn’t you simply remove the ability for Express to load third party add-ins?

  45. noTHINGface says:

    Where’s the common sense? Why not disable this feature in your product to prevent this extension of functionality? Not hard to reach this conclusion now is it, I’m more than happy to come along and perform some root cause analysis sessions with you, you know, in case that helps?

    I have zero confidence in the ubiquitous EULA, I don’t think that I’m alone either. You state that you’re not a lawyer (though quite enjoy bandying the words ‘legal’ and ‘illegal’ around in your requiem) but I did figure you as a smart man.

  46. c. says:

    Why is this kind of nonsense even in the license? You’re just blowing another technical issue up into a legal (and PR; you’ve be slashdotted) problem.

    You made a design decision to not have VS Express support add-ons. That was a development requirement. Someone created an add-on, and it worked. You obviously screwed up.

    Patch the bug, ship an update.


  47. Dirk says:

    Am I being completely stupid or am I the only one wondering why the developers at Microsoft cannot stop the loading of extensions for the Express version of VS? After all it knows it is the Express version when it is running, so why is this a huge issue? Why not just fix the code????

    In any case, reading the blog, it seems to me that the problem that the chap has, is that it is *not* at all clear in any of the licence text that loading extensions is, in fact, prohibited. And worse, Microsoft won’t tell him precisely what paragraphs apply.

    Which all smacks of Microsoft being caught with its pants down, having both failed to stop the loading of extensions in the software and also not making its conditions of use clear in the EULA – so it is using the only weapon it has left which is: we have more money than you, we can last longer than you, roll over or we sue you into bankruptcy. Super Job on the PR front!

  48. Jan Orsted says:

    Nowhere I could find a clear statement what part of the license was allegedly violated. Your lawyers, and of course you, can’t even specify what he actually did wrong. You put pressure on him in the past, trying to scare him. And you have the nerve talking about "ethos"?

    The thing is, you just don’t like it, so you send the boys around. Because you can. And by doing so, you render your boss, Ballmer a liar. Remember him shouting "Developers! Developers! Developers!"?

    You have indeed sent a clear message to the developers community. A developer working on Windows, using .NET will be destroyed at a wimp if fallen to disgrace. "Do this, or ‘else’!". Not only that Microsoft has threatened so sue Linux developers left right and center, no, now MS feels so omnipotent that they think they can get away with attacking their own developers. Apparently all dams have been broken at Microsoft. It was never the most ethical company in the world (again, how could you dare to talke about "ethos"?) but now it has sunken to a new low.

    Look up the term damnatio memoriae. Because this is what will happen to Microsoft when all this is over in a few decades.

  49. Egonomic says:

    So, the only  two options MS has, are to either supply crippled software for free, or no software for free? That must be a hard life to live indeed.

    As has been mentioned, OSS tools have no such incumberances and are growing in popularity (which I’m sure is a driving force for Express editions). Your tool is less capable, but you play a good spin on it. You say "look, we give it to you for free, so love us or get out" You have a false assumption that software must be charged for nessisarily.

    If MS so chose, they could more than easily open up their dev tools simply for the huge draw of developers it would bring. So stop playing a game of words, you were never limited to 2 options by any force other than yourselves.

  50. Rick says:

    "I’m sure there are many VSIP partners that believe that their product should be available in Express."

    And there’s the rub, they are VSIP partners, they have a contract. If this guy has had his MS credentials pulled, is nothing more than a hobby coder, and has no contractual obligations to MS, what contract is he in violation of? He could write his plug-in in note pad and compile it manually. The only people who are in violation of a contract is the people who install his plug-in on VS.Net Express.

    I’m all for protecting the monetary investment MS has made in .Net. I strongly prefer .Net and VS over Java and Eclipse, I think for many situations it is a better tool. But VP’s don’t like hearing about developers getting sued for using a programing language. All I need now is for some quasi-informed middle manager to start spreading FUD about how MS is suing developers using .Net and people will push for a move to the Java platform.

    In closing, make the problem go away. Buy out his project, incorporate it into VS.Net, and include it on your own in the Express version. Everyone wins. You save the costs of legal fees, add direly needed functionality to your application, and shrink the arguments for using a competitor’s product. Mean while us users get new functionality, legal stability, and a feeling that MS is not fighting against it’s own community.

  51. Nicholas Weaver says:

    This seems a dangerously bad attitude, on Microsoft’s part.

    a:  What section of the liscence is TestDriven.NET violating?  Just cite the paragraphs and be done with it.

    b:  Why should Microsoft care anyway?  

    There’s no support cost for the VS Express users (you just tell them to "go away"), and there is no support BENEFIT (which is why people pay for dev tools) so its not like it costs real sales.  And development tools are not about making money anyway.

    Me?  Any hobby development I’ll do on the Mac, where Apple doesn’t charge for the devolpment tools.  Or under *Nix.  

    And anyone I know who’s interested in hobby programming, my response is going to be "Get a Mac Mini for $600, download the development tools, and have a nice day".

    And look at Xilinx, a company which actually gives you REAL $$$ support when you pay for the dev tools (and really have very little hobbiest market at all).  

    They offer free tools as well, the difference is the limit in size (you can only target the small parts), not in usage.

  52. @Dan: What I meant was maybe shipping express might have been a mistake if you didn’t want an ecosystem to develop around it. And more importantly, don’t ship it if you were going to be in constant fear of having it cannibalize your paid-SKUs.

  53. Matt Lee says:

    If it comes down to refusing to help people or breaking the terms of the license; he should do the right thing and continue helping people. Microsoft should embrace people using its tools, even free versions.

    ultimately, people should take this as a warning and move to Eclipse. Java will be GPL soon, so a great time to move awaits.

  54. Rottz says:

    Well, he (Jamie) surely didnt violate the EULA. Whoever installs the addon _MAY_ violate it (I havent read it). That´s 2 very different things, you cant sue him for that.

    Oh, and even violating an EULA isnt illegal. It just breaks the agreement and then the user isnt anymore allowed to use the software (and if he does, THEN it is illegal — it´s not the breaking the agreement itself the illegal part).

  55. Ben says:

    MS: "Developers: You have to *pay* to develop on our platform, you have to be careful not to use our APIs in any way or we’ll sick lawyers on you and you have to learn our languages, which are non-standard and rather poorly designed.  Customers: You’ll likely have to pay for the software developed by the developers, since we’re charging them copious amounts of money to produce it, the code is typically not available to you for this reason – so if the company producing it goes under, you’re hosed.  We’re also sticking DRM into everything so you might not be able to use all content you’re legally entitled to."

    Open Source Community: "Free development tools, free code, free software, use whatever language you want and do pretty much anything you want."

    You guys limit and sue or threaten to sue developers, customers, competition… when you should really be as sensitive as possible at this point.  You’re being carefully watched and criticized more than ever before – and you will see your market share drop as a result of this stupidity.  You can’t operate the way you used to – get used to it.

  56. Patrick says:

    Citing "ethos" of a product does not instill a strong sense that MS has a legal leg to stand on, especially since the "ethos" of this debate is pretty obvious from the outset.  Then you have your product manager plead with him, presumably out of benevolence rather than need.  But still, pleading.

    The rules of debate are simple.  When asked to back up your assertions you either do so or you are assumed to be wrong.  MS has been asked to show the portion of the EULA that Jamie is in violation of and to state what the violation is, and as far as my research has found, they have not done so yet.

    I presume at this point that the lack of explicit response to these calls for citation is exactly why Jamie has reinstated Express support in his product and refuses to cooperate.  It’s time for MS to put up or shut up because the "ethos" of the Express project is looking more sour by the day.

  57. Peter says:


    If Microsoft doesn’t back down, please consider porting your framework to a free software IDE.  Many people don’t realize the "free" in free software is about just this sort of freedom, and not about price.

    If you choose to take that path, other developers will be able to build upon your work, and that is the entire reason it exists, and is better for the developer.

  58. Pavel says:

    It’s very strange that MS considers having or not having extensibility support a major point of difference. Granted, it’s important, but there’s so much more that VS Pro offers over VS Express…

  59. Tyler says:

    An "easy" way to enforce the whole "no extensions allowed" clause is for MS to add an explicit check in Express to prevent the extensions from… er… well… extending!  

    If this is genuinely critical for MS to prevent such extensions from running, it is well within their power to do so and then any attempts to create an extension that gets around this is clearly "hacking" and very explicitly an attempt to get around the license agreement.

    Am I wildly naive here?  why do I not see this as a consideration in the blogging and ping-ponging?

  60. Petey says:

    I’ve scanned the Express EULA several times and cannot find the specific section(s) that Jamie is violating.  Maybe I just missed it.  Can anyone post it for me.  I ask because I develop extensions as well and don’t want to be caught in the same position.

    I can understand violating the "ethos" of the product, but that is certainly not a legal position to stand on.

  61. Ralph Warren Siegler says:

    Dan, you are mistaken,  Jamie has violated nothing, and the only thing Microsoft’s lawyers could produce after more than a year of nothing was the very vague phrase "You may not work around any technical limitations in the software".  Dan, you are just being a sock puppet, your supposed arguments for Microsoft’s position have no clear foundation.  And invoking "Ethos", what nonsense is that other than saying you think someone else is bad because they don’t do things your way.  Just like the allegations of  patent violations by open software without specifying patent numbers,  Micosoft’s MO now seems to be "make  threats without substantive proof against anything we perceive as a dangerous".  Microsoft is intimidating customers and driving away business and customer goodwill with this  attitude.

  62. OldManCoyote says:

    As a past DevDiv Microsoftie and MVP myself, I can only just shake my head. Why is Microsoft spending an inordanant amount of time on this issue – sending in the lawyers and going after the small guy for such a small issue. Regardless of philosophies, on whether a particular add-in should be available or not, its just another ‘Evil’ Microsoft story, trying to crush the little guy for trying to make the development community a better place to live. Good for /. for bringing this out…

  63. I think this shows what a joke anything "free" from Microsoft is — you’re free to do next to NOTHING with the product, and you aren’t free to use it in any useful way. Some "free" deal.

  64. Dan says:

    Nektar: First hit is free, you pay for the others. That’s why MS doesn’t want Express to be extensible.

  65. Josh says:


    The problem is this.  From what I’ve read, Jamie has repeatedly asked for the specific clause, in the specific EULA, that prohibits him from doing what he’s doing.  Even with the millions of dollars Microsoft spends on its attorneys, they seem to find it impossible to do so.  They simply say "it’s prohibited by EULA" and other Microsoft employees, such as yourself, use loaded words like "it’s illegal".

    So, Dan, for the record: please specify, with completeness and specificity, the exact clause and the exact EULA that prohibits Jaime from doing what he’s doing.  When you do so, the community will see that you are right.  If you can’t do so, then it will continue to look like Microsoft is simply trying to perpetuate the market segmentation strategy it’s using to sell Visual Studio.

    And, mirroring a previous post: this makes me queasy about developing on Microsoft products, as I have for the past 6 years.  Because I don’t have money to hire a lawyer to explain with completeness and specificity the things that Microsoft licenses prohibit me from doing, the only way to be absolutely sure that Microsoft won’t sue me is to develop using Open Source products.

  66. Moduz says:

    Maybe I am missing something but if isn’t it your responsibility "to not allow 3rd party extensibility in Express."  and not the users/creators?  If, as you say, you limit the ability to use addins in the express version by "removing support macros, add-ins, and VSIP packages" then wouldn’t it be impossible for this situation to occur in the first place?

    At the end of the day, who cares?  This guy made an add-in that you didn’t have to do anything to make.  It is being used.  It is making your software suite (both the free and the purchased versions) more well-known.  And just because you say, "We are not going to offer support for…" does not mean "We are not going to let developers…"  Maybe if you made your EULA a little less vague you wouldn’t have these problems.  Of course then you would have to tell your customers what you really think of their business.

  67. Tim Waters says:

    This kind of crap from MS is why long time MS developers (20+ years) are leaving and moving to other development platforms.  Think about that Dan….Myself and every peer I know is either working to move off of MS products for development or has gone (like myself).  

    It doesn’t hurt MS or their 1000+ VSIP partners ONE BIT to at LEAST just turn a blind eye to TestDriven.NET.  You know thats true.  That you said yourself how much trouble it was to get MS to release VS Express for free says it all.  Any developer tool MS releases for free only brings in MORE money for MS. MORE than the profit margin for selling it.  This is just asinine bullying and indicative of how MS has treated developers over the years.  

  68. David Rancour says:

    If MS doesn’t want extensions to be permitted in the Express versions of it’s product the functionality to support extensions should be removed from the express versions of the product.

    It’s no different than making a user interface bullet proof for the end user. If they do something that breaks the application is it the users fault? No – it’s the developers fault for not making the application bullet proof.

    Granted – EULA’s are binding and must be adhered to, but MS should’ve been on top of this by preventing extensions from working at all in the Express product line.

    And MS didn’t make the Express line because they care about developers – they know that freeware tools like Eclipse, NetBeans, etc are turning young programmers into Java programmers. What better way to combat that than to offer a limited but still very useful version of VS for free?

  69. I can’t believe how tiresome this is getting.  I hope these open source guys have nice houses with refrigerators stocked with beer, because I need a nice cold one to deal with these circular arguments stating they deserve these rights (i.e. to break the EULA) without having consequences.

    Microsoft is well within their rights here.  If these TDD guys are so smart, maybe they should write their own IDE that they can extend at will and market on their own.

  70. l3v1 says:

    "@Tomas – So if you were in our shoes, you would have never shipped Express knowing it would be free and could be used for commercial use so long as it blocked extensibility?"

    Well, if you disallow extensions, then disable the extensibility and you’re set. Why would you let extensibility open and doable, release the thing and then say hold your horses, you can’t extend the thing. If you don’t want to allow it, then don’t leave the possibility there and see, all your problems are gone.

    Moves like this will only alienate those who were the target audience of the Express line.

  71. A developer says:

    "Developers, developers, developers…"

    People like you obviously don’t care about developers. Why don’t you just give away the whole Visual Studio package, is Sun can do it, why can’t you? Because all you care about is money.

    Thanks for nothing!

  72. Another Developer says:

    Why not limit the product itself from being extended.  Allowing someone to extend VS Express is talking out of both sides of your mouth.   If you do not want folks extending it, make it technically impossible.

  73. Michael says:

    I’m with Pete, if you don’t want VS Express to be extensible, why did you make it extensible?  It seems odd that you would put the technical functionality there, then require via the EULA that users don’t take advantage of that functionality.  Wouldn’t it have been better to simply disable it in the Express version?

  74. rob says:

    if you truly appreciate the plug in the way you claim, why not negotiate with the author for some way to get the functionality included in studio? embrace and extend? surely there’s a way to solve the problem without unleashing the hounds. the feature is obviously of benefit to just the sort of people you’re trying to attract to express.  

    if it were up to me, i’d just pull the plugin entirely. if microsoft (and you) can’t appreciate people adding value to your products and can’t think of anything more creative than calling the lawyers, you should reap what you sow.

  75. Corey says:

    Why do people think that it makes sense for a business to release a free product with extensibility that will eventually become in direct competition with the for sale products. Seriously, where is the logic? Maybe we should all work for free as well.

  76. Ron McMahon says:

    It strikes me (from the /. coverage of this) that Microsoft feels that it has the right to restrict the use of its products, which is true.  The developer of this Extension does not see any legal restriction in the EULA to his actions.  The solution is to either have Microsoft update the EULA to explicitly restrict this type of behaviour (if it doesn’t already do so), or for Microsoft to stop its bully behaviour if no legal (EULA) restriction may exist.  Yes, there will be complaints, but it is the way we organize our society – we (should) respect the laws we live under.  

    If you don’t like the rights that Microsoft (and all other software manufacturers) has, work to get the laws changed or go and work with software that permits you more freedom.  

    Anarchy and law breaking is not a wise choice; it undermines our freedoms and security in all ways.  Your choice to steal software or use it in a way that our laws don’t permit is a tacit agreement that it is ok to break the law when it suits our desires.  It removes your moral standing to be able to say to another driver ‘hey, you have to stop at a red light’ or to someone who is violent ‘hey, you can’t just assualt people’, or to the murderer ‘hey, it is wrong to kill!’  This may be seen as an extreme example, but either you support the rule of law (which is a cornerstone of western civilization), or you join the ranks of the population of countries like Afghanastan where what rules is an AK-47.

    We settle our disputes in courts and in conversations (like this one), not ‘out back’ with a thug and a gun.

  77. ChadAmberg says:

    I want everything that is available in Visual Studio Architect edition, all plug ins and everything else, and I don’t want to pay for it.

    I think that pretty much describes what people are asking for here.  Any developer advanced enough to require plugins should be able to pay for at least the lower levels of Visual Studio.

    My company pays for MSDN licenses, third party plugins, and everything else.  We give away some of our produced software, and charge for others.  And I get people complaining all the time that they want the software I wrote for free.

  78. Jimmy says:

    Here’s an IDE and a language that allows you to extend it to your hearts content. It’s even encouraged.

  79. Ken says:

    danielf, I see lots of emotional arguments here ("talk to him on the phone to plead with him"), and then the jump straight to the claim that it’s not "legal".  From what I’m reading on his side, he just wants you to point out where in the license it forbids this, which you have been unable to do.  It’s not his fault that 1000 other companies couldn’t parse your license, or chose to interpret it in a way most restrictive to themselves.

    If the only clause you’ve got is "You may not work around any technical limitations in the software", that’s so vague as to be useless.  It’s kind of like those public school rules that prohibit "any object that could be used as a weapon".  OK, no pencils allowed…

    Any third-party program I install could be seen as working around technical limitations of Microsoft software.  For example, Vista also has this curious clause; not being able to compile a program is a technical limitation of Vista, so you could argue that installing a compiler (even a Microsoft one) is verboten.

    This clause is nothing but a joker up your sleeve.  It has no tangible meaning.  It only exists so you can whip it out when somebody does something you don’t like.  And BTW, once your company is found in violation of the Sherman Act, you no longer get to play the pity card.

  80. Stuart Ellis says:

    I’m actually surprised to learn that it was hard to get VS Express approved as a no fee product – I had always assumed that it was a smart way of addressing the fact that at one point Windows and .NET were the only big platforms with no free standard development tools. Apple provide Xcode without fee, IBM Eclipse, Sun NetBeans, and there are free compilers, frameworks, IDEs etc. on Linux for a bunch of languages. Obviously, writing extensions for these is a normal, everyday thing.

    The idea of a dev. tool being shipped today with deliberately restricted plugin capabilities actually sounds quite odd to me. I don’t know whether Jamie broke the licencing terms, but I can understand why he might think it strange to be asked *not* to provide extensions.

  81. NKijak says:

    The whole idea of paying for Visual Studio in the first place just seems silly to me.  There shouldn’t be an express version because the tools should be free.  Drive people to your servers and operating systems, to your .Net framework by letting them develop for them for free.

    I agree that it should be as open as any Java platform.  I don’t work with .Net anymore and work wholly in Java, but I cannot imagine not being able to work as freely as I can now. Free tools, libraries, and plugins all working together to help *ME*.  Isn’t that what it’s all about in the end?

    And for those that are totally agreeing and hoping MS doesn’t pull the plug, doesn’t this seem all "I’m the parent, you’re the child" like?  One person violated the license and now you should all be punished?

    How about all you "bad" kids come over to a more open development environment.

  82. ravenshrike says:

    He’s supposedly in violation of an untested legal mechanism(EULA) under a horrendously broad and imprecise phrase. Whoever came up with that phrase at MS needs to be dragged out back and shot. Of course, he was probably a corporate lawyer, so that was true beforehand, but whatever.

  83. Michael says:

    @Aaron "If these TDD guys are so smart, maybe they should write their own IDE that they can extend at will and market on their own."

    The already have:




    @A developer: Sun cares about the money too.  Netbeans (and Eclipse too) bring more developers and applications to Java, which increases the size of Sun’s market for software and hardware.

  84. Mike says:

    I’m gonna post here. I have been a .NET dev for almost 2 years now. I have learned a lot, and I like .NET. But you know what? I really want to get out of the Microsoft ecosystem because Microsoft the company is unethical. Here you are calling this great work "illegal" but between the lines I can read all that makes Microsoft such a **** company.

    I hope I can switch to something else (maybe Java), because Microsoft disgusts me. I know that Eclipse is free, but I guess you Dan, don’t understand the "ethos" of that? Have fun swimming in your money man.

  85. maird says:

    This can only backfire on Microsoft along the lines of examples like Mike Rowe’s software and the Russian teacher. If VS Express shouldn’t be extended then Microsoft should have taken technological steps to ensure that it can’t reasonably be extended. IOW, anything that adds to the utility of VS Express is only feasible through an independent application or other platform features like hooks. I assume you can’t include extra title bar decorations, for example, as an extension. By leaving VS Express able to be extended you opened the door yourselves and only have yourselves to blame. It was developers that created the Microsoft that exists today, repeatedly disenfranchising individuals in a way that inevitably leads to very public ridicule is a particularly dangerous way to behave.

  86. pr_disaster says:



    What would be the response if I took Linux, made a bunch of code changes and distributed the new binaries but refused to give out the source code?  Everybody on the planet would come down on me for violating the terms of the GPL.  So why are people not doing the same here?  


    Well, you would be violating copyright law, by distributing code you had no right to.  There is no copyright law infringment in this case.  In fact, no one has pointed out any law saying i can’t write code that plugs into Express.  What agreement am i bound by saying i can’t write code that plugs into Express?   I have no agreement with MS.

    If he violated the Eula that comes with Express that means he isn’t allowed to use Express anymore–his license has been revoked.  However, that has no power over the software he wrote.  

  87. Dan, you guys are legally in the right for doing this. The negative community reaction could’ve been avoided, however. You could have simply blocked Orcas from being extensible, blocking Jamie’s workaround.

    Keep the free editions of VS. The community backlash against MS for removing the express SKUs would be far greater than the little grumbling over the TD.NET debacle.

  88. john says:

    why on earth would you ship a product that you don’t want extended, that technically -can- be extended, and try to enforce its non-extensibility in the eula? very poor business decision.

  89. John says:

    As nice as TestDriven.Net is, SharpDevelop has much better nUnit and nCover integration than it does.  I regularly switch between VS.2005 pro and #D2.1 (VS has a better debugger).  So for those wanting a free IDE with unit tests, one already exists.

  90. Mike says:


    "Any developer advanced enough to require plugins should be able to pay for at least the lower levels of Visual Studio."

    Wha?! Are you serious? How advanced a programmer you are determines what you can afford? That’s ridiculous!

    Here’s the deal: give me the product for free, and I develop stuff on your platform. More free downloads, more plug-ins, bigger community, etc. If I need help, I’ll call you, and you can charge me for that. It’s not so difficult.

  91. Englezul says:

    Alot of the people here are just missing the point. It was made very clear that it was a business decision not to allow extensibility for the Express series of products. This decision comes as a compromise between the very release of the Express Studio for free and not having it released at all.

    This decision was made and the rules were made clear.

    And now you have a bunch of dough heads who can’t focus enough to get the point talking about how a unit test plugin would be useful to beginners.

    Nobody is arguing that it wouldn’t. All it is being said is these rules made the release of the Express products possible and these rules have to be obeyed. Case and point.

    If you have a different opinion, if you have complaints, if you think you could have done a better job go ahead, start your own venture and make your own rules. Until then, just stop complaining, read the post carefully, and just once and for all GET THE POINT!!!

  92. Wow says:

    I can’t believe it. It’s like saying you can’t put a new exhaust or flashier rims on your car. Seriously, what a pointless fight from MSFT. Are they thinking that now everyone will just use Express and not buy professional? Just make the next service pack kill that extensibility. I’d say that even if the EULA had explicitly stated that extending Express is prohibited that would make it a bad EULA. One of the fun things devs do is extend and customize their tools.

  93. Andrew Metcalfe says:

    Thank god I’m a Java guy.  What a nightmare!

  94. mhornyak says:

    How braindead and random.  Microsoft is up against Eclipse, which keeps getting better everyday, and stays free.

    You’d think that maybe they’d be happy to see someone writing free developer tools so that they could better compete with Eclipse.

    I have an interview with Microsoft coming up (I’m a recent computer science graduate.)  This is the kind of behavior that will probably keep me from accepting a job with them.

    Worse still, Microsoft keeps asserting it has the right to do this without actually specifying where that right comes from.  That’s called being a bully.

    Dan, I’m glad you’re proud of your work making Visual Studio Express free, but you’re in a market where low-end developer tools are free.  Your accomplishment is not special.

  95. Michael says:

    @Corey: It’s called a loss-leader, you underprice or give away one product to increase the sale of another, more profitable product.

    That is why both Sun and IBM provide free and open source IDEs, not just for Java but for multiple languages including C/C++/C#.  Because neither of them is interested in making money off their IDE, which necessarily requires a small one-time sale without pricey support.  Instead they concentrate on selling high-end hardware and software stacks for servers, where profits margins are bigger, support is almost always purchased, and upgrades happen regularly.  By giving away a free and quality IDE, they encourage more developers and companies to write applications that run on their hardware and software, increasing the size of their market for those products.

    This of Internet Explorer, Microsoft gives that away for free, allows addins for free, why?  Because it gives them market share where they can sell their other, more profitable products.

  96. john says:

    If you want a free, do as you please, open source solution, go grab a copy of sharp develop. It’s just as good as visual studio, supports .NET 2.0, it’s free and you can get the code.

    But, I agree with Microsoft on this one. Your not supposed to extend the express versions, so he should be punished until he removes that functionality.


  97. Mike says:

    This is why Microsoft is steadily losing traction.  Every once in a while they do something really cool and open – free products, the DLR, etc; then they do something so asinine you wonder how they are still in busines (thank you monopoly) – the open source patent "violations" (which they won’t name) and this.

    The ONLY reason they want to exclude this is so that they can try to upsell you the professional version.

    Of course it is their right as the owner of the IP.  But Microsoft should not acts confused when no one in the community trusts them.

  98. Kevin Smith says:

    If MS doesn’t want to support plugins then they shouldn’t make it possible in the Express edition. This is the crux of the matter to me and one of the biggest reasons I haven’t used MS tools in years.

    Seems to me that a mature company would treat this as a bug and release a new version with the plugin feature completely stripped out. But I guess its easier to sue people into oblivion than it would be to admit to a fault in the product (poorly conceived though it might be) and fix it.

  99. Fredrik Forsell says:

    I hope the European Commission takes a look at this too. To me it’s the same thing as a car manufacturer telling others that they can’t build and sell rims for cheap cars because they want people to buy the expensive ones. It hampers competition.

  100. Charles Duffy says:

    Several of the open source folks here aren’t so much entitement-based freeloaders as they are folks wondering why the heck anyone would want to use Visual Studio Express when there are other toolchains available where 3rd parties are welcome to extend them. Indeed, having been part of that world for the last decade, I cannot see why any person in their right mind would pay for a compiler, IDE or debugger. (Pay a 3rd party to port a compiler to their new architecture or platform, sure — one of my former employers does that kind of work — but buying a copy of a commercial tool [and thus having sunk costs in an individual toolchain, rather than being able to choose the best one on a per-project basis without additional expense beyond training time] just seems silly).

    Many of the folks towing the MS line (that MS has the right to restrict what folks can do with their software) are mostly correct — but what matters is what the EULA actually says, not what MS wants to claim was agreed to after-the-fact. When someone cites the part that’s been broken, then we’ll believe it applies here.

  101. John says:

    It’s already been said – if MS didn’t want Express extended, they should have disabled that functionality in the code.

    Looks to me like they have another Vista activation type of problem on their hand…

  102. youera says:

    I often teach people how to program. Unit tests are important. A supportive community in whatever language you use is important — this aids transition to "professional" development.

    I will not be recommending VS to people. Clearly Microsoft is not interested in creating a supportive community around their products, when there is no immediate profit in it for them.

  103. Hank Fay says:

    Microsoft did a fine thing in making Express versions available.  And what it chose to limit programatically was its choice to make.  But limiting what others can do programatically with the Express version is what is wrong, not legally, but wrong because it violates the ethos underlying creative software development: figuring out how to get what needs doing, done.

    If Microsoft wanted to limit the Express editions, it had its chance(s), when it developed them.  To rely on a Eula means that the development team has met defeat, and like a sore loser on the playground, is willing to abuse a technicality rather than admit failure.  To strip an MVP of his status because he was a better programmer than the team that created the product (at least in that one regard) strips all MVPs of their status, because it adds a requisite of not doing things better when doing so would show up MS.

    It’s this sore-loser, playground-bully side of the MS corporate personality that is worrisome.  It’s balanced by the side that created the Express editions, and that led Sedna to be community-sourced, and that hired the folks (for "research only") that led to the DLR.  It would be nicer not to have to deal with the dark side, though.

  104. Peter Cooper says:

    Let’s hope that no-one at Microsoft ever hacks or mods their cars, games, or does any DIY at home. If Microsoft wants to restrict functionality in its software, that functionality shouldn’t be enabled, accessible via APIs, or be possible at all without illegal levels of reverse engineering being required (which would break Microsoft’s copyright).

    EULA validity is muddy at best, and MS should sidestep the issue by releasing a truly cripped Express.. and not something that can be casually (and rightfully, IMHO) "modded" to do something new.

    Are these pieces of software tools or works of art? You can always modify your tools to fit purpose.. usually.. but not if they belong to Microsoft, right?

  105. Uffe Seerup says:


    "If the choice was between not ever having released Visual Studio Express (or not releasing it in the future) or having Visual Studio Express with an explicit limitation to block extensibility, which would you chose? "

    Dan, that choice is an artificial one, imposed on you by internal Microsoft politics (probably marketing? – no, don’t answer that).

    I work with clients who b/c of the license cost of the team editions have chosen to go with "just" the professional edition of VS – even topping up with foundation server CALs. There is little doubt the Team editions relatively high pricing are to blame. There’s also little doubt that had the team editions been priced closer to the professional, they would have gone with the VSTD/T/A editions.

    As someone else mentioned, unit testing has become a very important lesson to teach new programmers. Really, if VS Express is targeted at entry level "new" programmers it is vitally important to teach new .NET developers this discipline. I am constantly reminded of this when doing Java consulting. Compared to Java, the .NET community has some growing up to do.

    When Microsoft offers a free version with such great value, you are also at the same time killing off any competitors, OS or otherwise. This way you (Microsoft) also take on a responsibility to offer guidance into best practices using tools. You have neglected unit testing.

    I think you should shake up the managerial and marketing layers. They need to wake up. Unit testing is not a "high end" feature – it a basic discipline (one I wish I had been taught). Visual Studio is also the tool that shapes the opinions of the future .NET developers. If you don’t "get this", maybe you *should* discontinue the free version and let something like MonoDevelop grow into that niche. That might be better for the community, for Microsoft and for the future .NET ecosystem.

    Disclaimer: I do not now, have never tried TestDriven.NET. I am a Team Suite customer and a happy one at that. Even if the Express editions were to allow plugins I would *still* go with the Team Suite. But if you feel like lowering the price…

  106. Uffe Seerup says:

    How about at least an "academic" edition, free, support for plugins, but not licensed for commercial use?

  107. Dan, I was (emphasize "was") a Microsoft Basic developer since PDS Basic 7.  I still have my copy of Visual Basic version 1.  It was a pure joy to be a part of the Microsoft world back then, and part of a technological movement that was, I felt, putting power into the hands of everyday people.  It doesn’t feel like that any more.  It hasn’t for years.  This pusillanimous attitude Microsoft is taking now to add-in developers is as I see it, completely of a piece with the indifferent contempt it treats everyone who uses its tools and its platforms.  They say that men don’t change as they grow old, they reveal themselves.  So do corporations.

    So I am not surprised at all to see you bring the hammer down on someone who tried to make one of your less expensive products a little better…and give developers who can’t afford your higher priced software a tool they can use with it that they can afford.  I watched Microsoft screw an entire generation of Visual Basic developers with .Net, seemingly without a shred of concern for their careers or their futures.  Once upon a time I was able to lift myself out of a low wage life into the one I have now thanks to Microsoft providing tools that even a guy who had to mow lawns to make ends meet could afford.  For what Sun used to charge just for a C compiler, you could buy nearly everything Microsoft had to offer.  But that was back when Microsoft was still fighting for market share.

    I work now, for the Space Telescope Science Institute at Johns Hopkins in Baltimore Maryland.  We operate the Hubble Space Telescope for NASA.  It’s been a long journey from mowing lawns to this place, and Microsoft played a large part in that journey.  But I work almost exclusively in Java now.  Once upon a time the grants administration software I work on made heavy use of VB, VBA, and Microsoft Office.  Now it’s entirely Java, with hooks in it to generate documents via Open Office.  I played a big roll in ripping all the Microsoft specific stuff out of it, just as I’d played a big roll in putting it there to begin with.  But it wasn’t .Net alone that dove me away from using Microsoft tools.  

    It feels good, really decently good, to be using tools in my own professional work, that anyone with an interest in this technology, in what it can do for people, for humanity, can afford to take into their hands if they want to, and explore what they can do with it.  I didn’t rise so far in my life, just to pull the ladder up behind me when I got here.  

  108. Alex G says:

    Awesome post!

    Thanks for saying absolutely nothing except that you deliberately decided to limit ability of others to extend and better your own software. Great practice, definitely helps to nourish that developer community. If you haven’t noticed yet, people are starting to run from the .NET ship.

    Good job as always, one stop forward, 5 steps back.

  109. Ariel Millennium Thornton says:

    Link to the relevant EULA, please? Linking to the specific sections of the license being cited would be preferable, but linking to the EULA as a whole will work as well.

    Until you let your audience see the source of your complaint (and I don’t mean the one you accuse of infringing, although he deserves to see it as well), this is nothing more than a he-said/she-said argument which is making you look as petty as a toddler whining that his brother is touching him.

  110. allcapital says:

    Just another classic example of Microsoft screwing the end user for the sake of its legacy business model. The only thing new here is they usually capitulate when these underhanded practices are exposed in public like this.

  111. Corey says:

    Anybody that compares Visual Studio to Eclipse has seriously not used Visual Studio or the .net framework. They are not even in the same league.

  112. Mike says:

    Two words:  Sharp Develop.

    People, if you don’t like VS Express, use Sharp Develop.  You get a bang-up ide, and none of the hassles of "it’s free, but you can’t do…. this!".

    It just shows that MS is missing the point all over again.  Artificial barriers are going to be ignored by people that don’t agree with them.

  113. Chris says:

    Typical hubris from Microsoft.  My recommendation is to simply move to a platform that provides all development tools for free.  Linux, BSD, and Apple are all happy to help you build new apps for their platforms without picking your pocket.

  114. Michael says:

    @Corey: It’s called a loss-leader, you underprice or give away one product to increase the sale of another, more profitable product.

    That is why both Sun and IBM provide free and open source IDEs (Netbeans and Eclipse), not just for Java but for multiple languages including C/C++/C#.  Because neither of them is interested in making money off their IDE, which necessarily requires a small one-time sale without pricey support.  Instead they concentrate on selling high-end hardware and software stacks for servers, where profits margins are bigger, support is almost always purchased, and upgrades happen regularly.  By giving away a free and quality IDE, they encourage more developers and companies to write applications that run on their hardware and software, increasing the size of their market for those products.

    This of Internet Explorer, Microsoft gives that away for free, allows addins for free, why?  Because it gives them market share where they can sell their other, more profitable products.

  115. vadim says:

    Thanks a lot for letting us know where you stand.

    Obviously all the "developers developers developers" stuff was just marketing nonsense.

    I haven’t learned Java yet, but it’s hard to find a better reason to start looking into it than seeing how MS rewards its developers.

  116. a_free_man says:

    If you didn’t want people extending express then why did you allow it in the first place ? And surely you should be

    working with someone who improves your product for free without hounding them. Duh. I won’t be using express any time soon if thats your attitude.  Not a smart business decision dude.

  117. Turing says:

    This whole thing is a farce.  If IBM can allow Eclipse to be both extensible and free… why can’t MS step up and do the same with VS.NET?  Oh I know, that’s not the MS business model.  You’ve built quite a straw man, but I would expect that type of poor reasoning from a MS developer (ad hominen, woot).

    It would even make sense, if Visual Studio was as stable and capable as MS claims it is.  (If you think it is, you have never tried to do anything that really combs the depths of the plumbing: marshalling between older COM services, writing efficient C/C++… I mean have you seen the assembly it makes?)  Or hell, if they even honored their support (I can’t say why, but I happen to have been on a major research effort "partnering" with MS and they couldn’t tell us why things wouldn’t work, even when we escalated it and paid them lots of money)

    The whole company is a horrible, horrible hack.  What happen to art and ethics in software?

  118. John Rudd says:

    If you don’t want people extending Express with plugins … then why make it possible to extent Express with plugins?

    Why not make the application disable the plugin capability if it hasn’t been paid for?  LOTS of applications out there do this.  Seems like it should be a no-brainer for you to protect your application this way.

    And, legally, not doing it might make you open to the "attractive nuisance" concept — the fact that you have made the capability possible, and not closed this hole after years of the hole causing a problem, might make YOU liable and not Jamie.  A good lawyer might make a case on Jamie’s behalf that this means MS is harassing him instead of addressing their own attractive nuisance (the fact that a product that isn’t supposed to allow plugins does in fact allow plugins).

  119. anonymous says:

    Jamie did remove the support for Express editions. All he asked was a reasonable explanation from MS to post on his site for his customers. Once a reasonable one (there was one explanation which was biased and very accusatory) was not forthcoming he brought back support for Express editions.

    Also there was this bit of knocking of Jamie’s MVP certification … a very cheap shot.

    So I guess MS is largely responsible for the situation getting to where it is now. I think even now it should be possible for MS to resolve this some grace.

  120. Peter Lawrey says:

    It is worth noting that Microsoft is a publicly listed company.  It has a legal requirement to protect its share holders interests.  This means it should only help developers if it makes a profit at the end of the day.  Companies have been sued by it share holders for compromising it profits.

    Sun makes Java and Netbeans free because they believe it helps them sell more hardware.  IBM makes Eclipse free because it helps them sell consulting and hardware.

    No matter which technology you go for there is a company out there looking to make a profit.

    You have to decide which model works better for you.

    If you want integration with Microsoft products, use .NET.  If you want platform independence use a non-MS language like Java.

  121. DarKenDEV says:

    Why not just pay the 70-100 bucks to but the full program??

    The main reason Microsoft uses VSIP is so they can keep control over THERE program. READ THE ELUA  ITS THERE IPO people!

  122. Brandon K says:

    "The vast majority of our customer base, now with 14 million downloads, isn’t even professional developers, its non-professionals. In fact over 80% of Express registrants don’t describe themselves as a “developer”. From a total number perspective, beginners are the largest segment of Express customers and they still find Express too complex, it has too many features, and they see development as a means to an end (I just want to create my kids soccer league Web site)."

    What kind of double speak is this?  We don’t want people using add-ins with our free version of VS because that’s reserved for the commercial versions and you must pay for that functionality.


    We don’t these "commercial" features in our free product because the people using the free product don’t want it – nor are they ever going to buy the commercial version for any reason, especially Jamie’s tool.

    Sometime, maybe before it’s too late, you will learn to appreciate your user base contributing useful tools to your products for free.  It only helps your business no matter how much you whine and pout about it hurting.

  123. rob says:

    I’m enjoying the "it was a business decision" argument. I wish that when there was a big piece of unintended functionality in my applications I could claim it was a "business decision" 🙂

    I think "it was a business decision" might translate to "oops, we forgot a use case."

    I happily pay for Visual Studio (even a copy for home), but why begrudge the guy who does the most with what he’s given to work with?

  124. Soumyadip Modak says:

    I personally think that you might want to restrict the development of commercial, proprietary software using the Express editions and instead let people install extensions to the Express editions. Not only that, I personally think that you might want to consider allowing people to install additional plugins for various functionality. If, for example, a student is able to write sample applications on WCF/WF using an Express edition, you’ll have quicker adoption of new technologies and frameworks

  125. Anonymous says:

    Someone tries to improve the shite that is called Visual Studio and they get sued for it – nice one M$

    Someone on the product team should _really_ look at what the non-.Net competition can do and learn some hard lessons.

  126. Anonymous says:

    For the record, professionally I’ve developed for both Windows, Unix, and Linux (and a bunch of other OSes) for more than 20 years.  Currently I make my living doing C# for .NET, but I’ve done Java for a lot longer.  I have built, maintained, and integrated a LOT of development tools over the years.  I use TestDriven.NET with VS Pro, but I haven’t looked at how it (or any other plugin) is integrated into VS.

    To all of the people who are suggesting that VSE should have been made non-extensible if that’s what they wanted:  Most likely they (Microsoft) can’t.  If you look at modern IDEs, both open and closed source, you will find that they are highly modular because that’s the most supportable way to develop and maintain the products.  Eclipse is probably the extreme case — the IDE is just one more plugin to a UI framework — but VS is probably similar in design.  With that in mind, the only difference between VS components and third-party plugins is how the components are integrated.  Microsoft can remove the UI elements for managing plugins, but if someone figures out how to trick VSE into thinking that an external plugin is actually a builtin component, there’s probably nothing that Microsoft can do — other releasing a newer version of VSE that’s harder to fake.

    To the people who are asking "Why waste money on lawyers for such a little thing?":  Microsoft, like any large company, has lawyers on staff.  If they’re not doing stuff like this, then they’re getting paid to do nothing.  Of course Microsoft is going to use them.  Do you think these complex EULAs write themselves?  On the other hand, given the amount of time spent on this, I am strongly inclined to believe that if there were in fact a valid licensing clause that prohibited the creation, distribution, and sale of VSE extensions, someone would have highlighted the paragraph in question and pointed it out to Jamie.  Given that that hasn’t happened (and that they haven’t posted it in response to the controversy) I am forced to conclude that Jamie is doing nothing wrong.  Of course Microsoft could still bring a lot of pressure to bear, since Microsoft is a multi-billion dollar company with $50 billion in the bank, and Jamie is probably doing good to have $5000 in the bank.

    To Dan and Microsoft:  Microsoft makes a certain amount of money by licensing its development tools for use by software developers.  A free version of VS that can be enhanced by third parties would probably result in a small decrease in these licensing revenues.  If Microsoft were only a tool vendor, that would be a problem.  In the real world, Microsoft makes most of its money selling Windows and Office.  Every program that is written for Windows and/or Office increases the size of the market for Windows and Office, no matter how that program is written.  A good economist could make a strong argument that giving away VS Pro with all of the tools (and the SQL Server development tools) would result in a net increase in overall revenues.

    It is in Microsoft’s best interest to have people developing software that runs on Windows and Office.  It is NOT in Microsoft’s interest to do things that discourage developers from developing for Windows and Office.  It is DEFINITELY NOT in Microsoft’s interest to do things that actively antagonize its developer community.  This action against Jamie and TestDriven.NET is definitely NOT in Microsoft’s best interests.

    I will leave you with a quote that you should all recognize:

    The more you tighten your grip, the more star systems will slip through your fingers.

  127. Jesse says:

    This is just amusing. Perhaps you should have designed the product in a way that limited it’s extensibility, rather than relying on your ability to lawyer up. In the end, all you are doing is alienating the next generation of would be microsoft developers.

    I personally, won’t code for MS platforms, and I won’t use MS products where I can avoid it. This behavior is exactly why.

    It seems that Microsoft is more concerned with the MPAA and the RIAA than they are about their end customer, as evidenced with vista, and the zune.

    Sorry, but if I’m paying YOU for a product, I want to be able to use it as I see fit. Amazingly, there are people who have some sense of morality and ethics, and don’t steal content, because they know it’s wrong. You cannot legislate morality, any more than you can enforce it with technology. The zune deletes shared songs after a few plays or a few days. Even if they are not copy written. Thanks, that’s what I, the end user really wanted. I’ll stick with the competition that’s not trying to dictate how I do things.

    Microsoft has in the past, and probably will in the future make some pretty good products, but at the end of the day, the authoritarianism is what keeps me from buying any more of your stuff.

  128. Anonymouse says:

    What happened to:

    Developers!! Developers!!! DEVELOPERS!!!!

  129. Michael says:

    This may already have been asked, but I got tired of reading the complaints about the licensing issue, mine is a little simpler:

    IF the application could not be "extended", ie, it blocked the ability to do such, how was Jamie able to do so?

    And it’s completely unclear as to how he’s violating a license with this – unless he’s modifying the distribution and redistributing it?

  130. Tiny software business says:

    @Aaron Erickson

    The open source community has their own IDEs, even multiple. Because it is about choice, not hegemony and not domination. These IDEs which come with the freedom and encouragement to extend them. And these IDEs are not just toys, they are so interesting that MS felt the competition and decided that they need to hit developers with a free-of-charge version of their products, too. You need to get them while they are young, you know?

    What strikes me as strange in the "open source developer" vs. "closed source developer" mudslinging you just started again is the fact that it is usually the little closed source developers who seem to struggle to make a decent living from programming, not the little open source developers. It always sounds like envy to me when I hear a closed source developer complain about these "freeloaders" who can make a living with ease by doing what they love.

    In fact, I have observed that open source developers in general seem to be happier, more versatile in diverging technologies, more flexible, more creative, more focused on doing the right thing at the right time than closed source developers.

    I moved my tiny tiny software business to open source years ago because of that observation. Today I make more money from it than ever, while indeed being happier. I have a better relationship with my customers. They are happier, too. They like to pay me. They work on my software with me. I have less pressure to do stupid things in the software because the big mother ship decided to hype some new useless technology. I am in control of my own destiny.

    And no, I don’t need to violate any license. If you would know the open source scene a little bit you would know that the scene takes licenses very serious. It is usually corporations who think they can get away with open source license violations. But they are having a very hard time cracking case-hardened open source licenses.

    And yes, I do have a nice house and a stock of excellent beer in a well tempered second fridge. Thanks for asking, and I am sorry you can only afford horse piss.

  131. VR says:


       Maybe you should get the folks working under you to use Testdriven.Net . Then you might have had a better chance to release VS Express without the ability to support extensions. I find your stand extremely laughable. Remember, you’re losing the alpha geeks and the brain trust.


  132. Ian M says:

    This is hilarious.  I just had to do some ASP.NET dev today (After mostly doing  PHP/Java) and said "Wow, Microsoft gets 90% of the way there, then screws up the last 10% that makes you want to walk away".  It could be an amazing product that no one can turn their back from (like most MS stuff), but gets sabotaged by the last 10%.

    Here is that last 10%, plugins.  Unfortunately the lawsuit negates the great part of VS, to the point where it’s better for users to walk away and find alternatives (posted from my macbook using FF 😉 ).

  133. Ray McVay says:

    This kind of thing makes me so glad to be an Eclipse user. What a joke Microsoft has become.

  134. Benjamin G says:

    "If the choice was between not ever having released Visual Studio Express (or not releasing it in the future) or having Visual Studio Express with an explicit limitation to block extensibility, which would you chose?"

    Why is that the choice, though? It’s not a technical limitation, and it gives your users the option to use something they may find useful. If they’d find it confusing, they don’t need to install it. So why deny them that? It seems entirely to do with Microsoft’s interests and against the needs of users. That’s just bafflingly stupid, however you try to skirt round the issue.

  135. See it in action here . Frankly, it doesn’t really matter who’s right: Jamie or the tie-with-suit (a

  136. Scott says:

    "If the choice was between not ever having released Visual Studio Express (or not releasing it in the future) or having Visual Studio Express with an explicit limitation to block extensibility, which would you chose?"

    Why is the limitation there in the first place?

  137. Andrew says:

    I still dont see a response with the portion of the agreement which states that he is in violation.

    Just another ‘We have lots of lawyers, so eat it!’ clubbing…

  138. Paul R says:

    OOO… let me ask the same question over and over again! Wait, I’ll have a thought of my own.

    As a developer at a company when we were looking to move to VS 2005, we looked at the new Express editions. It was at that time I learned about Express being a "crippled" version and not allowing add-ins. So we did something amazing… paid for tools to use and got full functionality with it. There are tons of add ins out there for the regular versions of Visual Studio free and pay.

    People keep saying.. "If you don’t want people extending Express, change your code and don’t let them!" Guess what, that costs Microsoft money. It was my understanding that certain safeguards are in place to prevent the same extensible API from working in the Express edition. It would have to be deliberately be coded differently to work as an Express add in.

    So you’re telling a company to go spend who knows how much money to change their product because 1 person broke the rules… but it’s not that person’s fault… it’s Microsoft’s!

    I liken that to burglars breaking into somebody’s house, slipping on something and breaking a leg and then suing the homeowner because their house wasn’t safe for them to break in to.

    So Jamie did it when Microsoft told him not to, makes money off a product Microsoft doesn’t make money off of, at one point realized he shouldn’t be and removed the Express functionality, saw he wasn’t making as much money off it and put it back it.

    No, he doesn’t charge for the personal version, but he still accepts donations and I’m sure he’s gotten a lot of them. When do you think the last time somebody donated to Microsoft for using a VS Express edition was?

  139. Michael says:


       What exactly does Visual Studio have over Eclipse?

  140. nix says:

    "However, Jamie has also made available a version of his product that extends the Visual Studio Express Editions which is a direct violation of both the EULA and “ethos” of the Express product line."

    What part of the EULA is being violated?  

  141. Scott Roberts says:

    I can’t believe that anyone who fancies themselves a "professional software developer" would back TestDriven.Net on this issue. The ONLY protection you have for your software is the EULA. Perhaps some of you want to develop free software and allow others to modify, extend, redistribute it at will. Good for you. MS does not. Allowing extentions to VS Express gives it the potential to become an extremely useful tool – which is exactly what MS would like to prevent (I believe). If you want the extremely useful tool, you have to PAY for it. Otherwise, you get the not-quite-as-useful tool.

    The question is NOT "Is TestDriven.Net a nice plug in". The question is "Should a company be allowed to knowingly violate the EULA, even after repeated notices have been issued"?

    Is MS flexing is legal muscle? Does Jamie need to hire a high-dollar lawyer to figure out if extending VS Express is a violation of the EULA? It seems that he has been given many opportunities over the course of a couple of years to remedy the situation FREE OF CHARGE! If he has backed himself into a legal corner because of his own stupidity, then I have trouble mustering much sympathy for him.

  142. msisajoke says:

    Yeah Microsoft. Shut off you valuable customers. Thank god for Eclipse and SharpDevelop. Down with stupid probably even illegal (at least in some parts of the world) EULA.

    Extensions are the probably only think that makes most of the software useful. Like Firefox, IE, Eclipse, Office, OpenOffice.

    Jamie just create version for SharpDevelop and I’ll be sold.

  143. A says:

    thank god for java, even the military contracts require java for the ability to run on non-windows platforms

  144. Johan says:

    I personally would not even start building an add-on to something that I have no control over. In this case extensibility hooks of the Express Edition can be removed, and render the add-in, which took many hours of work to build, unusable.

    There is no such thing as partial freedom. Either you let something free (free as in freedom, not as in beer) or you do not.

  145. Express User says:

    Why does MS get made out as the bad guy when they have been asking this guy to stop breaking the rules for so long? How about follow the rules and MS will leave you be? I can’t afford a VS license, so if the choice is VS Express with no TestDriven.NET or nothing then TestDriven.NET can go jump in a lake. This is just more typical MS bashing.

  146. javadev says:

    Shows how much MS cares about the community that supports them…

  147. To much comment FUD is going around right now. Stop it please! TDD is still possible with the Express

  148. Tyler Durden says:

    What the HELL. Why Microsoft don´t buy TestDriven.NET and include it in all visual studio licences? Test unit MUST be part of a good developer tool.

  149. devicerandom says:

    Cool. Very cool, MS.

    I am a hobby Python developer. I was thinking about learning C# or Java. I thought C# was cooler than Java and was one of the few really good things Microsoft did.

    After this hell, I do not want to have nothing to do at all with you guys anymore. I’m already using almost exclusively Linux and open source tools since 4 years, at home and at work. Every day I hope MS will do something to gain my love back, to let me feel that there can be something like good proprietary software. I saw some shy step forward in the right direction. I hoped. But the truth is that no, there is no good proprietary software.

    You’re suing a guy for writing code. Not for hacking or disassembling your code, not for breaking your IP rights. No. You’re suing a guy because he wrote a piece of external code you don’t like.

    So sue me. I write a lot of code you don’t like, because I write portable code, I use open source languages, I use open source platforms and I don’t use your products. I recommend Linux to my friends. My actual home desktop had never seen Windows code running on its CPU. I bet I’m guilty of anti-MS crimethink, so sue me.

  150. Kevin G says:

    Maybe Jamie can make that add-on for MonoDevelop, that way we can dispense with all this BS.

  151. Positive comment! says:

    Hey Dan, if you’re feeling bad about all this, then do something good: make the next Visual Studio free! The day you put that on your blog, you will get positive reactions for sure. After all, it was supposed to be about the developers, right?

    Unless you’re telling us your real customers are not the developers, but the VSIPs…

  152. DJohnson says:

    All I can say, is that this argument is ridiculous.

    First,  IF VS Express is not suppose to be extensible, then why did MS make it extensible?!?  They are in complete control of what they send to manufacturing, if you don’t want it to be extended, DON’T ALLOW IT TO BE EXTENDED!!!

    Next, if users of VS Express don’t even want this, becuase they find "Express too complex", why does MS even worry about it?

    Finally, the argument that he shouldn’t be able to do it because no one else does it asinine!!!  We are fortunate that others didn’t take on that mindset.  I mean, can you imagine where we would be if Columbus didn’t sail to the "New World" simpley because one else sails west to reach China!

    Having said all of this, I think it is very generous of MS to give away Express, they definitely don’t HAVE TO.

  153. James Moore says:

    You compete directly with open source, and you’re loosing the mindshare wars for developers.  While you might have a good argument for why getting rid of this piece of software makes sense from a very narrow business position, it’s extremely poor strategy.  Your core message?  "We attack our developers."

  154. Maggie Leber says:

    Just kind of demonstrates that the idea behind this "Express" version is to get you addicted to the free toolset, but hobble it from doing serious work. Same principle applies to "educational versions" of most of the MSFT product line (including the OS and Office); build a dependence on freebie MSFT tech in folks when they’re noobs, then start charging them by the drink thereafter.

    Software business models have changed radically since Altair BASIC. But even if you trot out videos of BillG playing with a clone of Jeff Han’s multitouch system, MSFT’s thinking is still mid-1970’s at it’s core.

  155. Joe J. says:

    Once again Microsoft goes out of its way to prove it has NO clue whatsoever when it comes to customer relations or making a genuinely useful product without artificial limitations.

    Wake up guys, you didn’t disable the functionality so he isn’t "working around any technical limitations". That’s like not putting a doorknob on a door and then claiming that you aren’t allowed to push it open.

  156. Mike says:

    This is a perfect example of why I’ll never use MS tools to develop a product or run any of my web sites on a Windows box.


  157. Developer says:

    Gee, no one sues me or has their lawyers write me threatening letters if I develop an extension for Eclipse or NetBeans.

  158. VeryVito says:

    The "ethos" of Express? That being… "artificially limit the user?"  I understand it was a labor of love and a giant fight to get your company to offer something for free, but in this case… why bother? I can’t feel sorry for the product because the company that makes it isn’t getting a piece of everybody’s action.

    A place with no fences, indeed.

  159. Robert O'Callahan says:

    Visual Studio Express was a "labor of love"? Huh. All along I thought it was a smart strategic move to avoid Eclipse and gcc capturing the bottom end of the developer tools market.

  160. codefaring says:

    Microsoft’s general approach is to subsidize the developer community through low-cost tools.  This helps market penetration for their more money making products.  This is a strategic position.

    Here a lower level PM manager is losing sight of the overall strategic position and making a decision that is legally right but strategically poor.

    Whining about how hard it was to get approval for a free express product doesn’t change that.

    A better strategic decision would be ignore the battle and hire Jamie away from Java development to work for MS developing common testing integrated products.  Or contract him to do so.  

    A noteworthy exercise would be for someone to quantify the revenue cost in publicity this is costing Microsoft.

  161. sdether says:

    This is such a sad thread to follow. The damage Jaime may be doing to the Express product via EULA violation is nothing compared to the damage this topic is doing to Express SKU credibility.

    I switched to .NET a couple of years ago after years of unix server-side development. I prefer .NET and C# as a platform, had access to MSDN subscriptions via companies and now just have my own, so i don’t even use Express. And it’s worth the money for me to use the platform and the excellent technology the devs at MS constantly crank out.

    Over the years, past colleagues from the unix side always question my decision to switch because most have developed a fear of MS lacking rational foundation. But every time one of these PR fiascos makes it out, all my efforts of converting people to h .NET is are null and void. It’s a real pity.

  162. Paul R says:

    Read the Visual Studio Product Feature Comparisons on Microsoft’s site!

    There is no "artificially limiting the user", they specifically state what extensibility is allowed in Express: "Use 3rd party controls and content. No Macros, Add-ins or Packages."

    They do have some safeguards in place and TestDriven.Net was written around them. From one of the many emails between the Visual Studio team and Jamie:

    "As we have discussed on multiple occasions your hacks to integrate TestDriven.Net into Visual Studio 2005 Express violate Microsoft license terms and we ask that you stop distributing these hacks."

    To me, that definately sounds like there was something preventing normal add-ins from being written for Visual Studio Express and Jamie found a way around them.

    I hope Microsoft sues the hell out of him and gets every penny he earned for distribution of TestDriven.Net ON THE EXPRESS PLATFORM.

    He violated no terms for the add-in to the paid version of Visual Studio and Microsoft has no problem with that.

  163. Justin says:

    Not sure if someone’s mentioned it or not…but does anyone else see the connection to the alleged patent infringements by Linux? Why is it that Microsoft’s super-awesome legal defense team not come up with any documentation to back up their claims? Obviously (or not, depending on how you view it) someone had to do the research, so they should be able to give SOMETHING to us… In the end, it’s just making MS look bad, and they’re losing a lot of credibility, I think, because they’re essentially making unsubstantiated claims. If they would just provide the evidence, and the world could say ‘Hey, these packages ARE infringing’ then the view towards MS would definitely be different.

  164. Hendrix says:

    Here’s a conspiracy theory about why the Express editions exist at all. imo, it revolves around the fact that several million VB devs jumped ship when they found the code they’ve been working on for years and years was suddenly considered trash. So, to make them feel "better", MS released a crippleware version of VS. Since all other devs would be crying "foul" if VB were the only freebie, the rest of the product line was rolled out. Express still can’t possibly gain the trust of so many devs who lost their code to a "whim". Paul Vick, and his "Father of VB" (insert sensorable word here) changes keywords and their functionality "out of the blue" with no rhyme or reason (reason was, the old team left and the new team couldn’t make heads or tails of the old team’s notes because they’ve never touched VB in their lives (still haven’t)) and literally stabbed their biggest dev customers in the back. So, my theory is… Express (aka Crippleware.Net) is "free" because they need to boost that download count to make them feel "better" about robbing us blind. Well, they can keep Express and the entire dotNet horse it rode in on.

  165. mitty says:

    I think it is hilarious for someone from Microsoft to attempt to bring ethics into any debate.  Almost as hilarious as Microsoft’s recent public "concern" about other software companies’ potentially exhibiting monopolistic behavior.

    And … just where is the repeatedly-requested EULA citation?  As someone said, if there is a "direct violation" it should be easy to cite the text.

    The weaker your case, the more words you need.  In this case, 633.

  166. James says:


    This guy is dumb. If he doesn’t want extensions – then he should write the program to not allow extensions.  Clearly a loop hole / bug which needs fixing. Fix the leaking roof rather than try and stop the rain.


  167. pistol.p says:


    While it is obvious to more than ninety percent of respondants, it seems that it is YOU who is missing the point.  If you would care to scroll back and actually read the comments being posted you might grok the argument being presented in favor of Jamie’s right to develop and release this extension.

    MS and it’s mindless parrots (read: Dan et al) simply making a strong assertion regarding their legal standing does NOT make it true.

    THERE IS NOT A VIOLATION OF EITHER LICENSE NOR AGREEMENT IN ANY WAY SHAPE OR FORM!  Why do I know this?  I have taken the time to read the EULA.  There is no explicit prohibition of extensibility of the express version of Visual Basic.  IT’S SIMPLY NOT IN THE EULA.  Everything that has been said to the effect of "this is not allowed", "this is illegal" or "this is a violation of the EULA"  is simply a lie.

    Go read for yourself, it’s not there.  There is no breach.  If there was, Microsoft would haver certainly been able to point to the clause that illustrates this specific prohibition.  

    So if you want to continue with the misdirection, go for it.  We all understand that simply wanting for a behavior to be allowed does not make it so.  By the same token, wishing that they HAD placed the restriction in the EULA does not make it so.  Smoke and mirrors, buba… Nothing but Smoke and Mirrors.

  168. Scott Roberts says:

    Do any of you open source guys that are claiming that developers are leaving VS in droves and that your tools are better have any links to back that up? Everything I’ve read says that the Java community is getting tired of watching C# surge ahead with new features while Sun drags it’s feet on language enhancements to Java.

    For example,

  169. pistola says:

    Express User "Why does MS get made out as the bad guy when they have been asking this guy to stop breaking the rules for so long? How about follow the rules and MS will leave you be? "

    Well Mr. User, if that is even your real name, NOBODY has been able to find this so called rule.  As far as anybody can tell, it doesn’t exist.  

    Maybe you could do all of us a favor (not to mention the MS legal team) and find this rule somewhere.  After all of the searching that everybody has done, it certainly seems most likely that this rule never made it into the EULA, and therefore doesn’t apply.  

    That would certainly be the simplest explanation! occams razor anyone?

  170. Theo says:

    JUnit + Eclipse = No Legal worries, and 3000 plus plug-ins.

  171. ak says:

    sdether ,

    sad to see you switched to the dark side. Please read this for reason ( MS is simply not innovator or leader of technology.

    And in this case, it also hightlight their corporate culture: bully.

    I’m glad I switched to java and stay away from MS few years ago.

    Good luck

  172. AndyC says:

    Just point out the EULA violation!  It appears that when MS first complained, the Express extensibility was quickly disabled.  Then after some thought and checking the EULA, when he couldn’t figure out the violation, he reinstated the ‘offending’ version.  MS have then repeatedly not pointed out the problem, and neither has anyone on this thread.

    I’ve used the Express product in a limited way, but it’s never taken long to find myself having to hack around deficiencies in the language and standard C# libraries (e.g. no connection timeouts on TcpClients).  The resulting code never looks like nice clean code that I can imagine scaling well.

    Thankfully I’m a Unix C and Java programmer by day

  173. I quickly wanted to respond to questions or misconceptions raised in the comments of my previous blog

  174. codefaring says:

    If you were smarter you would have hired Jamie away from doing Java development at double his salary to integrate VS with all common testing platforms.

    But never underestimate the lack of strategic thinking of a middle manager.

  175. SirSpammenot says:

    The question Jamie Cansdale and other *customers* might/should be asking is: Is there another .Net/C# implementation that doesn’t apply these restrictions?

    Answer: There is. It is pretty good and cross platform too. Depends on what is most important to you I guess.  Jamie, go where your contribution is appreciated.

  176. Daniel says:

    While I’m usually an ardent Microsoft supporter I too feel Microsoft is in the wrong here this time. And sending laywers is not a positive message to send to the industry, developers, hobbiests or anyone.

  177. jeffk says:

    I don’t see what the problem is. Microsoft owns the code to Visual Studio Express, so they should be able to BLOCK the use of add-ins using technology instead of legalese. Jamie simply found a work-around to support what many people consider to be essential functionality.

    And now Microsoft is resorting to lawyers to do what their developers apparently can’t. I gotta say, that doesn’t inspire confidence in their technical abilities.

  178. chris says:

    Wow, people here really just don’t get it. TestDriven.NET is NOT a free plugin. Jamie is charging money for it, it is a commercial product. That means that somebody would be profiting off of a product that Microsoft put out there for free. How much sense does that make? If somebody took the code you wrote, added their own stuff, then started charging money for the new product, how would you feel about that? Especially if you had told them that they should not do that? I mean, you can say all you want that the EULA doesn’t explicitly cover it, but surprisingly there are no other plugin writers who did what Jamie is doing. How did that happen? All the other plugin writers just decided they didn’t feel like making money off of VS Express? Or maybe Jamie did in fact completely violate the trust that MS put out to the software vendors when they make VS Express free!

    If TestDriven.NET starts offering their plugin for free on VS Express, then that would change the situation (and I’m pretty sure MS wouldn’t prosecute in that case). But in this case, it’s clear that somebody is profiting off of MS’s free software despite MS’s wishes, and Jamie is in the wrong.

  179. Jordan Dea-Mattson says:

    Dan –

    Unfortunately, you are running into what happens when your platform provider sees you as a profit center (sell more copies of Visual Studio) vs. a partner who is making the platform a better place.

    Contrast this with – gasp! – Apple: Apple gives away its tool set with each and every copy of Mac OS X. You have it right out of the box.

    And if you want to extend it, guess what: Apple doesn’t come after you and try to shut you down.

    Of course, Microsoft could easily solve this problem: allow vendors who distribute "Express Versions" of their products for free (as Jamie does) to extend Express.

    Has anyone from Microsoft noticed – based on their postings it doesn’t appear to be the case – that for hobbyist, non-professionals, and student developers (the folks who use Express) that Jamie isn’t charging them a thin dime? Isn’t this in line with the "ethos" of the Express product you trumpet?

    I know how hard it is to get things done in a big company and to do the right thing (13 years at Apple and 7 years at Adobe Systems, in my tenure at Adobe I managed the Apple and Microsoft technical relationships), but I think you are missing the opportunity here to do the right thing.

    Finally, if you believe a violation of the EULA is occurring, please cite the particular clause or clauses. I have read your EULA – I am not an attorney, but I know my way around software license agreements – and I can’t find anything in it which is being violated by Jamie or his customers.

    It is clear that TestDrive.NET is a labor of love. Jamie is giving it away for free (I just downloaded it without charge) for the hobbyists, students, and tinkerers.

    He is giving it away for free to the same folks to whom you are giving away Express. He is making your ecosystem better, he is increasing the value of your platform, and he is helping to establish best practices among your proto-developers, so that when they become the real deal they will build good, solid, well tested code. So, explain to me how he is harming your platform?

    If your other plug-in developers were giving their plug-ins away for free to Express customers, then they would have a legitimate claim that Jamie is getting "special treatment". But I don’t see them doing that.

    So, do the right thing. Change your terms to allow partners – like Jamie – who give away their plug-ins for Express for free to provide them for Express. Yes, this will require some work, but go and do it. It is the right thing. Yes, you will be swimming upstream, but in the end it is the folks that swim upstream who change the world and get recognition.


    Jordan Dea-Mattson

  180. Jordan Dea-Mattson says:

    Obviously, Chris hasn’t done any basic research on this issue – like visiting Jamie’s web site:

    "Wow, people here really just don’t get it. TestDriven.NET is NOT a free plugin. Jamie is charging money for it, it is a commercial product. That means that somebody would be profiting off of a product that Microsoft put out there for free."

    Jamie provides TestDriven.NET for free ( to the exact same audience which is the target market for Express.

    In the future, please do you research.

    BTW, Jamie is essentially distributing his product on the honor system. You can get this for free and use it as a professional.

    But, Jamie is doing the right thing. He is supporting the eco-system!

    You said:

    "If TestDriven.NET starts offering their plugin for free on VS Express, then that would change the situation (and I’m pretty sure MS wouldn’t prosecute in that case)."

    So, will you know change your position and say that Microsoft is in the wrong here?


    Jordan Dea-Mattson

  181. AnotherDeveloper says:

    I totally agree with Joe J. This may be a headache for Microsoft, but its one they created for themselves by not *removing* the functionality. This shows naivety on their part, by assuming nobody would challenge the license.

    Legalities aside, I can see why Microsoft don’t want this in there Express versions. Would you, if you were in charge of the Visual Studio Line-up?

    I’ve never used it, but on the flip-side, congrats to jamie for making available a seemingly very useful tool!

  182. This is one big reason why I use Java.  Everything I need to do pretty much anything under the sun is available under an open-source license.  JDK, Eclipse, Ant, zillions of libraries, profilers, static analysis tools, application servers, databases, message queuing, everything.

    LOL at anybody using Microsoft developer tools.  Hasn’t everybody figured out by now that Microsoft does not "play fair’ with the community, is NEVER a good "partner" and will take advantage of anybody and everybody they can if it enhances the bottom line by a few cents?

    Switch to Java, or Ruby or Python or Perl or whatever, sooner rather than later.  I promise you won’t regret it.

  183. To Ian Ringrose (and Microsoft, read on)

    Ian, I used to work with you (I clicked your URL and checked your image, yes it is you) about 13 or more years ago.

    Back then no one had heard of unit tests. Thus your comment

    "When teaching someone how to program, I can not imagine getting them to write code without unit tests. "

    is demonstrably false. Of course you can imagine it, no one ever wrote unit tests in 1993/94 when you worked at Laser Scan. I’m not saying people didn’t test their code, of course they did, but a testing framework? nope, sorry, didn’t happen.

    Then you write this:

    "It will cost a lot more then I am paid in a month just to get a legal person to explain to me what one of the Microsoft licences means."

    Lawyers are between £100 and £200 per hour. Interpreting a license would take an hour or so. You earn multiple thousands of pounds per month if you are on an average UK salary for a software engineer. Clearly this legal license  point is false.

    Nothing personal, just don’t like to see rubbish written by people that should know better. One of the things you were known for was being a geek. Think harder, rather than outraged injustice.

    As for Microsoft. If this functionality is not meant to be supported in VS Express why on earth is it present in the binary? If you don’t want it to work then:

    a) Don’t include the code to make it work


    b) Don’t include an API to allow a 3rd party to use it

    Common sense. When we ship a product that doesn’t support X, the code for X is not present in the binary.

    For all you disagree with Jamie’s activities, he has used published APIs and not modified your binary in any way.

    So, forget the legal action on Jamie and modify your VS Express binary. Problem solved.


  184. tilsammans says:

    Microsoft, thank you for getting people to use other software such as Ruby on Rails!

  185. Pete says:

    I see a lot of people stating that "EULA’s must be adhered to" and other such nonsense.  EULA’s have never been upheld in court… they are very dubious legally… and in fact there’s nothing to stop you from changing the EULA before you click I agree.

    EULA’s CLEARLY violate the doctrine of first sale.

  186. Al Schrank says:

    Dan, Thanks for posting your comments.  I guess it is good that you are trying to communicate.  However it looks like it’s now working so well.

    Some of us think MS is right, most of us think MS is wrong.  Who was it that said there is no such thing as bad publicity?

    To me, it’s clear that right and wrong; legailities and illegalities; won’t sort out the impressions MS is leaving.  It’s such a shame that much of the hard work of softies to open up, to be responsive, to build community can be damaged quickly by executives, laywers and others.  

    These people don’t care about developers or MS. They are going through motions for whoever pays them the most.

    235 patents, EULA, Martin Fowler, Mike Gunderloy, Frans Bouma, Me.  I wonder if down the road, looking back, you will think it was worth it?


  187. Sam Smoot says:

    I developed a Ruby On Rails database adapter for Microsoft SQL Server in Visual C++ Express.

    I didn’t get paid for it.

    I just put it out there. For the community’s benefit. So developers could integrate with Microsoft SQL Server.

    Microsoft wasn’t doing me a favor by offering VC++Express for free. I was doing _them_ a favor.

    As much potential as Jon Lam’s work has, and as exciting as that was, you’ve (representing Microsoft) wiped out any good will that may have generated, and at least for the near-term, and musings about giving Microsoft a slice of my development time by experimenting with IronRuby.

  188. Ross Presser says:

    (I confess I have not read through all the comments above; someone else may have made the same point as I already. But here goes …)

    The fact is, there is NOTHING to prevent a developer from doing unit testing WITHOUT USING ANY ADD-IN.  Create public classes that perform the tests in your application; create a second application that references the assembly of the first one, instantiates a tester class and executes it.  Nothing to it. provides that tester application, provides some syntactic sugar, and provides a definitely cool context menu extension.  But all of that is niceties.  There is no reason you can’t do unit testing without any of that, without violating the license agreement or pissing off MS.  (And also without using any open source package like nUnit.)

  189. Jack says:

    Honestly, if I didn’t know better I’d swear Microsoft was AFRAID to innovate. Talk about squashing the hell out of any community support, Microsoft’s actions are the very definition of "user hostile".

    Really, step back and look at this whole thing and it’s laughable that Microsoft has any developer support at all. Why spend your time working for someone who’s likely to turn around and SUE you for your efforts?


    "100% Open Source User"

  190. Ross Presser says:


    "(VS has a better debugger)."

    You do realize that the CLR Debugger that comes with the .NET 2.0 SDK does what you want, and is available for no charge and no restrictive EULA?

  191. Mario says:

    Can’t belive all this oh-Microsoft-bad-you-are stuff, for instance:

    "As for Microsoft. If this functionality is not meant to be supported in VS Express why on earth is it present in the binary? If you don’t want it to work then:

    a) Don’t include the code to make it work


    b) Don’t include an API to allow a 3rd party to use it"

    Actually, it’s much more simple. Microsoft is excellent marketing agency. They don’t build software, they SELL software. And they are doing it quite well. Quite well, indeed. So, they’ve built Vstudio. You need to pay for it. (Actually, you don’t buy the package, you buy the licence to use it! How silly is that?). Then you have You don’t have to pay for it, but you can’t have addins. Then, out of nowhere, you can have an addin. The addin. The unit testing framework. The real stuff. The stuff people were buying Pro and above versions of Vstudio. Now noone will buy it. So they bark.

    People, there are so much better leaner and meaner environments for developing besides MS products. Just see them…

  192. John L says:

    Thanks for yet again (and so consistently) making me right, fellas…

  193. Jason says:

    Someone wrote "Wow, people here really just don’t get it. TestDriven.NET is NOT a free plugin. Jamie is charging money for it, it is a commercial product."

    This is utter baloney- TestDriven.NET is FREE.  He’s *not* making any money off of it, so stop lying about this.

    Jason (

  194. Jason,

    You can read the licensing terms for the different TestDriven.NET versions here –, but it is available for purchase from $99 for the professional version all the way up to $10,500 for an enterprise license.  

    The TestDriven purchase page is available here –

  195. Rob says:

    M$ sends crack team of lawyers after little guy, alienates entire developer community in the process. Let’s have a big round of applause for M$.

  196. mmeister says:

    Seems that Microsoft is the only OS platform that charges you to allow you to develop programs for THEIR platform.

    Developers should not be a "profit center" for Microsoft. It is developers that write the "cool app" that drives users to Vista or .NET.  Instead of seeing them as a partner, Microsoft sees them as just another source of money.

    Microsoft’s actions show it is nothing but a dinosaur. Steve Ballmer’s new motto: "Screw Developers, Screw Developers, Screw Developers!!"

  197. There is a cold chill in the air today. For those of you that don’t pay attention in the developer world,

  198. Yuri says:

    Oh, pour Windows developers – what sort of crap you have to live with.  

  199. Joseph Daniel Zukiger says:

    When it came to the decision whether to release Express or not to release Express, …

    I’d have preferred them not to have released VS.

  200. mdj says:

    I think M$ is right.  Most of the haters’ postings that I have read, read like a storm trooper stomp for something M$ doesn’t do, give the farm away.  Or let it be devalued in some way that takes away a perceived or real value for the customer it serves and the revenue it generates.

    M$ made the product, they can dictate its terms however they want, car analogies make no sense to computers and software, never have, they are separate.  Intellectual property holders to me have the right, however short-sighted anyone believes it is, to control what they create.  Also by this control dictate the terms of use and the payments for use if necessary.

    Sure RIAA is bad, but M$ is not RIAA, M$ as far as we have seen is not after little old ladies steeling software or making features "illegally" available.  People sure are over it though and throwing Greek Fire at the castle walls though as if it were doing just that.

    Ranting aside its M$’s prerogative to build, license, and do with as they will to THEIR SOFTWARE, no one else’s.  It is the communities to bitch about, and obviously there are plenty of bored developers to bitch about it.  Many that posted by claim don’t even use M$ products, well good riddance.  Hope you like it there, its cold, because the community of contrarianism is for sure.

  201. James says:

    I hate Java. I think it was defective by design and is only beginning to correct its follies. I love the design of .NET. Visual Studio is remarkably elegant. But I still use Java for exactly these same reasons. That’s because I know MS wants to control fundamental tools. I know that while Mono provides an alternative to deploying .NET on other OSes, this "Microsoft is a business at the end of the day" talk means that MS WILL sabotage Mono the minute it turns out to be complete (and competitive) alternative to .NET.

    The world has changed. If you have this *We own this intellectual property/patent* mentality and fail to understand that your tools at best seed an ecosystem rather than create it in its entirety, I and others like me will choose tools that are safer bets in the long run even though your product is a better one now. Please realize why Sun had to GPL Java (and benefited from it). A sensible community simply cannot build a castle on the assumption that the vendor will always play nice.

  202. MVP Man says:

    You guys need to decide whether you are an OS company or a compiler company.

    If you are an OS company, then you should do whatever it takes to make life easy for people writing applications for your OS.

    If you are a compiler company, then you should do whatever it takes to sell compilers.

    You cannot do both effectively.

  203. Freddy says:

    Keep it up MS.  Sue more developers who like your products.  A lot more of them. Alienate more of your MVP’s.  Alienate your entire community of developers over a few dollars.  Turn all of them into your enemies.  Continue to focus on grabbing pennies while dollars are running through your fingers.

    I love to see you continually shooting yourself in the foot and creating enemies where you once had only friends.  You are destroying yourself from the ground up, and are so arrogant you can’t see the only possible result of your own behavior.  

    What’s coming to you couldn’t happen to a more deserving organization.  Keep on destroying your own foundation.  The world will cheer when you fall.  I love it when you expose your real character for the world to see.  Why?  Because character really does matter.  Deep down almost everyone but you understands that, but your character as an organization is so corrupt you just can’t help doing what you do.  

    Long live Open Source!

  204. Doesn’t any addin to Visual Studio provide functionality that is not provided OOB? In that case all addins could be considered illegal. Funny thing

  205. Max N says:

    Ok if you are going to block out extensibility to the Express-products please, for god sake, make all of your technologies work with whatever VS editions people are using.

    Last year was crazy following the development of Vista and later on XNA, Robotic Studio and Silverlight with various VS tools. MS released so many versions of different technologies that either would or wouldn’t work with the Express and other versions of VS.

    FFS get you act together and treat VS as a platform. Get XNA working with the non Express versions, have WPF tools available to the Express versions for example.

    I bet there are a lot of smart people working with the VS stuff at MS but having it all get filtered trough not so smart business executives. And I guess that’s the reality for most companies, however it’s sad that the business guys are dealt the better hand especially at a division of developers making tools for other developers.

  206. > It was a small miracle getting Express

    > to be available both for free and for commercial use

    A list of of more graphical development tools, which, by miracle, are available for free and for commercial use:








    EiffelStudio (OSS only)

    Cut the crap: Convincing lawyers and marketoids to distribute for free a product that YOU made is not a miracle – it’s a disgrace.

    For great justice – ¡Viva la Libertad!

  207. Mo says:

    Dumbest. PR move. Ever.

    Well done, Microsoft. You’ve just demonstrated precisely how you don’t get the “community” thing you keep on banging on about.

    In any case, I’m pretty sure the only legal recourse against somebody who happens to use an extension on a product where extending it is a violation of the EULA is to terminate that EULA. Recourse against somebody distributing that extension? Precisely the same, where and when they happen to use that extension. You can’t license against distribution of that extension, though, just how your product might be used with it.

  208. Anonymous Coward says:

    You people should get a grip and stop looking a gift horse in the mouth. We’re talking about MS here, the most proprietary company of the world, in of the rare occasions it releases a product *for free*. This doesn’t make them FOSS from one moment to another so stop comparing them and judging them as such. Going after Jamie legally is not the worst they can do; it’s start charging for VSE or even ditching it. What part of "take it as is or leave it" you don’t understand ?

  209. Philip Hunt says:

    Does Microsoft have a "Freedom to innovate" network? Perhaps they should change the name to "freedom to prevent others innovating".

  210. ASP.NET Ajax and Community Server: JavaScript Comment Stripper Task not found – Dave Burke (tags: CommunityServer

  211. Justin says:

    As a developer who is both paid to do development, as well as being a hobbyist, I must say that I truly enjoy VS Express.  It’s not perfect, and it’s not intended to be perfect; cons include the fact that you need to separately download and register individual components, certain features are disabled or not implemented, and… well, I can’t think of any more.  Pros include being able to produce code that is just as functional as code being developed by an enterprise-level development platform, the introduction of quality development environments to people that would otherwise not be able to afford "learning software," and the satisfaction that you got Microsoft software for free without breaking any laws in the process.

    Yes, it is crippleware.  If it wasn’t, Microsoft would be stabbing itself in the foot by cutting off a major source of their revenue.  People are so eager to decry Microsoft, but I don’t feel that MS deserves to be lashed out against just because they refuse to give their free software a feature that is easily worth paying money for.

    Instead, this whole argument feels like a case for communism, where each person is entitled to the property of someone else.  I disagree with the ever-growing concept that people shouldn’t be able to charge money for software, and instead would charge for "support."  If a carpenter builds a house, do you wait to pay him until it’s time to bring him in to fix a leaky roof?  No, you pay him for the construction, and if something goes wrong with the house, circumstances depending, he may be willing to fix it for free.  Why should software be any different?

    I don’t understand why a cut-and-dry case of somebody (Jamie) violating the spirit of the law, if not the letter of it, is a case for moving to Java or Linux.  I don’t believe there was ever any altruism in the free software movement, just a bunch of no-name programmers in search of bragging rights and "recognition" by their peers.  Myself, I’ll settle for being paid to program on a Microsoft development platform that my employer paid big bucks for.  And in my free time, I’ll probably use the Express versions, without plugins, because there’s no valid reason not to.

  212. Olivier Laurent says:

    It looks to me that your EULA is America-centric.  the guy lives in the UK where reverse engineering is acceptable in few cases

    "Reverse engineering is allowed under Article 6 [of the European Copyright Directive], but only for the single purpose of producing an interoperable program (rather than a competing program)."

    Testdriven is an interoprable program.

    You will hard a hard time to convince any British court that he breaches any law (Whatever you may write in an agreement, the law prevails).

    Anyway I’m still using Microsoft Visual Studio .NET 2003 pro and I love it :-). Thank you so much for such a wondeful work.


  213. Dave says:

    Take your Express edition and stuff it, I say. Let potential future Windows developers learn elsewhere and maybe the world will be a better place. What, Microsoft doesn’t make enough money on Windows and Office, it has to soak developers, too?

    Every Apple computer comes with free developer tools, including a very nice IDE in XCode. Java and Eclipse are likewise freely available.

    I say this now as an MSDN Universal subscriber who’s been writing drivers and applications for Microsoft’s platforms since the early versions of MS-DOS in the 80s: stuff it. I’m sick of your company, even if the market has me locked into writing code for it.

    Call off the lawyers. Jamie did you idiots and us developers a huge favor, and you’re roasting him for it.

    Yes, I’d rather see Express not be available at all. I think that’s a fine, fine idea. The less folks building software for your platforms, the more you lose your grip on the market. Your corporate ego clearly needs such a lesson in humility.

  214. Rene Juul Winther says:

    I agree with MS in this matter. The limitations and license-agreements of VS Express is comparable to those of the thousands of freeware/shareware products used by millions every day. In respect as well as law: the limitations of the free editions are not supposed to be "bypassed" just because you can.

  215. ccj says:

    If Express is not supposed to have add-ins, then don’t compile/ship it with the possibility to do so.

  216. tatomaster says:

    to Jason and danielle,

    Just to get some facts straight:

    – TestDriven.NET is FREE when used with Visual Studio Express Edition.

    – TestDriven.NET costs $99 for commercial use.

    – Microsoft is asking Jamie to remove support of TestDriven.NET from the Express editions. That is, Microsoft demands target the FREE version of TestDriven.NET.

  217. Mark Granger says:

    I realize this is a radical suggestion, but how about listening to your customers instead of your lawyers? I feel that the whole idea of attempting to tap your software developers as a profit base is a huge mistake. It was my impression that VC Express was released in order to compete with the excellent and free development tools in Linux.

    I love VC Express. I use VC Professional on my desktop computer but I like to use Express on my laptop. The most annoying thing about VC Express is the seemingly arbitrary decisions that were made about what would and would not be included in the software. The lack of a resource editor is painfull for example. I cannot understand why third party extensions are not allowed. I don’t even see how it is legal to prevent them from being developed. Your reaction to this developer makes me want to develop some sort of VC Express extension of my own. I have a feeling I am not alone.

  218. Scott Roberts says:

    Re: "THERE IS NOT A VIOLATION OF EITHER LICENSE NOR AGREEMENT IN ANY WAY SHAPE OR FORM!  Why do I know this?  I have taken the time to read the EULA.  There is no explicit prohibition of extensibility of the express version of Visual Basic.  IT’S SIMPLY NOT IN THE EULA.  Everything that has been said to the effect of "this is not allowed", "this is illegal" or "this is a violation of the EULA"  is simply a lie."

    I’ll admit it, I haven’t read the EULA. I can’t pinpoint the violation. I also don’t write add-ins for VS, so I don’t know the technical limitations (if any) that were put in to the Express version to block add-ins.

    So, let’s assume that it’s both legal and technically trivial to create add-ins for the Express edition. If that’s they case, you’ve got to ask yourself why there is only ONE vendor doing it. Why? It’s legal. It’s easy. But no one is doing it. Weird, don’t you think?

    Oh, I can read your mind. "Microsoft has bullied all the other vendors into not providing their add-in for Express! Microsoft is evil!!".

    Let’s be rational and logical for a moment. Suppose it’s NOT a violation of the EULA and it’s EASY to create an add-in for Express, but MS has clearly (and repeatedly) asked that it not be done. Shouldn’t that be good enough? When someone asks you not to violate their product, shouldn’t you respect that?

    Can Jamie possibly claim that he isn’t aware of MS’s objection here? He dropped support for Express long enough to get his key then added it back. Talk about sneaky and under-handed. And you guys all think he’s a hero for it? I seriously question the morality and ethics of those who support somone who knowingly and repeatedly violates the stated wishes of any software author – especially those who claim to author software themselves. Shame on you.

  219. Will Ballard says:

    As someone who does provide Visual Studio extension (unit test tools surprisingly enough), and does play by the rules in that we don’t provide Express support, as it is clearly prohibited from our read of the license, it seems that fundamentally Visual Studio is Microsoft’s product, and they can set the terms of use as they wish. I’m pretty happy to be able to extend it at all.

    Ultimately, if you are making extensions to other folk’s products, you need to be a partner — and that means working together by a shared set of rules. Breaking those rules either written or agreed to in conversation just doesn’t seem as productive as negotiating to get the rules changed.

    I’d love to make extensions to Express, and will do so if Microsoft allows it — but it isn’t up to me to disregard their position just because folks *want* Express extensions.

  220. mbergal says:

    To Dan.

    I hope you understand what PR disaster Microsoft has created for itself. MIX07? Silverlight? DLR? LINQ? It’s not what people are talking about? It is this:

    Martin Fowler – RubyMicrosoft

    Sam Gentile – Microsoft at the Crossroads

    Scott Hanselman – Is Microsoft losing the Alpha Geeks?

    And then all that Linux patent stuff and TestDriven.NET legal troubles.

    This is a big problem for all people using MS technology. Alpha geeks and community is a serious force in developing a platform, no effort of Microsoft to create their own tools can substitute for that.

    So if there is no community and no alpha geeks the MS platform perspective looks bleak and even people using it (having a big investment in it) are starting to  think about moving from it to something else (Java, ROR, whatever), and they wouldn’t even consider it before this PR disaster you helped to create.

    Hmmm, ROR on JRuby, Eclipse are starting to look very good to me now.

  221. Rafael Loureiro says:

    I am totally disappointed with MSFT. What a stupid decision, let the guy extend Express, if you say people are not looking for a Testing tool, why not leave the guy alone then?

  222. Some guy says:

    Let me get this straight.. in the .net world, unit testing requires a third-party add-on?    So, these guys are offering a product that fills a huge gaping hole in your development environment, and you want to hassle them for it?

    Jesus H. Christ!  Apple included the excellent OCUnit framework in all versions of Xcode since they shipped Mac OS X 10.4 (that is, since April, 2005).

    But hey, speaking as an AAPL shareholder, I hope you guys keep doing what you’re doing.  Drive all your developers over to the Mac.  Keep irritating your users with nonsense like your license enforcement debacle, and please, PLEASE, spend more money on Live and Zune and Xbox, and all your other money sinks.

  223. Some guy says:

    Oh, and one more thing:  charging money for your development tools is idiotic.  Apple learned that lesson from *you*, and now MSFT has forgotten it.  Brilliant.  Just freaking brilliant.  

  224. PMBCAN says:

    >Ian Ringrose

    >When teaching someone how to program, I can not

    > imagine getting them to write code without unit tests.

    Ian, this is a FALSE assertion. Though I program in C# now, I have come across FORTRAN, MATLAB and Java programming as well and have referred several programming books on these language. I NEVER came across unit tests. This is vital topic only when teaching at intermediate/adavnced.

    At beginners level, it only complicates the matter and makes the leaner sluggish.

    If someone hates MS$, better they stick to $un’s Netbeans which is alread Eclipsed.

    VSExpress should remain as simple as possible. Otherwise it’ll dilute its own foundational idea and purpose.

    Dan, you people did great job in making VSExpress simple and free. We just look forward towards more such generous ventures.


  225. Phillip Jones says:

    After developing in MS product for over 10 years this type of action from MS is really starting to me think that I should start to explore other technologies.

    More of this type of crap from MS will drive more and more away.

  226. mindragon says:

    Wow. Amazing. I just got wind of this through Slashdot and I am absolutely astounded that Microsoft is actually pursuing this strategy.

    At a time that the development community is shrinking versus the inflow of projects (worldwide and especially in the US the number of graduates do not match the number of projects and the potential for projects to be assigned), Microsoft is actually discouraging its community from evolving and providing tools and support to grow its own user base.

    Look at the modding community surrounding some of the larger games out there — Tribes, BF series and even Half Life. Some of the mods for those games have in fact become the next generation game. BF1942:Desert Combat team moved into BF2 and 2142, for instance.

    Instead of taking a cooperative approach with this tool, Microsoft has gone corporate and hostile. This attitude is neither productive nor helpful. As the backlash has shown, this will only discourage potential users of the VS tools and encourage the competitors which have a stronger cooperative framework to continue to innovate. I’ve been watching the Ruby on Rails movement and I am a user of VSTS. I can assure you that if RoR gets good enough, I’d be the first one to jump. As a businessperson I have to watch my bottom line and I have to be able to innovate as quickly as possible for my customer’s sake.

    The most logical course to take with this testing tool would have been to simply incorporate the free version with the free product and to maybe even make a contest out of it to encourage people to develop similar tools so long as they are released for free. Google "summer of code" as an example is a brilliant campaign. Microsoft should have taken a cue from this and done something similar.

    Instead, this slap in the face to the development community will be long remembered. The folks that made the company in the beginning (developers) can be the one that destroys it in the end (by leaving). If no one writes for Microsoft, who will buy the OS?


  227. eroemi says:

    Fix the code, fix the EULA, ships the update and you’re done.

  228. Brian says:

    Free software should be able to extended with FREE Extenstions !

    In fact Microsoft would best be served by giving ALL there development tools away since it’s applications that sell an OS not OS functionality.

  229. Guillermo says:

    Come join the dark (Java) side!.

    Someone said " Do you wish to drive everyone that cares about unit testing to Java"??.

    Well that would be a great decision!. In fact, I encourage everyone fed up with Microsoft’s bullying tactics to try Java.

    Why not head over to and see the power of Java? It’s not only Open Source now, but your apps will be instantly cross-platform (Windows, Linux, MacOS-X, Solaris), something that Microsoft will never do (and don’t mention Mono, they are always chasing a spec they do not write, and compatibility isn’t guaranteed!).

    I’m amused by the "shock and horror" of some of the developers here. Microsoft is a for-profit corporation. It doesn’t care about your interests as developers, it cares about brainwashing you so you end up using tools like VisualStudio.Net so your apps are not cross-platform and as a result more people end up buying Windows!.

    Experience Freedom, experience Open Source. Break the chains that tie you and your work to Redmond!.

  230. Vishnoo Rath says:

    Have restrictive licences on VS Express Editions and someone is going to extend SharpDevelop. What then, boss?

  231. wnight says:

    There are a lot of kool-aid drinkers here whose best argument is "because MS wants it". I’m sure the people writing DR-DOS didn’t want their code to be randomly broken, but that didn’t stop MS from going to the legal limits (and perhaps beyond… We anxiously await.)

    For instance, even if there were an EULA violation going on, which is unclear, and if EULAs were binding, which they are not, Jamie’s actions would result in a contract violation, not an "Illegal" act. However, Dan’s company backed blog (, do the math) has certainly crossed the line into criminal. There’s a very profitable defamation case here. Without offering any proof Microsoft claimed that a competitor was not only unethical and a liar, but also actually criminal.

    Certainly, if you read the pro-MS responses they has a feel of "Why can’t this jerk stop ripping off poor MS who released this VS Express out of the goodness of their hearts." Seeing as how the damages in defamation are based on people actually believing the lies, and these people either believing them or acting (trolling?) as if they do. Certainly, if not familiar with MS’s reputation I would be wary of a developer I heard called a criminal by a multinational corporation. I may never hire him, even if there were a retraction simply because the taint on his name and company would make our lawyers nervous.

    This might have permanently damaged the career of a successful software developer that Microsoft has admitted is smart enough to hook into their binary application and extend its functionality without specific API support. Certainly he’s no slouch. And their comments could easily ruin his professional chances forever.

    Way to go Dan. I’m sure from your comfortable MS position, with your comfy stock options, that anything seems justified in the protection of the status quo. But that wasn’t market segmentation you just did, that was character assassination of an innocent man.

    How do I claim he was innocent? Doesn’t this mean I’m claiming you’re lying? What’s my proof to avoid being tarred with the same brush?

    Because EULAs are post-sale contracts. Because copyright law has no provisions to prevent use by a possessor, even if they didn’t obtain the work intentionally. (Hence NDAs being against the people who would leak, not those they leak to.)

    Your crack legal team, your manager, and yourself, have been asking Jamie to stop this because you simply can NOT make him stop. There’s absolutely no law he violates by releasing a binary patch for an application that someone else chooses to install.

    You have to know this, or you’d have gone to the police/court and have tried to use official means to make him stop, as you do with all the other companies you sue. In this case though, like with your bogus patents (how many violations now? which patents?) you choose merely to bluster.

    Is it the goodness of your hearts? You really could have made him stop, but choose instead to ask? Umm, we know you work for Microsoft, we don’t believe that you’re adverse to abusing people in the courts. Hell, you’re ahead of Scientology if we count you bankrolling SCO.

    So it’s obviously a lie.

    So, MS supporters, there’s no law that says Jamie shouldn’t write this. What law says MS should get the right to say he can’t? Should it be illegal to patch a binary? Heh, yeah, when it becomes illegal to use a highlighter in a book.

    MS doesn’t respect anyone else’s business models. Internet Explorer ruining the net for five years wasn’t in my best interests and I *did* even ask them to stop. But, believe it or not, my complaints fell on deaf ears. Were that the only time MS had intentionally tried to destroy a competitor instead of just developing a real competing product I might not have really held it against them. But this thing with VS Express is merely the latest in a line of indignities required to use their products and their illegal anti-competitive actions.

    As for the open source angle… Well, it’s not a magic bullet, but I’ve never had GCC stop working because it wasn’t licensed for the number of CPUs it was running on. Just saying that if you want a stable product you don’t really want a bunch of intentional land-mines waiting to disable it.

    With Apache as a webserver I can script watchdog scripts and rollovers, running many extra instances of my programs and OS, waiting for the slightest failure to spring to life. With Microsoft products I set up the same fail-overs but I’m always aware that a false-positive licensing issue will bring it down and keep it from restarting. It’ll bring the whole site down waiting to be told that it’s allowed to provide service again – what if it just doesn’t like my key because someone else generated the same one? Thanks, but I’ll take my programs not rigged to self destruct. I couldn’t in good conscience sell it to a client otherwise.

    Hey Jamie, if you read this, you’re unemployable in the field. I wish I could say otherwise, but I wouldn’t be allowed to touch you. I’d be open to losing my insurance coverage. I hope your business survives because Microsoft’s words could really make it difficult for you otherwise.

    And Dan. As for you? Stay working at Microsoft. You deserve them. They deserve you. I simply like knowing where to avoid to avoid you and your peers.

    Clayten Hamacher at

  232. FWLIW, does anyone know about how IBM lost the PC marketplace it had taken such pains to set-up?

    They had made the PC, partly to barge in to the marketplace Apple etc, had proven to exist.  Then they discovered that it was getting very popular, so much so that it was starting to eat into their mainframe and minicomputer sales and support contracts.  This could not be abided, so IBM set out to take the PC down – or at least, back into the fold.  They came out with the PS/2, microchannel and OS/2 – though at that time Microsoft was the OS/2 publisher.

    By that time it was too late to bolt the stable door, and IBM lost control of that marketplace.  They almost crashed and burned totally during the nineties.  And why?  Take a look at the lock-in that the PC didn’t have, the extensiveness it did have, and all the add-ons and cloning that people like Compaq were able to do with it.

    It’s nothing to do with the law as such, but everything to do with common practices that Microsoft has in the past taken advantage of.  And that history lesson tells me that if Microsoft continues this stupidity, it won’t have anyone else to blame but itself.

    Get your act together.  Get real.  You can’t bolt the barn door after the horse has bolted and expect to see it back in its stable automagically.  (End of rant/platitude/proverb. 😉

  233. PMBCAN says:

    Is TestDriven.NET add-in really OPEN SOURCE?? The bold way some people discuss here, I am surprised at their naivety.

    As far as I can see, it is only an EXE file without any signature (company name) attached to it. then how a user will know what is being installed? How can I have some sort of assurance that this VSExpress add-in is safe and secure? Demand for more and more free add-ins might seem a genuine temptation, but SOPs must be followed to assure quality and safety for the target audience. Personally, I am for a lightweight, simple and free-forever product from one-source.

    Guillermo, who here is saying that Microsoft is a non-profit company. Or have you discovered it recently this top secret that Microsoft is for-profit organisation?

    Anybody who watches the whole IT industry with a holistic outlook might have noticed that Microsoft’s strategy has changed in recent times for good. It is making things free or less expensive for low-income entities and generating profits from big corporate organisations via its big products.

    VSExpress has fuelled open-source development but only in a limited and indirect way sense. It can be seen at websites like I only hope Microsoft (esp the VSExpress team) be cognizant of its inherent deficiencies (which has nothing to do with this third party free add-in episode) and then keep on improving. VSExpress must remain focused to beginners/learners/students.

    For hard-core Java developers, they should see the rise of C# as healthy competition, and should not panic as being threatened.


  234. MSFT Employee and Shareholder says:

    I am very disappointed with my company’s behavior here.  I guess we don’t ‘get it’ any more.  It is exactly this type of thing that will lead to the demise of a once great software company.  Daniel, you should be ashamed of yourself.  Thanks for helping to keep the stock price flat.

  235. Paying User says:

    As someone who actually paid for VSTS I hope you destroy this guy. In a former life I had to deal with a situation where someone ripped off our product and used it without consent. It took three yeas but we finally won an injunction. Best of luck to you.

  236. Marcos Meli says:

    I can hear what I said, looks so bad !!


    "They dont want testing"

    OMG, is a shame that you create this battle and you dont stop it.

    All of the post that I see, only you me that this was the first thing from M$ that make fans (MVP and others) and anti M$ to hate all you, I can understand that this is only a lawyers thing, but you talking like that is a shame dude =(

    You lost the trush of the comunity, you said that M$ is portable and we belive you, and later you dont do nothing to make it that way.

    We cant belive you in anyway after that, for a long time you will lost more than you win.

    and the last thing dude, HEAR THE COMUNNITY, CAN YOU SAID, SORRY OUR MISTAKE, …. oh yea, you can lost a lot of market if all the 1000 VSP create free versions !!!

    You are saying incohering things !!! Anyway you can be in all your right, but you win our fear and for BADDDDD !!!

    We dont want to live that life, sorry

    Open source Developer


  237. Chris says:

    Unless you can say that he is violating paragraph x of section y of the license, you have no leg to stand on. If you can make such a statement, then why don’t you and why haven’t you (or your lawyers) in over a year (according to the other guy)?

    Unless there is a part of the license which prohibits him doing what he has done, you really need to blame your own legal teams who designed the license in the first place. If as you say the aim of Express was specifically not to allow any extension then it is up to your team of people who handle product releases / licenses to put that in the license.

    If someone has bought something from you under one set of conditions, you can’t later change your mind and say ‘no actually we don’t want you to do that’.

    Basically unless the license did cover this situation (and you can point to part of it which does), you are trying to have your cake and eat it too. You rely on restrictive terms and conditions/ licenses for all sorts of things and want the courts to consider them accepted by people just by the act of being shown the license when first using the software (when you know that in reality people will not waste time trying to read and understand the incomprehensible lawyer-speak) and now you want people to also be restricted by what you DIDN’T put in the license which they didn’t read.

    If you expect people to be bound by what is in the license, you can’t expect them to be bound by what is NOT in the license.

    So how about giving us a section/subsection of the relevant license.


  238. ffreeloader says:


    Any of you MS developers remember James Plamodon’s words that came to light in the Comes vs MS trial this last winter?  MS considers you to be "pawns" and to be wooed like you are a "one night stand".   Sounds like James was telling the absolute truth despite his belated disavowals of his own training program.  

    What happens when MS doesn’t like what you do?  This story shows you exactly what will happen to each of you if you do something that gets in MS’s way, and MS’s real attitude toward the community of developers.  

  239. MS really has lost the plot. In times like this I’m especially happy to have built my business on Adobe technologies. Glad to hear that MS is busy fighting its own people, let alone competitors.

  240. Paying VS customer says:

    You know, sometimes you really have to take a hard look at yourself in the mirror.

    If you look at Express, there is a tremendous amount of value being offered for free. Besides the tool itself, once you register, you get content that is worth thousands of dollars. That to me is a pretty good deal.

    What do you need to do in exchange? Not try to extend it. That’s all.

    If you want to make a living extending VS, no problem, you can target the $499 VS Standard and above. If you join VSIP, then you can get great support and co-marketing. VSIP if you remember, used to cost $10K, now the base membership is free. The next level up is only $3K per year.

    It’s funny, I really don’t mind paying for software – Microsoft and otherwise. As an industry, we have very, very, very little overhead for our businesses. Even the smallest coffee kiosk requires almost $20K in equipment before it can open up. What does a software company need – a $2K computer from Dell and a $499 VS Standard and you’re in business.

    We really have to be careful for what we wish for. If all software is free, then how is anyone (forget MSFT for a second) going to make any money? Are we all going to have to watch advertising ad nauseum? I say that we should support our own industry and pay for software, and also respect the rules put around software that is made free to us.

  241. Freddy says:

    Can anyone say "James Plamadon", "pawns", and "one night stand" and not see the parallels in this story?

  242. 96RT10 says:

    This is a GREAT thing for open-source… many developers will go to Eclipse.

    It will be for Eclipse what WGA did for GNU/Linux in general.

  243. Zed says:

    While i might agree that what Jamie has done was against the spirit of the idea, this in worst case represents an unethical behavior. If this was illegal, then microsoft executives would be in troubles long time ago, so obviously this is not an issue here. No one even expects them to behave ethically, because it is just business.

    the real issue was whether the license agreement was violated. The only part of the agreement which MS could try to enforce was the one about "technical limitations". However, Jamie used public API, purpose of which is to enable the VS extensions. He didn’t circumvent the implemented mechanisms to enable this. So, obviously there was no technical limitation to extend the software. Therefore, this part of EULA was not violated.

    Maybe MS lawyers should have done better job in the first place, or maybe the developers should have removed the extension mechanism, but it is not Jamie’s problem. Please MS, be more careful next time, so it won’t happen again. Until then, don’t blame others for unethical behavior, because it is really ridiculous to here that argument from your mouth

  244. Schadenfreude says:

    Oh, this is all very entertaining. I find that virtually every comment in here can be lumped into one of four categories.

    1) Microsoft haters and/or free software proponents (nuff said)

    2) Those that want to know where exactly is the clause in the EULA that’s being violated (and who haven’t gotten a response yet by anyone)

    3) Those that completely ignore the question of if the EULA has been violated, assume it has been, and think everyone should STFU and hand MS a big pile of cash or die

    4) Those who think MS is making a bad PR move and should just buy the guy out like they normally do to small companies who threaten their bottom line

  245. Hey buddy, wanna try to program? says:

    If MS allows this addin for the Express version, they’ll find enterprising developers creating addins for all the functionality not currently there and erasing the market for the Pro and Enterprise versions. This will cost them your money. They have forseen that future and have judged their bottom line (at least in the short term) is more important to them than any goodwill.  But like most politicians, we find here a statement of just the opposite — they claim it is goodwill to release the Express version, blinding anyone to the fact it is a classic bait and switch approach to get you hooked and wanting more, with themselves being the sole supplier.

    I still haven’t seen anyone post the EULA violation sentence.

  246. Each VSExpress download represent potentially new lines of code delivered to the MS World (some lines of code that won’t work on MS competitor products, Linux, Mac, Java & co).

    It is no secret that the bulk of the money made by MS comes from Windows and Office. Everything that can contribute to facilitate development for Windows (such as TestDriven.NET) should be considered as a bless by MS.

    Following the same idea, all the MS tool suite should be delivered for free. What does the benefit made on all these tools represent against the benefit made on Windows/Office?

  247. CharlesH says:


    I fall into category (1)a, (2), and I also develop on Microsoft platform for a living at an MS partner (so I live through all the hype and inevitable let-down, hence the bitterness that comes with experience), where does that put me 😉

  248. Jeremy says:

    Wow, what a bunch of whining.

    1) What do you guys think, should MS have blocked the loading of extensions from the Express versions? I guess maybe so, because I only see it mentioned about 132 times, each time as though it’s novel. Clearly it would’ve been advisable, and it’s dumb that they didn’t do it, but oh well. Live and learn. That’s MS’s mistake, but it’s a logistical one, and doesn’t affect the legality here, IF…

    2) The EULA truly does state that the user cannot install and/or use, or a developer cannot develop, extensions for Express. I haven’t seen the EULA, but if you have to agree to that in order to use the software, then everyone involved agreed, and it shouldn’t be an issue. It’s not about "ethos" in the endgame; it’s about contract law. You "own" the software to the extent stated by the contract you willingly signed to get it.

    3) If you really think you can’t teach or do software development without unit tests, you’re a poor teacher/developer. It’s a best practice, sure, and it helps immensely; but remembering back to developing before unit testing and TDD were all the rage, things still worked and got done — ESPECIALLY at the level of the beginner, which is to whom Express is targeted.

    4) If THIS issue is what makes you change from .NET to Java, or god forbid some other platform, you’re making big decisions based on bad reasons, and your continued patronage of .NET and MS was likely based on little handouts and feel-good "community" nonsense rather than what you can get done with the framework. Good lord, how the hell did ANYONE use .NET before Express even existed?

    5) Offering a free product that’s limited in reasonably big ways is done all the time by companies, with no arguments. It just makes business sense. There’s no way that this would’ve been a catastrophe if the product had been limited in the first place (meaning Express would’ve been purely an addition to the community), vs. retroactively stamping out an off-limits extension (meaning the addition has already been forgotten and integrated into the baseline of expectations, and unit testing now feels like a subtraction, even though it should’ve been all along).

    If you want to leave .NET, do it. But stop complaining about how it’ll hurt MS, when really all you care about is how it "hurts" you, irrational though that may be. Express didn’t exist for years, now it does, lending a lot of options and flexibility. MS wants to offer you free stuff, but on their terms, and this is just wrong?


  249. luke says:

    What the fuss. No one is using VC# express after they get used to sharpdevlop 2.x. And nunit is there.

    BTW, Dan, can you make sure that VC# express’s uninstaller work? I still got the dead bits limping around as the "Add/Remove Program" only happily removed the link over there without bothering reclaim my precious hard disk spaces.

  250. anotherlab says:

    While it’s unpleasant PR for Microsoft, I think their request to Jamie was a legitimate request that should have been honored.  VS Express was released a free tool that didn’t allow add-ins.

    In retrospect, MS should have made it impossible to load add-ins into VS Express.  Hindsight is always 20/20 and who would have expected a commercial developer would defy their repeated requests.

    Read all of the emails that Jamie put up on his site.  The first time you read them, you’ll be reading them from his perspective.  That’s a good thing, you need to see this from both sides of the table.

    Now, read the emails a second time, but before you do so consider the following:  

    Visual Studio Express is a loss leader product line designed to bring .NET programming into the hands of the hobbyist/student programmer.  The hobbyist programmer would not be the typical customer for the full featured Visual Studio line.  A product designed for the hobbyist/student would not affect the sales of the full product line in any significant way.

    Microsoft needed to limit the functionality of VS Express to prevent the typical VS Professional from using Express instead of buying the full version.  One mechanism for limiting the functionality is to prevent add-ins from being loaded.

    Visual Studio Express does not generate direct income to MS and takes away development resources that could have been used on other products.  VS Express is not just a recompiled version of Visual Studio, there’s a considerable amount of development resources used to put together a VS Express release.  I’m sure inside MS there were plenty of discussions about the cost of the Express and whether or not to an Express line of tools.

    Now reread those emails and try to view them from Microsoft’s viewpoint.  I don’t know if Jamie violated the EULA, but he did violate the intent.  The right thing to do would have been to pull the plug on Express support as an addin from TestDriven.NET.

  251. William says:

    I want to add my support to those who are asking Microsoft to be clear about what clause they feel Jamie has violated. As an author of Microsoft based free software, I’m concerned to see that he has been pursued by Microsoft for so long without any clear statement of this emerging, and now faces legal action. It makes me feel that this could happen to any of us who rise above the radar, which is not a very comfortable thought.

  252. So, if we’re not allowed to "work around the technical limitations" of Microsoft software, exactly what 3rd party software _is_ allowed?  Pretty much everything on my system is there because a Microsoft alternative either doesn’t exist (Perl) or is grossly deficient (IE, WMP, etc.).

    Or perhaps Microsoft Legal is just trying to let customers like me know that it’s just time to format this drive and use that Ubuntu Linux that everyone says is so great?

  253. The issue I have is nothing to do with the licensing at all. Jamie was in the wrong, and needed to pull the Express support.

    The problem was, why did it take a years worth of emails, phone calls, and finally lawyers letters to get to the point where MS was actually willing to tell him what he’d done wrong?

    MS did not "bend over backwards", at every point that Weber could, he refused point blank to TELL Jamie which clause had been violated. In addition he was rude, overbearing and arrogant.

    It’s a fact of life that you can’t just demand that people jump through hoops, you have to tell them WHY. Well, until the lawyers got involved, MS had not had the simple courtesy of doing that.

    It is also a fact of life that arrogant prats get our hackles raised, and it’s amazing how difficult people can be when they’ve been treated with condescencion and disdain.

  254. Byron Hinson says:

    I had a similar thing happen to me when I was an MVP and I lost my "tag" back then too….It would have been simply sorted out if they had actually told Jamie what he had actually violated over a year ago, making someone face legal action without ever telling them previously what they had actually violated just shows how little heart there is from people higher up in Microsoft.

    Typical really though, happens far to often to people.

  255. Yoooo says:

    So giving the community a free tool in order to promote .NET and increase the .NET development community is suddenly a bad thing because someone improves your tool with much needed functionality for free?

    Embrace and make it a special authorized Visual Studio Express. Require any new Express addin to be free and to be authorized by MS. Simple solution…

  256. I forwarded this story to all my Microsoft-using acquaintances.

    Thanks for the Free/Open Source Software advocacy, Microsoft 🙂

  257. Phil says:

    If you didnt want people to ‘extend and embrace’ your product, then you should have not shipped it with an API capable of being used to do so.

    Its ironic that the third stage of the microsoft mantra ‘extinguish’ is being used against the developer who tried to make a crippled tool, better for people.

  258. Neil says:

    This is a remarkable own goal for Microsoft, and practically an advertisement for the free software camp. You seem to have forgotten that, in the long run, it’s _all_ about the developers!

  259. Former third party MS developer says:

    IANAL (in fact IANEAPL) but it seems pretty straight forward to me unless there are violations in additional sections of the EULA which MS lawyers haven’t pointed out.  

    If he can create a third party plugin which extends Express solely by using the Express product and publicly documented APIs then he hasn’t worked around any technical limitations.  Even if a bullet point on the feature list said that Express doesn’t support third party extensions it clearly isn’t because of a techinical limitation and a bullet point on a feature list isn’t a contract.

    Furthermore, the arguement that he reverse engineered code seems to be a stretch.  Looking at MSDN and header files isn’t reverse engineering in anyone’s book — if it is then that is all people who develop code for MS platforms ever do.  If there is evidence that he disassembled some MS code then there may be some merit to the claim.  (Though I’ve used a debugger to step into the msvcrtl.dll to help discover some of my bugs so just because you look at the MS binary doesn’t mean you are reverse engineering either.)

    If it truly was intended that Express, through technical limitations, not have support for third party addins then I say he found a bug and MS needs to patch it.  But since the technical limitation clearly doesn’t exist and the EULA doesn’t specifically deny the use of third party extensions, the code in question is doing nothing wrong.  

    MS just screwed up, plain and simple!  The way this has been handled seems to be further bumbling — just fix your code.   I beleive I read somewhere in the Express EULA that people can’t run more copies than they’ve dowloaded and can’t redistribute it.  (It’s late and I really don’t feel like reading over it again.)  Thus the genie is out of the bottle but he’s really just a gas cloud that will eventually disipate if the bug is fixed.  

    It’s takes a bigger person to admit to their mistakes than it does to hide behind a room of high priced lawyers.

  260. T says:

    Sadly the EULA is void in a lot of countries in europe as long as it breaches "Fair use" laws, eg in Norway. I am by law (even if the EULA states otherwise) allowed to reverse-engineer and extend any software I see fit by fair use.

    The addon in question could’ve also been done without having VSE installed on the system by having other developers feeding you information, thus you never even being touched by the EULA.

    Not to mention the use of the plugin itself would be the so called breach of the EULA. "End _user_ license agreement", user being the operative word, installing is not being a user, even opening and doing nothing is not even using.

    Though I do enjoy my VS license and do love VS IDE, this lawsuit will go in favour of

  261. LordKaT says:

    "The vast majority of our customer base, now with 14 million downloads, isn’t even professional developers, its non-professionals."

    I guess it serves the guy right for dealing with idiots of YOUR caliber.

  262. Jay says:

    This is just another great reason to use (and help improve, when chance permits) one of the open source development environments instead of VSE.


  263. Markos says:

    Give power to hobby developers, and Microsoft loses control.

    Restricting development software is complete madness. An entire industry has been built by stifling innovation, hot air, and keeping people stupid. This ridiculous action only shuts out fresh people and fresh ideas.

    You sad sad people who have developed a taste for the faecal matter coming from this disgusting company.

    Do you remember old Billy whining about these evil hobbyists making his work on BASIC not worth his time?  He’s now rolling in cash, living off interest, and masked in a shadow of being a ‘philanthropist’, while people in this world are still starving, and 2 in 5 people live on less than $1 a day.

    Intellectual Property? A bit of an oxy-moron. You can not own or restrict an idea, without hurtful domination of others and the complete undermining of freedom.

    A note to Bill, Steve, and the others that follow in their footsteps.. You have no future. All companies rise and fall, and you along with Microsoft will be quickly forgotten.

    Enjoy the spoils your greed – it won’t last long – and I hope you realise you can’t eat money. especially considering economies can fail overnight.

  264. Mullins says:

    I have always preferred Microsoft development software and was especially pleased with the release of the Express products.

    I prefer to use ASP.Net over PHP when I can.

    The case of TestDriven.NET is disappointing, especially the removal of the guys MVP status as a type of punishment.

    I have a large dissertation project coming up soon and I must say this has pushed me to look at an alternative to Microsoft and ASP.Net

  265. Martin K says:

    Whether or not the claims against Jamie are legitimate, which I am not qualified to have an opinion on, this blog entry is just embarrassing to read. What strange FUD are you trying to concoct, about the software being "too complicated anyway"? Well, guess what, the people who believe that Express is too complicated are not exactly forced to install Jamie’s add-on. This kind of bs will hardly alleviate any community animosity towards Microsoft.

  266. potential VSIP says:

    MS, who are you going to sue next? All your partners?

  267. Owen says:

    I think this is turning into a PR nightmare for Microsoft. At the end of the day, Jamie’s work is enhancing a product they they own and support and is pulling the .Net movement ahead. Google would have embraced this situation rather then trying to squish members of the community .. particulary someone who has been given an award (by Microsoft) for his same contribution!

  268. N Whiteford says:

    You should have a) Been clearer about this in your license and b) Told the user which part of the license they were violating.

    I honestly think MS dealt really badly with this. Your getting a lot of bad press and you deserve it.

  269. Hugues says:

    So, in summary, so solve this issue, Microsoft can do one of :

    1- programmatically disable extensions in VS express edition (issue a service pack) ;

    2- point out which part of the EULA or whatever legally binding document is being violated by Jaimie. He says that he will then comply ;

    3- stop whining and accept that what Jamie has done is actually a positive thing for Microsoft ;

    4- sue the guy.

    Surely everyone can see that #4 is the worst possible course of action? Microsoft has had a whole year to do #1, #2 or indeed #3 and be done with it.

    I’m beginning to think that they are both legally and technically incompetent. Meanwhile, much more bad PR is forthcoming !

  270. Ubersoldat says:

    I can’t believe I’m gonna say this, but you guys are right to enforce the terms in your EULA under any circumstances. Yes, the terms are some sort of vague about this being or not really a technical limitation. Either way, the purpose of TestDriven.Net is to widen it’s user base. It’s not even free, the enterprise edition cost like US$10,000

    I believe if the tool was really free (not as free beer) MS wouldn’t be messing with him.

    At last, I don’t think that you should impose a technical limitation by limiting the software. If you didn’t want this to happen then why would you ship your product with this blocked feature?

    Anyway, VSExpress is very good for a starter and I applaud for it being free, but also it’s a shame for it not being free… as everything else.

  271. Doc# says:

    I have been thinking of picking up C# programming (over java), but after this incident, maybe better stick with Java, atleast no BS from Sun/Eclipse teams

    Sorry MS. You asked for devs to leave your platform, here is -1 (that’s me)

  272. Jim Goeth says:

    Regardless of the technical legalities of this whole thing, Weber’s rude and tightwad tactics make us (your customers) sick. As someone else mentioned, I will also support this breakaway movement.

    This battle was obviously not chosen wisely by Microsoft and it will hurt them more than it will help them, even if they succeed in killing Jamie’s product availability.

    Microsoft (with tremendous help from Weber) is its own worst enemy.

  273. Jericho says:

    It’s VERY telling that in all correspondence, Microsoft and  Jason Weber have refused to cite specific clauses of the EULA, despite repeated requests by Jamie.  Instead, Weber first says he cannot, because he’s not a lawyer, then spins around, does a toe-tap and lists what he BELIEVES is being violated in EULA.  Very shoddy work and calls into question whether Weber has overstepped his authority.  

    Did Weber, as Jamie hints in one of his final emails, come up with these violations on his own, or did he consult legal?  If he consulted legal, then why is he so hesitant to list the reasons given by them?  

    I think time will show that Jamie was always correct and that Weber did this on his own, then found himself so far down the path that he couldn’t back out.

  274. Remi Qaine says:

    Since when has a court ever upheld the right of a company to impose a EULA on a customer? Just out of curiousity.

  275. David says:

    If Add-Ons aren’t supposed to load into Express, then why do they?

    Microsoft should put the limit code in Express rather than require all Add-Ons to expressly (haha) limit themselves.

    This reminds me of the guy who used a webstats site’s free API to display better graphs then the mother site.  At first he was praised by the developers, like Jamie’s MVP award, then slapped with legal cease and desist notices.

  276. Redrick Shuhart says:

    > What?? Violation of a contract, which is illegal, shouldn’t

    > be called illegal?? What are you smoking?

    Did Jamie sign this contract? Did license contain a single clause that he violated?

    If both answers are no, then it is not Jamie who is a problem it is MS legal department that failed to create a proper license.

  277. From what I’ve read, Jamie only used APIs that were published for use, and Jamie is a subject of an EU country.  It’s my understanding that the EU has issued rulings requiring Microsoft to make several APIs available for use; if you are barred from using a specific API by a Microsoft product’s license terms, that specific API has not really been made available for use.

    Contract terms that violate laws or court rulings are usually held to be unenforceable.  If Microsoft hasn’t brought the lawyers who are working on the EU antitrust issues in to consult with its regular product lawyers in this matter, I think they ought to do so.  Pursuing Jamie could totally screw up the antitrust case in the EU.

    Disclaimer: I am not a lawyer and my employer may not agree with me. 😉

  278. eulas, express, and lawyers oh my

  279. James says:

    Looks like this is a blog MS would rather forget.

    Seems to me a tiny minority has sided with Microsoft. If this where just a sample of the bad feeling that’s been generated then that’s an awful lot of developers to piss off. Maybe Codegear will have a good year after all.

    Free version due to kindness.

    Unlikely. It’s a taster, suitably nobled to ensure you end up buying the big version after you spend too much getting to learn the interface or your pet project gets too big to port.

    EULA contravened.

    Possibly. Hard to say since the clause has not be posted despite numerous requests.

    Bad PR move.

    Definitely, Maybe 😉

  280. CTO of Microsoft shop says:

    Oh, you want to learn .NET?

    I would recommend Express, but they don’t allow you to integrate your unit tests …

    Try SharpDevelop or MonoDevelop.  Or Eclipse.

    I code my C# projects with vim + nant (both on windows and linux)

    As the CTO of a web development company that uses ASP.NET, I think this is absurd.

    I will recommend against Visual Studio for everyone wanting to learn .NET.

    You guys are ridiculous.  Microsoft should be happy to provide better tools to get *MORE PEOPLE USING .NET*

  281. Pyrrhus says:

    The Apple II shipped with a free assembler and basic. It did well.

    The early Macs charged for any development environment. It didn’t do as well.

    MacOS X ships with XCode free. It’s doing quite well.

    Minix didn’t allow for Linus Torvalds to develop a unix kernel, so he made his own. Minix isn’t doing well.

    Early DOS shipped with free QBASIC. It did well.

    Vista is shipping, and now the free development environment is restricted. Dell’s now selling Linux and XP.

    I won’t debate the legality or EULA. But are you sure the word is Ethos, and not Hubris?

  282. Adriaan Renting says:

    I have not read the entire blog, but have read the entire mail conversation between Jamie and Jason. To me the whole thing could have been resolved easily if Microsoft would only have told Jamie which API he was using that he wasn’t allowed to use.

    And secondly would have allowed him to publish on his website this response from Microsoft.

    I only see a guy asking again and again "tell me what I’m doing wrong", and Microsoft replying "We’re not telling, you naughty boy, now stop it!".

  283. Mortal Wombat says:

    A couple of things….

    People have asked why MS have left extensibility options in VS Express.  Well, it’s their habit to write software once and activate  different features in a cascade from the license key.  MSes Person Web Server became IIS if you loaded it on a server.  NT workstation became NT server if you tweaked the registry.  it’s no surprise this habit continues in some form.  The previous times this happened may be why it is forbidden to work around the technical limitations…  Using the license is a poor method of control, but it’s cheaper than redevelopment and diferent distros.

    Because the functionality is left in, it seems to me to be difficult to claim eula violation, afterall, if the exact same capacity exist in X, X1 and X2, but is turned off in X, it is automatic that  to developing something for X2 and X3 will allow X to be extended if you take special steps to limit it.

    Why does MS not want VS Express extensible?  Frankly, it is probably because it kows that once extensible, the community would make their commercial products look poor.  MS already has issues with Gnu/Linux, having it’s own freebies batter then their paid-for stuff would hurt.

    Should Microsoft simply buy and integrate the software and so make the issue go away?  Well, MS has a reputation of redevoping other peoples ideas and aggressively driving the competition in to the ground.  I seem to recall it paid damages in the past for ‘stealing’ some compression software and using it in the OS without license.  I cannot remember if that was won on appeal,  but DoubleSpace or Stacker rings a bell.   And we all recall Netscape dont we 🙂

    One last point.  Sun and Apple are hardware developers.  They sell MACHINES.  MS is a software house.  Sun and Apple give away full featured versions of their development environment because their business is really hardware (which incidently is why their OSes rock).  MS produce a several generic ‘windws’ OSes for a gazillion vendors.  THEY NEED THEIR SOFTWARE INCOME.  So they protect it.

    MS is really in trouble from the GNU/Linux stuff.  They dont need their own stuff going the sam way.  They need your dollars, so donate today.


    ps  Ruby on the Rails Rocks!!!

  284. Sunny Chan says:

    This is what you get with a proprietary operating system and language. Having said that this is very short sighted of Microsoft to limit the amount of innovation in their platform. Isn’t innovation that has always been promoted by Microsoft? Or shall we say innovation in Microsoft terms?

    Anyway, I program in the "alternative" programming language which is a little bit freer and I am glad I didn’t sell my soul to Microsoft world.

  285. Mark says:

    Hey big MS dude – anyone who "I just want to create my kids soccer league Web site" can do that with notepad/jedit/vi and filezilla. If you want it a bit more fancy then download php, need a database mySQL. Of course you could get all these and a web server for free with Linux or OS X. So no need to worry MS, the poor simple have a go programmers can get by without you wasting your money on providing tools at your expense. lol

    For myself I have the misery of using ASP.NET/SQL Server in my job, in my own time I use PHP/mySQL to generate proper XHTML/CSS.

    As someone already said – EULA never been tested in court has it?

  286. Geoff says:

    WarpKat hit the nail on the head.

    I don’t know if anyone is reading this far down the blog anymore, but I can’t believe the volume of whining people are making over being restricted in their use of a FREE product.  Cute analogies of "slow cars should be allowed to be made to go fast with 3rd party add-ons" fall flat on their faces.

    The bottom line is that MS doesn’t want 3rd parties to move in and build advanced features that compete with their for-sale offerings on a platform they give away for free, thus cutting them completely out of the revenue cycle.  It’s capitalism at its finest.  Do some work… get paid for that work.  Do all you whiners work for free, or do you expect to get paid for your work?

    Jamie, if your heart is in it for the community, then give away your product too, or are you holding Microsoft to a higher standard that you hold yourself?  Does the fact that you are small and Microsoft is big really make any difference?

    Oh, and for those complaining about not being able to do unit testing in VS Express, just use NUnit and NCover as standalone products.  It’s not nearly as convenient, but if you want the convenience, it’s Jamie’s and Microsoft’s right to ask you to pony up some of that hard-earned cash you’ve got from your work.  It’s called captialism!

  287. fiksdal says:

    I understand that ms desire profit above all else, its just the nature of the company. But suing your own customers cant possibly be a good idea, especially not one who spends a lot of time, effort and personal skills to improve your own product line!?

    Personally, Im primarily developing cross platform applications (Professionally), designed for a mixed source enviroment. Thus I get some linux sealot connections, and Ill have to tell you, everything microsoft has done the last year has begun to convince me that they are right about you being an "evil" company.

  288. jamesnaismith says:

    The big question is: If Microsoft doesn’t want the product extended why is it technically possible to extend it? Why have the functionality there where you’re just taking it in good faith that no one will "violate" the non-extension clause of an EULA?

    Write the version in such a way that *extensions wont work at all* if you don’t want the extensions to work!  It’s so simple.

    The other question however is how is the developer on the hook for violating a clause in an end user license agreement? I’m sure it’s possible to create an extension without installing the software in which case the developer *never agreed* to the EULA and isn’t bound by it. The USERS would be for downloading and installing the extensions.

  289. KMan says:

    Hey Daniel,

    How come you are so quick to rebut a comment that Testdriven is free (responding at midnight to a statement put on the posts less than 2 hours earlier), but you can’t seem to find time to respond to the dozen’s of people asking you to clarify what clause in the EULA was "directly violated"?

    You should either back up what you say with some evidence or grow some ethics and withdraw your smears.

  290. roncri says:

    Actually this came at a great time for me.  I had been thinking about switching to .NET/IIS instead of the PHP/Apache combo we’re using now.

    After reading this self serving blog I’ve decided that my company is staying away from .NET.

    At one time, Microsoft considered third party developers to be one of the most important things working in it’s favor.  Now we’re just a wallet.

  291. Mikk says:

    "Jamie, if your heart is in it for the community, then give away your product too, or are you holding Microsoft to a higher standard that you hold yourself?  Does the fact that you are small and Microsoft is big really make any difference?"

    Geoff, your rant is so completely beside the point that it was painful to read. Please inform yourself prior to forming your opinion and making such comments. Jamie’s app has always been available for free; it still is to this day. In fact, when Jason Weber originally contacted him, there was not even such a thing as a paid license.

    Additionally, I don’t think anyone is disputing that Microsoft can do what they want with their product — as long as they make it clear (the existing EULA sure does not!). What’s unbelievable to many of us is how Jamie was bullied and belittled… it’s all already been said many times. Leon’s post for example sums up my opinion pretty well:

  292. just another MCP says:

    As an MCP-credentialed senior dev who has made his living on MS for 10 years, let me say this.

    I am done with MS. Consistently you have demonstrated your lack of any concern whatsoever for anything except profits. Your developers are screwed by a Framework that changes versions so fast, you don’t have time to do anything but change the version number before release, let alone fix the glaring bugs in every single stock control, especially WinForms. I’m sick of hacking around your crappy controls, and then you tell me to shell out for a 3rd party DataGrid to make it work like it should. Why shell out at all. Why for VS? Why for SQL? Why for Windows? None of it works without paying for more software to fix the bugs. My company is a gold partner. I’ve tried every single version of your OS products. Apart from 03 Server and at a base level XP Pro 32 bit, the rest are crap. Like ME level crap. 64 bit is useless for anything but blue screens. Vista? Crashes brand new OEM dells when you shut the lid due to power managment. Same on my home machine. Same on my old work laptop. You stripped EVERY feature and it still doesn’t work.

    And now you go and sue a dev for a contribution to your applications? What a joke! As usual, no specificity, just bogus FUD. Same as your backhanded bankroll of SCO. And your threats of lawsuits against Linux.

    OSS has gained more than one proponent from this issue. It happens to be the straw that breaks my back. I’m done. Ubuntu and OSS makes you look silly. All that money, and you still can’t get it even halfway right.

  293. Bob F says:

    "If the choice was between not ever having released Visual Studio Express (or not releasing it in the future) or having Visual Studio Express with an explicit limitation to block extensibility, which would you chose?"

    Is that really how you feel about it as a company?  Sun and IBM have released Java, NetBeans and Eclipse, all as GPL-type software (as opposed to MS’s free-as-in-beer VS Express), and there are no limitations to "professional" or "express" versions, or who can extend them how.  They are excellent tools, and not so different in most important ways from VS and .NET.

    With those kinds of developer tools available without hassle, why would anyone deal with a stripped-down non-free version of and risk getting sued for extending it?

  294. David says:

    Consumer contracts, the contract your supermarket offers you when you buy food, or the contract you enter when you buy a television, are often protected by law. There are legal requirements on those contracts.

    Apart from that, breaking a contract is not illegal. Breaking a contract is not against the law.

    In fact, breaking a contract is done so often that the courts are full of people working out the commercial consequences. That’s what the civil courts are for.

  295. SoonTo BeFormerMVP says:

    Just want to (as others) let you know that.:

    My company is moving to Java ASAP. We have had it with you and your disgusting business methods. You do not seem to realise that even your "closest" partners, spend 80% of our day cursing your name due to your crap OS’s and applications.

    Every day for 1 ½ years I had to fight my dev team on going Java (due to pressure from above), now I finally got enough, and told them either M$ goes, or ½ the dev team does. Ang guess what?, they dident even have to think about it, you are history in 6-12 months. Unbuntu (which unlike your OS works) & Java here we come…. this is just the straw that broke the camels back.

    Go forward and multiply M$ (read: Go fark your self M$)

    OSS IS the future !

  296. Another defector! says:

    My transition to Linux and FOSS development tools is nearly complete!

    This episode certainly vindicates my decision!

  297. kkkken says:

    I didn’t have a chance to read through this entire thread but if I were Jamie I think the last offer of MVP status and the immediate revoking thereof would have been enough to piss me off and put the support for Express back in.

    It sure looks like Microsoft was punishing him even after he complied. The impression I get is that Jason is a vindictive jerk-wad.

    The funny thing is that this isn’t Jamie voliating anything. This is Microsoft allowing this app to work through technology it provided itself (the reverse engineering via intellisense this absolutley underscores this — cover your eyes if you see object definitions you should not use!). Microsoft is just mad because somebody didn’t "get the vision" and so they went legal on his ass. Nice.

  298. Nik says:

    I am so amused by the irony of this situation that I just had to share it with you all. :o)

    Firstly, I am in the camp which asks that Microsoft please cite clearly the clause or clauses that Jamie has contravened of whatever legal agreement(s) bind him.

    Secondly, I thought the SCO patent scam was the low-point of the extort-money-from-people-using-legal-bluster business models – and have to say I was surprised and disappointed to see Microsoft volunteer to help fund that. Now it seems Microsoft are quite happy to go considerably lower than SCO.

    Thirdly, I think the previous poster who pointed out that Jamie should have a good case for a libel or defamation case is probably completely right.

    And finally, the ironic part: I have been stymied for over a year by a limitation in VC Express which stopped me from making a one-line modification that I needed to make to an open-source (but MS-based) plugin.

    Now, thanks to reading this blog, I’ve found the answer: SharpDevelop!

    Thank you guys – you are the best!



  299. James says:

    Dan, good you opened your blog. Now you can hear what people

    think about Microsoft.

    And I think this guy Jamie got what he deserves.

  300. Steve says:

    Microsoft have forgotten their roots as do most companies. Also can Microsoft hold its head up and say they’ve never entered in to the grey world of contravening contracts/licenses?

  301. Mads Randstoft says:

    Well, as have been the case so many times before, Microsoft uses its legal powers to attack its userbase.

    The "legality" of their claim remains to be seen. As with all their claims, they never tell what "law" you have broken, just that you break "some law"…

    If anyone from MS actually reads this, I dare them to actually go to court with any of their claims… None of them are valid and they know it!

  302. Rich says:

    So uncool. Still, the more Microsoft make themselves less relevant the better as far as I’m concerned.

  303. Svetti Arss says:

    As a Bald Sweaty Lunatic once said (Search on you tube)

    "Developers Developers Developers Develop"

    "Developers Developers Developers Develop"

    "Developers Developers Developers Develop"

    "Developers Developers Developers Develop"

    "Developers Developers Developers Develop"

    "Developers Developers Developers Develop"

    "Developers Developers Developers Develop"

    "Developers Developers Developers Develop"

    "Developers Developers Developers Develop"

    "Developers Developers Developers Develop"

  304. Dan says:

    Was trying to figure out whether to go with VSE or XCode. I guess I have my answer now.

  305. Lee-bob says:

    Everybody is talking about licenses being broken and the fact that "we have one company that chose to exceed the license grant and develop additional features into the Express products that are not allowed" yet I have not seen anybody actually tell us what part of the license has been breached.

    Surely the simplest way to resolve this is to go to court and ask a judge to rule on whether the license has been breached. Until this occurs TestDriven.Net is legally free to continue supporting the Express product. Just because MS dont WANT it to be extended (even though it can be extended) this does not mean the license itself has been breached, especially as MS appear reticent to provide detail on where it has been breached. Either change the license or change the code to stop it from being possible.

    It just strikes me as MS being very sloppy in their approach toward this issue using a sledgehammer to crack a nut….

  306. Mike Miller says:

    Good posting I believe, I’m siding with MS on this one.  Firstly to offer the Express range for commerical use is over and above the call of duty.   As a fully fledged .net developer, i can say thanks for express which i use at home.  Why i would want unit tests for the type of developments i use express for is a bit beyond me, at work (fully licensed professional edition) where correctness is key i’d use it.  But home projects are a bit like home brewed beer, you never know the outcome because there is little or no point in knowing it.  You learn through the brewing process, before buying the more expensive brewing kit.  I think the problem is that when people get something for free they assume they can do what they like with it, the problem lies with enforcing EULA’s by relying on it being read and followed.  They never are, just like speed signs.

  307. Another MS Dev says:

    The more you tighten your grip, Microsoft, the more developers will slip through your fingers.

  308. Gavin Morgan says:

    For pete’s sake what is wrong with you people at Microsoft.  

    You obviously care more about money than your corporate image.  Don’t use bulls*it phrases like ‘the Express ethos’.  

    In other words, you are more worried about the revenue impact of people not buying full versions that are able to ‘legally’ use, if it is available for the Express Version.

    We can all see through your blog spins and legal speak.  So quit patronising us with more of this diatribe and for once, be a man and tell it like it is.  In fact, I’ll even say it for you:

    "Allowing functionality in an Express version will impact upon our sales and revenue for the full product cos people won’t bother to buy it when they can have the free version with unit testing abilities thrown in"

    There – wasn’t hard was it.  

  309. WM says:

    Is Microsoft is using Express edition to develop their soft ?? Cause it seems that no test are made (vista, bug in sql server 2005, etc…)

  310. Martijn says:

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

    The fact that Microsoft asked Jamie is abundantly clear. The point that Microsoft seems to have been consistently ignoring is that Jamie wants to know *why* he should do that. Other people clearly like it that it works in Express. What good does it do to have a General Manager plead with Jamie if even he can’t explain how the license was violated?

    From microsoft’s point of view it’s: "Look at all the trouble we’ve gone through talking to this guy!", but from Jamie’s point of view it’s: "Why don’t all those Microsoft people answer this simple question?" Why waste all that effort beggin and pleading (and insulting; I’ve read the actual email exchange) if you’re not willing to answer the one question that matters to him?

    To me, it seems like Microsoft likes to pretend Jamie has violated a license, when actually he hasn’t. If he had, MS could have simply answered his question, right?

  311. Dan Smith says:

    It’s very noticeable that you still have not specified what part of the EULA Jamie Cansdale is violating. I think there was a loophole in the EULA and I think you’re trying to obfuscate that.

    If there’s a loophole, that’s too bad for Microsoft, but that’s what Microsoft’s legal department is there for: to write the license properly, not to bully small developers. If they goofed they goofed. To suggest that Cansdale has a responsibility to support Microsoft’s "business decision to not allow 3rd party extensibility in Express" is to hold him to a higher standard of conduct than Microsoft displays.

    Microsoft didn’t bar what Cansdale is doing technically and I don’t believe they barred it in the license. Microsoft should just shut up. The bad will this is creating has already cost Microsoft more money than they would have made from people upgrading to Visual C++ in order to use Cansdale’s tool.

  312. Matthew M says:

    I have to agree here, the underlying issue, is that not once, in any email, blog post, or monkey scribble on walls is there clearly defined quoting of where in the EULA there was a "direct violation."  Yet, this those words have been thrown around.  

    I have mixed feelings about the matter overall, however, if I was arrested and charged with the 1st degree homicide of my neighbor and the state had "direct evidence", I would want to see it.  In fact my wife, my kids, my friends, my family, and even my employer ironically would want to see it.  In fact, and most important, I would be entitled to see it.  Yet MS remains silent…Wow.

    Put up or shut up with your "direct violation".

  313. Martijn says:

    Scott Roberts wrote:

    "Suppose it’s NOT a violation of the EULA and it’s EASY to create an add-in for Express, but MS has clearly (and repeatedly) asked that it not be done. Shouldn’t that be good enough? When someone asks you not to violate their product, shouldn’t you respect that?"

    I must say it’s almost surreal to hear this request on behalf of Microsoft? How often has Microsoft respected friendly requests to play nice? Over its entire existence, Microsoft has explicitly and purposefully pushed the boundaries of legality with no consideration of ethics, and now small developers suddenly have to play nice with poor old Microsoft? Let the bigger player give the right example first.

  314. Randy Abrams says:

    "We even got the General Manager of Visual Studio to personally talk to him"

    On my god, not the GM!

    What does that have to do with anything. "GM" is only impressive to people with low self-esteem. The GM is just another hack with a job, the same as anyone else, tester, developer, Taco Bell counter person.

    Why throw such irrelevant drivel into the mix?

  315. Alex says:

    "A small miracle"? come on, you’re fooling nobody. It’s a corporate policy designed to counter the advance of free alternatives.  It’s no coincidence that there’s also a free, distributable version of SQL Server, for example.  The fact that you choose to dress is as "oohh we want to help developers" will not hide the fact that the only ones you wish to help are yourselves.  Your company’s internal ppt slides and memos which clearly show your attitude towards developers have been posted all over the place. Don’t insult our intelligence.

    Second, your bullying of Jamie is intolerable. You were asked many times which specific clause was being violated. The reply was systematically nil. Mr. Weber made a claim on an issue he had no knowledge of (EULA compliance), then failed to back it up with evidence. To add insult to injury, he drafted a childish and pathetic "announcement" in which he suggested Jamie to publicly state ‘I was in breach of the Visual Studio license agreements and copyrights". Hah!.

    And above all, your company’s behaviour is as hypocritical as it can be. You have exploited in the past whatever loopholes existed in EULAs, licenese contracts, patents and what not, and have called this "Innovation". Your company has been shown of deliberately preventing competing products from working. Now you get to taste your own medicine due to a more-than-dubious EULA and you cry wolf. Come on!.

    If you want to get some respect, start behaving properly.

  316. BG says:

    Microsoft’s desire to keep the product addin-free is irrelevant. The EULA is what matters.

    "[…] we have over 300 VSIP partners with over 1,000 legal Visual Studio extensions that cannot extend Express. It doesn’t make business sense when our biggest and best partners are legally unable to extend Express, yet Jamie’s company can."

    It’s far more likely that these companies chose to not develop addins for Express, although it would probably be hard to say whether that was because of the obvious lack of Express addons as a profit generator, or because they were afraid of exactly what Jamie is dealing with now. Microsoft saying "please don’t do this," whether it’s in the EULA or not, is very intimidating.

    There are few people left courageous enough to fight any egal battle, no matter what their position, on Microsoft’s turf. Kudos to Jamie for standing up to the Microsoft legal juggernaut.

  317. Manny Gonzales says:

    i still don’t understand why this was called a ‘hack’ in the first place if there was no ‘hack’

  318. Bob Moore says:

    So you can’t specify the part of the licence that he’s violated, and you can’t modify the software to stop the violation?

    First the Office 2007 UI licensing fiasco, then this.

    Really, honestly, could you guys BE any more stupid? I thought the days of competing via lawyers had ended, but it seems that those who don’t learn the lessons of history are doomed to repeat them.

  319. wenpeng says:

    If i write a extension without visual studio express, do i violate the EUA?

    what if i write a extension  for express edtion with my professional edtion?

  320. U. R. Shameful says:

    If Google’s mantra is "Don’t be Evil" then the MS mantra must be "Be as Evil as we can get away with".

    Stop hassling people.  Give the people what they want.  Obviously people want his product or there would be no market for it.

    Stop making up the rules as you go.

    Stop crushing innovation because it might make you rethink your course.  It doesn’t threaten your cashflow, it shows you new paths to achieve it.

    Stop forcing things onto your users.  Like DRM, and huge bloated OS’s that crash all the time and slog along like an overloaded dump truck spewing crud in it’s path.

    Stop acting like a troll jealously guarding its horde.  You get what you give.

    Stop being Evil, money grubbing, pricks.

    (I wonder how long it will take them to delete this post?)

  321. CCs says:

    Microsoft wants to compete with free tools releasing a dumbed-down version of Visual Studio for free – I can understand that.

    Also it wants to keep the revenue from the commercial product by not enabling extension – I can understand this one too.

    But why lie about it? "Ethos" or other nonsense.

    Say it square: "We don’t want it because we lose money. All this free stuff is just for getting you to pay, so don’t mess with our business plan."

    People will rumble about "greedy company", but they’ll understand the truth.

  322. Bruno says:

    It seems to me that either Microsoft clearly establishes the "illegal" nature of the tool developed by Mr. Cansdale (i.e., quotes SPECIFIC contract/licensing clauses that have been broken, like Mr. Cansdale himself and many others here have repeatedly requested) or the software giant will be the one under legal liability, namely, for defamation (in this case, libel).

    If I were in Mr. Cansdale’s shoes, I would definitely be seeking legal compensation for damages by now, and quoting this blog and some of the posts here as evidence. If even only 1% of the community believes him to be guilty of something illegal, that is, in itself, a large number of his peers that will be lead by Microsoft to believe that he is an unethical wrongdoer.

    I’m not a lawyer (nor even a code-writer of any sort, for that matter), but it seems to me that no individual or organization can accuse anyone of undertaking illegal activities without clearlybeing able to demonstrate that fact.  Thus, it is quite clear to me that Microsoft has voluntarily put itself into the situation where it has to prove that illegal activity was done otherwise the corporation will be the one in legal hotwater over this issue.

  323. What If !!! says:

    Here’s a connundrum!!!

    MS SQL 2000 MSDE has SQL Assistant to run Scheduled Jobs.

    MS SQL MSDE is a "freebie" to anyone with the relevant Developer edition of Office / SQL Server etc…

    MS SQL 2005 Express is also Free and no longer has a SQL Assistant.

    What if I upgraded my existing application which relies on SQL Assistant and created a replacement/equivalent SQL Assistant. Would I fall foul of a EULA? Would I be liable to be sued rotten should I decide to cash in on my hard graft?

    This is the scary thing….    …This is a real situation and now you have to wonder / read the EULA again and again and again.

    Is SQL2005 extensible?????

    If you followed the same lines as VS Express the answer has to be no.

    This is why this whole situation stinks to high heaven. I’m 6 years down the line. Do I have to start again with another low cost DBMS.

    Nice one MS. Make me and everyone like me feel secure , happy, valued.

    Jamie. Best of luck.

  324. Richard says:

    Why should MS be persecuted for wanting to protect their IP and their product line?

    They are one of the biggest (if not THE biggest) investers in R&D in the world. Surely they are entiled act in a commerically viable manor and defend their assets.

    Which buisness would not?

  325. Confused reader says:

    Can someone from Microsoft, or anyone for that matter please point out what part of the EULA he is reportedly violating? It has been said that he is violating a specific piece of the EULA, but no-one has yet said what piece.

    Time to show your cards Microsoft, I think most of us are betting that you’re bluffing.

  326. Pedro says:

    Microsoft does not get to decide what’s legal and what’s not.

    Courts do.

    Accusing Jamie of doing something illegal (you quickly and sheepishly deleted the words, but you can’t delete caches and screenshots) not only shows you have no idea of what you talk about, but it furthermore exposes you to a libel suit, which If I were Jamie I would definitely do.

  327. Graham says:

    Richard said:

    "Surely they [Microsoft] are entiled act in a commerically viable manor and defend their assets."

    Yes, as long as they act within the law. Here I think they are acting for the very short-term gain that is not commercially viable because it will scare a lot of developers away from all of their products, and alert many people about the add-on capabilities of all express products.

    If MS chase people for improving their products, or interacting with their products in a way they deem non compliant, people will drop .net and start developing for other more open platforms.

    Apple for instance, that comes with good compilers, xcode, IDEs etc for free right out of the box, or even FireFox/Opera web based apps, or multi-platform QT stuff based on a whole lot of free Linux hosted tools. No one ever got told off for improving open source code.

    MS are just giving people another reason to avoid windows. I disliked it since DR-DOS and avoided it since ActiveX.

  328. jellyBeans says:

    What’s the big scandal here?

    Microsoft releases free dev tools that beginners can use to learn .NET.  

    OH NO!!

    THAT in itself has been enough to get the Open Source/Java community of Merovingian philosopher kings spitting blood.

    A FREE way into .NET? Can’t have that. Can’t accelerate the current trend of people ripping out their ’90’s tinker-toy cluster f*ck java code for a coherent solid solution that you would have to actually PAY for. Evil Capitalist! Anyway, everyone knows you simply cannot learn unit testing unless it’s a menu option in the IDE. It’s a plot! A plot to deny the learning of unit testing!

    AND it’s all been slashdotted… so there!

    In the last 18 months, the MS avalanche of .NET tools and technology, patterns & practices, CodePlex community development… and things haven’t stopped yet… has stuck a long-overdue fork in java’s ass.

  329. There’s been a lot of talk going on in the Microsoft community ( here , here , here , and here ) lately

  330. ender says:

    The license allow to develop commercial aplications with Visual Studio Express, but don’t allow develop commercial applications that extends Visual Studio Express…. it’s really funny. or a serious license text problem 🙂

  331. Cool-O-Mat says:

    Until seven years ago I used to work at mixed *nix/MS or pure MS companies. Since 2000 I have only been using royalty-free development tools.

    Reading this story I feel as if I escaped hell.

    Life is so much easier using FOSS, it’s not just about the money. If you do not have to pay for your software tools, you don’t have to convince your management about the budget, you don’t have to talk to your procurement department, no headaches about client-access licenses etc., and, nowadays the almost most important point of all, you do not have to worry about not having read the EULA diligently enough or having interpreted it wrongly.

    Actually the most important advantage of using free and open source software is agility.

  332. Nik says:

    For some years now, I have run only linux on my own computers, and develop both commercial and open-source software using Open-Source tools, so you know which camp I am in.

    I understand the points made by many Open-Source devotees here, but would point out that telling Jamie to switch development platforms is asking him to ditch years of experience, and to spend some more months or years gaining the necessary new experience. It can be done, and Jamie certainly has the abilities to do it, but it is not a 5-minute task.

    This is why it is in Microsoft’s interests to get developers to commit to .NET. It is not trivial to switch away.

    In a previous job, I had to be able to develop C++ code on both Windows (NT back then) and unix (mainly Solaris). The amount of Microsoft proprietary extensions that had to be included in *every* C++ file was nauseating. All the PASCAL and DLL keywords in every class file, and even on most methods! One had to have, and still needs, large header files specifically to #define this cruft in and out of the code, depending on whether you were compiling standard C++ or Microsoft C++.

    For that reason alone, I made sure I never developed a Microsoft-only application. All code I wrote was written in standard C++, and then compiled with the VC++ compiler with all the #defines turned on to add the MS extensions.

    In addition, VisualC++ and its derivatives were the worst, by far, development environments available. On a PC, IBM’s VisualAge was infinitely superior, and Borland’s offerings were always more reliable. On unix, one had the choice of solid-as-a-rock open-source emacs, GDB etc, or the commercial environments from various vendors which usually had the slicker GUIs.

    I was ever so grateful when I could finally stop installing VisualC++ and all of its associated rubbish. I currently develop in Java, C and C++, and some of that C and C++ is even deployed on Windows machines (eg mods to ClamWIN), but I always develop in a standard language before porting it to a Microsoft dialect.

    Jamie, if you think you might have to move away from the Microsoft development platform at some time in the future, you could start making the initial steps now. Begin by getting used to developing using open standards and then porting that standard code across to the Microsoft proprietary platform. That way you acquire the tools, skills and experience to move, whilst continuing to build a product which can be deployed on Windows.



  333. Jacob Johnson says:

    Sorry, I just don’t see how your logic works.  You don’t have to do anything to support this tool.  It’s free to you, you don’t pay the developer that makes the tool.  They make your products look better.  Now, you go and attack them, raising the ire of your customers.  Duh duh duh.  Good move morons.

  334. JJ says:

    Yet another reason why I will put all the pressure I have to bear at all times in the future to make sure M$ does not get any more AF or DOD contracts.  I see them as an extreme waste of taxpayer money, and every time we buy more software from them, it makes it harder for me to do my job.

    For my home projects, I’m completely switching off .NET.

    I’ve had it.

  335. eclipseman says:

    spread the love, join the eclipse wagon.

    MS will eat your soul

  336. Ian Stallings says:

    What an amazingly bad decision.

    Yes you are well within your legal rights. But now you’ve pissed off the very people that make your platform popular and casted some serious doubts on what can be done with your tools. This plug-in helped you and you shat on it. Then you have the nerve to post a retort saying it was a good decision?

    Your legal team just made you look like a bunch of assholes. Hold your head in shame.

  337. purpleblob says:

    This has got to be one of the most amusing posts I’ve read in a while – talk about two contrasting views. the author of the post and many of those commenting on it.

    I have to say, I’ve never read the EULA for Express because I don’t use it, but…

    1) If it states that you cannot extend VS Expresss then Jamie is wrong to do so and MS is quite within their rights to ask him to cease doing so.

    2) If you want a free dev. environment with unit testing etc. built in for C# then you can always look into alternatives, I just looked at the #Develop (SharpDevelop) web site which states it has integrated NUnit support and NCover amongst other features. Not bad !

    3) If Microsoft didn’t want to allow Express to be extended then it should have “properly” disabled it from being extended. Very trusting or naive of MS to think nobody would try to extend Express if they had the opportunity.

    4) By crying foul for somebody trying to extend Express – MS have yet again totally missed the point – if you supply a tool to the community then expect the community to try to use it how they want. If you leave holes in the product then expect those hols to be used in ways you may disagree with.

    Basically I’d say to Jamie, remove the support for TestDriven from the Express edition – don’t waste your time on this and to those who want such functionality look to support a “real community” development tool instead. It’s within MS’s rights to turn off extensible functionality but for goodness sake MS, just do it and stop whinging.

    For me, I’m fortunate enough to not use the Express edition and long may that continue as I doubt I would waste my time using such a tool if other more extensible and feature rich alternatives existed.

  338. Jim says:

    I’m with Microsoft actually.  What’s the point in having a Pro version if the Express is the same?  

    Sure it’s rough that some newbies can’t get into unit testing via the IDE (but they can still use nunit dont forget!).

    At the same time, technically removing the ability to extend would have prevented this mess.  If Jamie did it without realising, then he sure wouldn’t want to undo a lot of work (and add-ins are a frickin nightmare!)

  339. Tom says:

    Adding extensions to this software may or may not be a technical breach of the EULA. using an express version after such a breach would be wrong.

    That doesnt give microsoft a single claim over the distribution of a plugin developed with a non-express version, as such development isnt bound by the express eula, only the plugins users are.

    Is microsoft admitting its negligence in leaving plugin support in in the first place? Under british law isnt this  inticement to commit such an eula violation?

    Aren’t there anti-trust issues with microsoft being the only developer allowed to write plugins for the free version (XNA for example)?

    The way that microsoft failed to do anything but bully a developer for over a year without providing any supporting evidence for its claims is at best harrassment.

    Im sure by the time MS make this guy pull express support through the courts they will have lost hundreds to thousands of times as much revenue then the couple of lost pro sales they imagine this could cause.

  340. Incredible. MS should be exited by such initiatives and recognize them as chances to get developers on board who currently won’t touch anything coming from MS.

  341. Jan says:

    Hey MS weak developers, can’t you just fix the code and submit a patch to prevent the express from installing an AddIn in the first place ??? Or you don’t know how to fix it, instead rely on a bunch of lawyers to fix it.

  342. unixrulz says:

    microsoft knows that without providing a free ide like express it can’t compete with java for developershare, so there is no reason for testdriven to heed ms’s concerns about their extension to express. ms can’t do anything about it.

  343. Speedbird says:

    Guys, the bottom line here is that ALL Visual Studio versions (except express of course) is not really targeted to the developer itself, but rather to the huge corporation that is willing (and unfortunatelly there are to many of them) to pay for the "premium" tools, they are the ones coughing up the dough, not the developers, and MS knows (and charges for) that, that being said, the express edition *is* intended for the developers, with all the nonsense point that this post is trying to make, I had been MS free for 10 years, and I do not really care if you believe me or not, but in at least 8 years I did not touch a windows machine, now that I am working for this BIG company where they are "partners" I am sad that I have to contribute to this monster. Sad.. Sad..

  344. benjnunez says:

    Microsoft should be thankful that there are talented

    people who use their products and do their best

    to extend or improve it.

    This is highly encouraged in a Java community.

    I just don’t understand why Microsoft insists on not

    making the Express Edition any better for them.

  345. Miguel Correia says:

    You are all missing a point. Microsoft runs a business, a profitable one. You can compare it to Java and other opensource stuff, but Java is not profitable, while Visual Studio is. If MS enables 3rd party add-ins in their express editions, there will be a 3rd party replacement for each of the features they took out from VS to the Express edition. It would basically kill Visual Studio, as everyone would flock to the express editions + add-ins.

    The commercial failure of VS would mean the end of the express editions themselves. They are certainly not going to work for you for free, as the benefit of express editions is that it brings people to VS. If you don’t like Microsoft’s rules, don’t play with them, stick to Java or Lamp. I’ll keep on using both the express editions at home and VS at my work place, and I’m totally happy with it.

  346. Duh says:

    If you don’t want it to be extended then take that ability away.  I seems very retarded to me to put a feature into a product only to tell people don’t use it.  You Microsoft for crying out loud, you could easily remove the feature if you wanted to.  So apparently you have some reason for allow it.  Probably to allow user of the express version to make new plug-in for all the Studio then take it and sell it themselves.

    Also why don’t you just come out and tell the true.  You don’t want to allow add-ons because no one would buy the full version if they can get it for free.  Don’t try to sound all high and mighty ‘well we gave you this for free and the lack of add-ons is what makes it free.’  

    I don’t begrudge you from wanting to make money, just be honest about it.  And remove the option.  If people can make add-ons they won’t.

  347. Danny Irby says:

    I have an express edition 2008 and am trying to add multiple timing codes in multiple forms. Did I hit a programming landmine?:)

    It seems as though the code at the end of the project somehow controls the beginning of the project. Do timers turn on in sequence or the second the application is activated?

Comments are closed.

Skip to main content