TestDriven.NET and Express - Technical Information

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

A common question or misconception in the comments is saying that if didn’t want extensibility we should have provided technical limitations to prevent extensibility (see comments:  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, and 18).

Express Extension Workarounds 
To respond, Visual Studio Express extensibility is limited in a number of ways. One way it is limited is that it does not permit extensibility through Macros, Add-Ins, or Packages. It attempts to reserve these limitations by technical means. Some examples of these technical limitations are that there is no Macros IDE, there is no Add-In manager, and registered Add-In’s and Packages are not loaded at startup. The only way to even extend Express is to work around these in-built technical limitations and that is prohibited by the License.

For a high-level overview on how TestDriven.NET works around technical limitations, here’s a response from our development team:

**
The TestDriven.NET product is implemented as a Visual Studio Add-In.  In the Visual Studio Standard, Professional, and Team System SKUs, TestDriven.NET is installed as an Add-In and gets loaded into the IDE through the Add-In Manager.  In the Visual Studio Express SKUs, because we disabled extensibility (macros, Add-ins, and VS Packages), the Add-In Manager is removed and therefore Add-Ins are not detected or loaded.  Jamie has created additional components specifically for the Express SKUs to work around this technical limitation.  He takes advantage of an extensibility point that allows user controls (such as a button class) to customize entries in the Properties window.  When his property extender gets called, he executes code that finds, loads and injects the TestDriven.Net assembly into the Express SKU’s running process, thus replacing the functionality of the removed Add-In Manager.  This explains why he instructs Visual Studio Express users to open the Properties window in order to enable TestDriven.NET.  Once his code is injected into the Express SKU’s running process it can add menu items, enable features that were disabled, and in general take over that instance of Express. These special loading mechanisms that Jamie has built exclusively for the Express SKUs are unauthorized workarounds to the SKUs’ technical limitations.
**

For an analogy, this would be comparable to someone working around the technical limitations in the personal version of TestDriven.NET to unlock features in the professional or enterprise versions for free.

What complicates this even further is that this isn’t a developer doing this for his or her personal use or experimenting with our product, this is a business trying to sell a product.  We tried for close to two years to get Jamie to stop releasing the Express version of TestDriven.NET without success.

I hope this helps clarify some of the questions or misconceptions surrounding this issue.

Comments

  • Anonymous
    June 01, 2007
    The comment has been removed

  • Anonymous
    June 01, 2007
    The comment has been removed

  • Anonymous
    June 01, 2007
    Certainly you're right to point out that Jamie has been circumventing mechanisms designed to block what he did, and you're well within your rights to ask him to desist (especially to desist the part where he makes money out that circumvention).  Nonetheless, I'd call this an example of market pressure in action as much as the specifics of the case.  People wouldn't be grumbling particularly loudly if Eclipse and NetBeans cost as much as VS Team Edition or if they delivered only as much functionality as VS Express.  But the fact that mature, robust products (and less mature ones like #Develop) are available for free changes the game.  And the .NET platform is packaged to look tantalizing like it keeps up with this trend, until soemthing makes it clear that it does not.  This is exactly what IBM would like - some event that crystallizes people's view that an IDE shouldn't cost hundreds or thousands of dollars anymore.  Your VS strategy is late to recognize that.

  • Anonymous
    June 01, 2007
    It's already been posted on Jamie's blog, you can read the first page for the exact verbiage, then read this post for the full details. http://weblogs.asp.net/nunitaddin/pages/microsoft-lawyers-chapter-3.aspx

  • Anonymous
    June 01, 2007
    Dan Your still skirting the legal question. Is Microsoft happy to have the EULA tested in court and how does the license apply to the distribution of test driven.net? (not him running test driven under express or a user doing the same). You say the action is 'illegal' so which acts of Parliament (and specific subsections) is he breaking.

  • Anonymous
    June 01, 2007
    Pete - I'm not trying to skirt anything, I am (thankfully) not a lawyer so I can't comment on how I think Parliament or courts will interpret information. Sorry, -Dan

  • Anonymous
    June 01, 2007
    The comment has been removed

  • Anonymous
    June 01, 2007
    I agree 100% with you on this Dan.  I don't see what possible complaint people have on this.  You are giving a product away for free!  You have every right to dictate limitations on the usage. When I was a poor college student learning to program, I managed to save enough money to buy a copy of Borland's Turbo C compiler (for DOS).  There wasn't even free documentation in those days because the web was still to come.  What I wouldn't have given in those days to have had free access to the Express products and all of the documentation on MSDN.  It never occurred to me that someone "owed" me anything. The standard edition is a little over $200 on Amazon.  Factoring inflation, that is less than I paid for Turbo C many years ago.  Heck, I have even received two free copies of the standard edition from Microsoft for attending seminars. I would venture to guess the people complaining the loudest don't even run the Express editions.

  • Anonymous
    June 01, 2007
    The comment has been removed

  • Anonymous
    June 01, 2007
    Dan, >>I am (thankfully) not a lawyer so I can't comment on how I think Parliament. I don't know you, but am guessing that, at least some where in your past, you are or were a developer.  If so, you are qualified to comment on how you think developers should react to these actions by MS? Do you think it should make us feel safe, if we continue to use MS technology?  I don't have 50 billion dollars in cash to defend myself. Say Jamie, believes himself to be right and MS believes, as a corporate entity, itself to be right.  Which do you think can afford to continue to defend it's position longest? Peace.

  • Anonymous
    June 01, 2007
    The comment has been removed

  • Anonymous
    June 01, 2007
    I have read the license and have seen the clause about not circumventing technical limitations.  This clause may not be enforceable in the face of standard reverse engineering practice.  However, that may be a moot point unless one can prove that TestDriven.NET can only be produced by using software released under that license (or under a license with significantly equivalent terms).  If it were produced by any other tool, then the VS Express EULA would have no bearing. VS6 may not have that term.  (I haven't checked the randomly located flock of EULAs scattered all over it.)  GCC does not.  Et c.  So it would appear that the first requirement is that MS show that the EULA term was in effect for the production of TestDriven.NET and the second requirement is for its developer to show that it wasn't (or no longer is).

  • Anonymous
    June 01, 2007
    You say you have been trying to get him to stop releasing the express version for 2 years and he says that he has never been told where in the EULA it states he cannot use add-ins.  Clear up this mystery and give us the pertinent EULA restrictions please.

  • Anonymous
    June 01, 2007
    The comment has been removed

  • Anonymous
    June 01, 2007
    The comment has been removed

  • Anonymous
    June 01, 2007
    The comment has been removed

  • Anonymous
    June 01, 2007
    The comment has been removed

  • Anonymous
    June 01, 2007
    The comment has been removed

  • Anonymous
    June 01, 2007
    The connection between "is a violation of the EULA" and "is illegal" is tenuous at best, but this ought to be resolved by the courts, assuming Jamie has the resolve. More importantly, the connection between "is a violation of the EULA" and "can be stopped" is very nearly nonexistent and will continue to be so for the forseeable future. Once code is on a user's machine, they can and will alter it however they please; the amusing fiction that this may be prevented is just that - a fiction. This is a non-issue for everyone except Jamie (laughing all the way to the bank) and Microsoft (open mouth, insert foot).

  • Anonymous
    June 01, 2007
    There is a cold chill in the air today. For those of you that don't pay attention in the developer world,

  • Anonymous
    June 01, 2007
    I understand that anyone using TestDriven.NET is almost certainly violating the MS EULA and you can probably legitimately sue them. Can you explain how TestDriven.NET developers have violated the EULA, however? Perhaps while they were testing... but in that case I suspect all you can sue them for is violating their individual EULAs, right?  

  • Anonymous
    June 01, 2007
    The comment has been removed

  • Anonymous
    June 01, 2007
    The comment has been removed

  • Anonymous
    June 01, 2007
    The comment has been removed

  • Anonymous
    June 01, 2007
    If there will be unit testing in Orcas (next Visual Studio) express versions, then we know what this is all about.

  • Anonymous
    June 01, 2007
    btw: I agree with random reader here: your reasoning is flawed, as the functionality is already there. Furthermore: BECAUSE The functionality is there, there's no limitation! the road to get what you want is perhaps a bit long and a bit of a struggle, but it's not a limitation. See how stupid the clause 'thou shall not work around technical limitations' is without naming them in detail? WHile everything else in a license is always named and described? Technical limitations can be anything, including a bad way of how MS' designers work. Gee, offering a toolbox item which does a better job designing MS' forms than your own, you also work around a technical limitation, Dan. And no, no lawyer or marketing drone will tell ME that that is something completely different without naming, IN DETAIL what the technical limitations really are.

  • Anonymous
    June 01, 2007
    The comment has been removed

  • Anonymous
    June 01, 2007
    The comment has been removed

  • Anonymous
    June 02, 2007
    Thanks a lot Dan. You should protect all of your products. Thanks a lot! BTW, I'm migrating to Linux. Cheers!

  • Anonymous
    June 02, 2007
    Very well said, Frans. Of course Microsoft won’t do any legal action because the only feasible one would be – maybe – against VS Express users themselves, who are in “violation” of the EULA. I doubt Microsoft’s legal department recommend that course of action in the first place. So it must have been somebody else’s idea. It looks like somebody drank too much kool aid and thought that “the community” would “side with Microsoft” against this miscreant and started this clueless thing as a “PR campaign”. I  hope that some grown at Microsoft up step up soon and clean up the mess.

  • Anonymous
    June 02, 2007
    @Dan I am a VSIP, I am not at all scared of MS, in fact, after reading the emails Jamie posted I feel better than ever knowing that if someday I accidentially violate some part of the EULA, MS will be poilite, patient and give me evry chance in the world to get on track. Most and I mean Most companies would have just called up the lawers from day one. Hats off to MS for your patience with him. I read all the emails, and not many commenters on this talk about how Jamie was demanding his MVP back in "good faith" before he became compliant. I am sure the lawyers suggested they go after Jamie for "blackmail". I also got the sense from the emails that had Jamie simply complied 2 years ago he would have fantastic backing from MS. Jamie even wanted redist on API's just for him, now thats unfair business practice. His entire tone was demanding and unreasonable. I also have free / demo versions of software and I would not be so nice if in this situation. VS Express exists as a learning tool, VS Standard is affordable for anyone wishing to develop a commercial product. When I read between the lines Jamies motivations apper to be selling software to a market of developers using express.  So who is in fantasy land, MS or Jamie?

  • Anonymous
    June 02, 2007
    """

  1. SCOPE OF LICENSE.  ... You may not • work around any technical limitations in the software; ... """ That clause is so vauge.  Heck, you could make a case that using source control and the VS Express editions violates it!  After all, as there is no source control built into VS Express, its fair to call that a limitation, and if you use something like SVN or CVS or even VSS then arent you working around that limitation?
  • Anonymous
    June 02, 2007
    The comment has been removed

  • Anonymous
    June 02, 2007
    > If there will be unit testing in Orcas (next Visual Studio) express versions, then we know what this is all about. @Mike: As fas as I know this issue has been around for ~2 years, thus Orcas is not much relevant to the discussion. @Random Reader: Correct me if I'm wrong... The entire visual studio is built as plugins (like Eclipse), so for example you can take the Visual Studio "core" and deliver "Visual Python" or any other environment that you like. So they just "can't" completely remove extensibility from VS (but they can limit user facilities).

  • Anonymous
    June 02, 2007
    The comment has been removed

  • Anonymous
    June 02, 2007
    The comment has been removed

  • Anonymous
    June 02, 2007
    The comment has been removed

  • Anonymous
    June 02, 2007
    Sorry Dan, you lose on this one, whichever way you look at it. You left the functionality in that lets his product work. Just becasue you didn't publish an article on MSDN telling people how to do it, and Jamie figured it out, isn;t his problem. MS own products do the same or similar, and if you remember your biggest court losses, it was due to you having unpublished APIs that your software could use, but competitors couldn't. And I honestly thought you had learnt by now.

  • Anonymous
    June 02, 2007
    this looks straight forward to me. testdriven obviousely wants to play survivor so lets vote this guy off the island. give me a palm leaf and i'll write his name on it.

  • Anonymous
    June 02, 2007
    The comment has been removed

  • Anonymous
    June 02, 2007
    Dan, I think this is not a question about legality and "technical limitations" any more. It is that you are trying to make money instead of improving a viability of platform. Getting more money for MS is a local maximum, in the grand scheme of things this optimization is going to hurt MS platform and it's customers. If this is a prevailing  MS attitude, we (developers) are leaving.

  • Anonymous
    June 02, 2007
    The comment has been removed

  • Anonymous
    June 02, 2007
    Hi Congrats ! Q: How to mutate a programmer's thinking to that of a system administrator? A: Give him a Linux. I have learnt it hard way, and moved back. Good luck !

  • Anonymous
    June 02, 2007
    eilert, What you suggest it the absolute worse thing Microsoft could do if they want to prevent this sort of thing in the future. Reading through the emails, it is clear that one of Jamie's goals was to make Microsoft chop up its SKUs and release them in the fashion that Jamie wanted.

  • Anonymous
    June 02, 2007
    The comment has been removed

  • Anonymous
    June 02, 2007
    @Scott - What does the usefullness of the add-in have to do with whether Jaime's product violates Microsoft's IP rights.  The fact that you would like Microsoft to give away their more robust VS SKUs for free is also irrelevant.  As a company Microsoft has the sole right to determine how they will package and sell their products, which features to include and which not to include.  If we don't like that decision or the license restrictions we are not free to violate them just because we don't agree with them.

  • Anonymous
    June 02, 2007
    @sukru: Yes, I gather VS is built in a modular way like that, but even then there are some hard technical barriers that could be put in the way and don't seem to have been.  For example, using digital signatures to verify that anything loaded came from an MS key just for the Express editions. Past a certain point it's obviously not worth the effort, but it only takes one thing like this to make it crystal clear that third-party things are not meant to be loaded.

  • Anonymous
    June 02, 2007
    What strikes me by reading both sides of this case is that Jamie's delusion is pathological.  He had to know that we would be able to determine exactly how he extended Express.  This takes me back to Psych 101.  His certainty (held with absolute conviction) incorrigibility (not changeable by compelling counterargument or proof to the contrary) and falsity of content (implausible, bizarre or patently untrue) all point to him not being able to comprehend the true implications of his actions.

  • Anonymous
    June 02, 2007
    The comment has been removed

  • Anonymous
    June 03, 2007
    The comment has been removed

  • Anonymous
    June 03, 2007
    The comment has been removed

  • Anonymous
    June 03, 2007
    The comment has been removed

  • Anonymous
    June 03, 2007
    Dan, I was reading this thinking that you were making a pretty decent case.  However I think you may have pushed this a little too far and in doing so discredit the main point you were trying to make.

  1. According to the emails published on Jamie's blog, when the team first contacted him, TestDriven.NET was available as a free product and not one that Jamie was making money from.  The code appears to have been hosted on  SourceForge (see http://sourceforge.net/projects/nunitaddin).
  2. As far as I am aware, there is no difference between the free, professional and enterprise versions of TestDriven.NET - only that the license terms are different.  For example the Enterprise version allows you to re-distribute the plug-in within your company.  Therefore your analogy comparing what he did to someone unlocking features of the enterprise version is not quite correct. Anyway, he isn't actually unlocking any features in Express, he is adding them. You do a decent job of explaining why it is that you do not want people to ship extensions to Express - basically that it is your product and you want people to only use it to do what you enable them to do.  While I personally disagree with that approach it is not my place to criticise - this is your product and you should use it as you see best for whatever goals you are trying to achieve with it (and also with-in the limitations imposed on you by balancing the various commercial pressures inside Microsoft)  I am then free to make my decisions as to which technologies and tools I use based on your decisions. Personally, I'm just very sad at the whole situation.  I feel that both parties are loosing by the continued farce - however I do not see a way forward without one party backing down and the end result still being a loss on both sides.  Very sad.
  • Anonymous
    June 03, 2007
    People love to hate Microsoft but you're doing the right thing. Letting some spineless guy blackmail you will hurt the entire industry. If Microsoft can't stop a one man show from blatent IP burglarizing then who can? Good luck.

  • Anonymous
    June 03, 2007
    In David's blog http://executioniseverything.blogspot.com/ people pointed out inconcistencies in Jamie's story. Please post the letter that Jamie sent you last week and the missing emails. It will help everyone form their own opinions.

  • Anonymous
    June 03, 2007
    The comment has been removed

  • Anonymous
    June 03, 2007
    You must be kidding, the best thing that you all can do, is dont talk more, you dont see the passion in the comments WE DONT WANT TO HEAR YOU ANYMORE, IF YOU DONT HEAR ALL OUR PETITIONS ON .NET 3.0 and you name it that way WE CAN DO WHATEVER WE WANT, AND THE BEST PART IF THAT YOU ARE DEFENDING YOUR SELF BADLY BECAUSE YOU ONLY MAKE US HATE MICROSOFT MORE IF YOU WANT TO WIN... ANYWAY, you can win anything now, TO LATE M$ TO LATE !!! The best luck to Ballmer and all you with that stratergy, you get only loved, how many of the new genious in the comunity will want your MVP or work for you, too little in the future, to little !!

  • Anonymous
    June 03, 2007
    Whatever the rights and wrongs of Jamies behaviour this is a PR disaster for MS. Which is a real shame as there is a good technology story being lost behind the image of the M$ bully, playing straight into the hands of the OSS advocates. I'm not normally one for consipiracy theories but the news that Orcas will include functionality very similar to TestDriven.net I find very disturbing. Especially as these new features seem to be directed at MSTest unit tests only rather than embracing a number of frameworks as is the case with Jamies TestDriven.net (e.g. NUnit, MbUnit, etc). (see http://blogs.msdn.com/nnaderi/archive/2007/05/11/new-unit-testing-features-in-orcas-part-1.aspx)

  • Anonymous
    June 03, 2007
    The comment has been removed

  • Anonymous
    June 04, 2007
    The amount of furor over nothing is really amazing.  If you use somebody's software, you have the respect the license. It doesn't matter who made it or what the license is. Why is this so hard for people to grasp?

  • Anonymous
    June 04, 2007
    Peter P. said: "The amount of furor over nothing is really amazing.  If you use somebody's software, you have the respect the license. It doesn't matter who made it or what the license is. Why is this so hard for people to grasp?" Because the license only applies to end-users! (End-User License Agreement).  Microsoft has no legal right to go after Jamie, only those customers who use VSE and TD.NET.   Why is this so hard for you to grasp?

  • Anonymous
    June 04, 2007
    @Joe Brinkman I tried to pick an example of a useful add-in that wouldn't compete with an existing MS product to advance my idea that MS should promote the creation of add-ins for the Express products rather than lock them out all together. I've already said that Jamie is in the wrong for violating the EULA. Of course I'm not really qualified to speak to that because IANAL. However I am entitled to share with MS my opinions on the course of their products and where I think they should go in the future. They can, and will, ignore me as they choose. And I think that rather than limiting people new to programming, they should embrace them and give them as many tools as they can to enable them to grow as programmers.

  • Anonymous
    June 04, 2007
    > I'm sure for a few dollars (in M$ terms) MS could have bought Jamie out and embedded TestDriven.net in Orcas, instead of adding their own proprietary version that only works with their own tools. Um, no. TestDriven.NET does nothing on its own, its just a wrapper. It relies on the test frameworks created Microsoft (MSTest) and open source developers (NUnit) to actually do anything. Microsoft doesn't need to buy a wrapper for its own product, and is alergic to the open source products.

  • Anonymous
    June 04, 2007
    The comment has been removed

  • Anonymous
    June 04, 2007
    The comment has been removed

  • Anonymous
    June 05, 2007
    A little clearer what is the situation, but Microsoft's conclusion is still disappointing. I'm sorry, I still don't support their position, it's quite obvious they simply want to drive sales of their VSTS SKUs. Thing is, I'm not about to drop 10k or whatever exorbitant amount it is now on that.

  • Anonymous
    June 05, 2007
    FWLIW, I've just downloaded - using cvs from SourceForge - NUnitAddin.  It's available under the zlib/libpng license, which does make that part of TestDriven.NET open source. Which would make it moot if someone did reverse-engineer TestDriven.NET, etc, as the NUnit driver functionality is already available. The importance of this whole storm-in-a-teacup isn't so much what Jamie Cansdale is doing that might be disallowed by the EULA or whatever - that is for the lawyers to decide.  It is what people think of Microsoft now it is getting panicky about someone playing around with a well-liked Microsoft programming toolkit. IMHO, and if I was in charge of the relevant Microsoft team, I would be agitating for Microsoft to release the MS Visual [Programming Language] Express source tree under the Microsoft Community License, as damage control.  Since Microsoft isn't making any money on Express, and since there are people dedicated to seriously playing around with it, I'd be trying to work that in my favour. But I'm not in that sort of position, and I seriously doubt Microsoft would do any such thing ... so let it be, whatever happens.

  • Anonymous
    June 05, 2007
    > We tried for close to two years to get Jamie to stop releasing the Express version of TestDriven.NET without success. I think it's clear from even a casual reading of the actual correspondence, going back and forth between Jamie and the guys at Microsoft, available at Jamie's website, that this whole thing could've been avoided if they had replied to his question about which particular part of the EULA he was supposedly violating. Indeed, he stated and restated that point enough times. This is the basis of all law; if you make a claim that somebody has done something it is up to you to supply evidence, and that cuts right across the board. Please believe me, I'm not one for bashing Microsoft, but I'm wondering if it's endemic of Microsoft that it feels it's now so big and important it doesn't need to do adhere to this? I only mention it because it exactly mirrors the situation with the accusations that Linux infringes on Microsoft IP. Clearly someone at Microsoft believes there is a legal case, but where is the evidence? Certainly it's incredibly rich to say "we tried for years to resolve this" now when there doesn't appear to have been any real attempt to present that evidence. That only came with the legal notice he's been recently sent, and when you look at that - also at his site - it gives a very short time for him to comply. It's from the moment he recieves that information that you should start your watches to see how long it takes him to comply. It IS a shame that it comes to a legal standoff, when it could've been resolved a lot earlier. It MAY be that Microsoft is entirely right in all their assertions in this case, and if that's so, I think even Jamie himself would welcome it. The way this situation has been mishandled, I only hope it hasn't caused too much damage to Microsoft's good name in the mean time.

  • Anonymous
    June 05, 2007
    The comment has been removed

  • Anonymous
    June 05, 2007
    The comment has been removed

  • Anonymous
    June 05, 2007
    "The amount of furor over nothing is really amazing.  If you use somebody's software, you have the respect the license. It doesn't matter who made it or what the license is." I would agree by a license if the license explicitly tells me what is disallowed. "Technical Limitations" is much too vague -- is writing a parser for .csproj files overcoming a technical limitation? Would writing my own IDE that has features that express doesn't have that I would turn around and sell overcoming a technical limitation?

  • Anonymous
    June 05, 2007
    Is it just me or is everyone missing the point here. If you look at all source code provided on the net and open source software they all have something along the lines of 'You may freely use and distribute this as is and NOT sell it or make profit off of it. This remains the intellectual property of the author and require their permission to modify it, etc'. Now people are saying to MS we are allowed to do what they want with it and make a profit from software that MS developed? Either the intellectual property of the software (VS) is the intellectual property of MS of it isn't. MS owns VS and will do what they want with it. If they choose to do something you think is stupid then you can always use other software and if they do something stupid then the consequences of those actions are theirs. But until Jamie creates his own VS express and gives it to MS then they can tell him what he can and can’t do with their own products! By the way all the stuff about the EULA is stupid because the EULA is the user not the developer. But what Microsoft was trying to get at is this if you make a product that people buy and I create plugin to remove the software protection your saying that you are not legally allowed to do anything about it? Is anyone here going to give all the code they have ever developed to MS for them to make money off of it? Has Jamie provided his code on a silver platter to MS? No? Then why should they allow him to use his code in their free product? Because until you let someone else make money off of something you have provided for free (with them putting little effort into it) then please shut up. Finally to the people who say that MS is hurting the software development community then why are do developing MS software if it’s so bad. Why don’t you get your customers to use Linux instead and use OSS? It’s got to be cheaper for them, easier for you to develop in and surely easier for customers to use than windows. Are MS charging people to use the express version? The fact you can get something for nothing and with no hassles is good in my books. In the end it is the customers that decide and if they side against Microsoft then the company will loose money. The fact that Microsoft provides these tools for free has a higher cost to benefit ratio that other software I have seen.

  • Anonymous
    June 05, 2007
    The comment has been removed

  • Anonymous
    June 05, 2007
    The comment has been removed

  • Anonymous
    June 05, 2007
    All Jamie asked for is a statement from Microsoft for his users. That's all. Read the emails; it's all it would have taken for him to fully comply -- not legal action. Since his users are Microsoft CUSTOMERS, essentially he was simply asking that Microsoft clarify their position to Microsoft's OWN CUSTOMERS. I find it ironic that your blog entries of the past couple days are ALL JAMIE WANTED all along! In fact Jamie might as well just link to your blog entry in his explanation to his users. Is Microsoft in the legal right? Yes. Was it handled properly? No, in staggeringly bad proportions. The stuff of business school cases in how not to work with partners & customers.

  • Anonymous
    June 05, 2007
    If people like Jamie are not willing to do the right thing, then perhaps you should withdraw Express and have done with it. You tried to do a good thing; it didn't work because some won't play an ethical game, skirting around the edges and quibbling about the nitty gritty of an EULA. It's quite simple to me; you took out some abilities especially so that you could provide the product for free; Jamie does the dirty and puts the ability back - some support his behaviour - so, if you can't trust people to do the right thing you will have to withdraw Express and tell all who complaint to go chat with Jamie.

  • Anonymous
    June 05, 2007
    @Joe Brinkman: "As was the case with Napster, the US courts have held that creating a product or service whose normal use will result in a violation of another companies copyrights is in itself a unlawful.  " Copyright has nothing to do with it.

  • Anonymous
    June 05, 2007
    The comment has been removed

  • Anonymous
    June 05, 2007
    The comment has been removed

  • Anonymous
    June 05, 2007
    Wow!  What a great argument going on here!  Who is right?!  Who is wrong?! One thing's for sure, my recent attempt to migrate to VS via VS Express have been cut short  and I've returned to SharpDevelop, which offers NUnit integration. MS were steadily gaining goodwill with me and it's all been shot to pieces by this incident.  I may even revert to testing all my code against Mono and make sure it still runs on Linux as well. What grand muppetry MS is exhibiting here.  Have they not heard of goodwill?  The accountants have. David

  • Anonymous
    June 05, 2007
    The comment has been removed

  • Anonymous
    June 05, 2007
    Dan, I have a question (if you actually bother to read your comments): What is your view on Eclipse, NetBeans and XCode? Did you know they are actually free? How come it is so hard to release Visual Studio for free, but these other companies can release their IDE for free? In this light, don't you agree that your company is doing the wrong thing by discouraging freedom and plugins for your IDE? Would you rather have a healthy community and 3000 plugins (and even beginners doing TDD) than make 1 million dollars profit and lose mindshare? Be honest about this, please.

  • Anonymous
    June 05, 2007
    The comment has been removed

  • Anonymous
    June 05, 2007
    The comment has been removed

  • Anonymous
    June 06, 2007
    My take: Microsoft vs The Little Guy http://www.u-g-h.com/index.php/2007/06/06/microsoft-vs-the-little-guy/

  • Anonymous
    June 06, 2007
    The comment has been removed

  • Anonymous
    June 06, 2007
    The comment has been removed

  • Anonymous
    June 06, 2007
    The comment has been removed

  • Anonymous
    June 06, 2007
    The comment has been removed

  • Anonymous
    June 06, 2007
    The comment has been removed

  • Anonymous
    June 06, 2007
    The comment has been removed

  • Anonymous
    June 06, 2007
    Come over to Java.  Everyone uses the open source Eclipse IDE, you're not beholden to a sole entity that dictates everything about the language.  You have actual compedition for the web application servers.

  • Anonymous
    June 06, 2007
    Perhaps MS will use the same tactics on Linux and FOSS.  They're claiming 100's of patents were violated, yet they won't say which ones. Years will go by, and then MS will claim that the FOSS community has been in violation for years. These evil tactics come from the top down.  Mr Ballmer himself.  Him and Mr McCain hopefully will stay out of upper government.

  • Anonymous
    June 06, 2007
    The comment has been removed

  • Anonymous
    June 06, 2007
    I'm not pro-little guy or pro-Microsoft at this point, although it seems both have a little going for them and a little going against them, but I do have this to say about "working around the technical limitations..."... What is an addon?  Aren't "most" addons allowing you to do something that the IDE doesn't do and/or limits you?  Doesn't an addon extend functionality? Now, I haven't read any of the EULA's (I might be violating one...two...all because I didn't read them in the first place) so I really can't say I'm correct in that addon's in themselves might be violating the EULA's, but I thought I might point it out that all addon's "might" be in violation of the VS.Net Express and non-Express versions if the clause that was broken by TestDrive.NET is in effect for all types of VS.Net. <shrug> Oh well..

  • Anonymous
    June 06, 2007
    Maybe you should just hire some thugs to break his kneecaps?  It would be much less of a hassle for Jaime and yourself.

  • Anonymous
    June 06, 2007
    eulas, express, and lawyers oh my

  • Anonymous
    June 06, 2007
    So, will you sue me if I workaround the technical limitation of Visual C++ Express to support Platform SDK? http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/

  • Anonymous
    June 06, 2007
    I see this situation as an unfortunate result of having lawyers doing technical tasks.  In particular the EULA clause of "not circumventing technical limitations".  That clause is so general as to be unenforceable.  In particular given that there appears to be a desire to support third party controls.  Had the clause been more specific about what types of extensions were supported (third party controls), and what were not (adding menus, enabling any MS created features, loading of assemblies other than those containing just third party controls and editing UIs for those controls), then it would be much clearer what was supported use and what was not supported use. Also as pointed out, it is not the software author that is in violation of the ELUA, but a user that installs the software.  While I support the right of MS to release a restricted product, they need to add more technical restrictions to enforce the ELUA, rather than threatening a developer that is merely being more creative than they like.

  • Anonymous
    June 06, 2007
    The comment has been removed

  • Anonymous
    June 06, 2007
    The comment has been removed

  • Anonymous
    June 07, 2007
    The comment has been removed

  • Anonymous
    June 08, 2007
    The comment has been removed

  • Anonymous
    June 09, 2007
    Microsoft is just losing it. Microsoft has already lost a huge amount of respect amongst many in the open source community due to their ham-fisted attitude towards the GPL and open source. Cases like this prove that Microsoft can lose respect even amongst their own MVPs. Once developers lose respect for them, there will be no more "Developers! Developers! Developers! Developers!"

  • Anonymous
    June 09, 2007
    So what you are saying is that he worked around an intended limitation but not a technical limitation.  If it were truly a technical limitation then he wouldn't have been able to do it without modifying the Express product by replacing a MS dll with one of his own, etc. Since he, by your own description, was able to implement the feature using the APIs that VS Express exposed to him he didn't work around a technical limitation did he?  The product is technically capable of doing what asked it to do. That may not be what you intended but it is the reality of the situation.   DOH!   It looks to me like the only way MS will win this one is through the burden of legal expenses.

  • Anonymous
    June 10, 2007
    You should be offering to hire James. Six months ago, I would have said MS was starting to turn around. Now, it seems like all of that goodwill you invested is for naught. How sad...

  • Anonymous
    June 11, 2007
    M$ wont buy him out becuase they want his product for free. As has already been stated a suprising number of similar features are present in the new product. Whether right or wrong (I believe right) Jamie is a dangerous man to M$ as he is clearly talented and as we all know, we vant have talented people running around the software/developer world without them having a M$ collor on :)

  • Anonymous
    June 11, 2007
    The comment has been removed

  • Anonymous
    June 12, 2007
    Isn't the point of writing programs in the first place to work around a technical limitation? Your computer can't compress files? Ok, I'll work around that by writing WinZip!

  • Anonymous
    June 12, 2007
    if("business trying to sell a product"==true) { jamieWrong; } if("someone working around the technical limitations in the personal version of TestDriven.NET to unlock features in the professional or enterprise versions for free"==true) { if(isLocked(lock)==false) {    lockYourProductBetter; } } back on track please, i want to see orcas express !!! not this stupid case between a giant and an ant

  • Anonymous
    June 24, 2007
    So by now most people would have heard about the ruckus that's going on in the blogosphere regarding...

  • Anonymous
    July 04, 2007
    Hey Dan what happened to you?  You haven't post in a month?  Besides addressing all the latest dev with TestDriven can you also update us on your latest work (popfly)?