Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Microsoft Vs. TestDriven.NET

Posted by Zonk on Fri Jun 01, 2007 12:22 PM
from the stop-trying-to-help dept.
Erebus writes "Jamie Cansdale released a free addin to Visual Studio back in 2004 to help developers build unit tests. His only problem was, he enable his addin for all versions of VS - including the Express addition which isn't suppose to support addins. After over a year of trying to talk with Microsoft and understand how and why he was in violation of their license agreement, during which they would never explain specifically which clause in the license was being violated, they sent the lawyers after him and pulled his MVP status. To top it all off, Jamie is actually a Java developer by day — his addin was originally developed just as a hobby project. A full account is available on his blog, including all email correspondence he had with Microsoft and the now 3 letters received from Microsoft lawyers. The lead product manager for Visual Studio Express has responded to Jamie's posts."
+ -
story
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • why not? (Score:4, Funny)

    by Anonymous Coward on Friday June 01 2007, @12:28PM (#19353201)

    including the Express addition which isn't suppose to support addins.
    Why wouldn't the Express addition support addins? It's right there in the name of the product!
    • Re:why not? (Score:5, Insightful)

      by smitty_one_each (243267) * on Friday June 01 2007, @12:37PM (#19353345) Homepage Journal
      From the project manager posting:

      extends the Visual Studio Express Editions which is a direct violation of both the EULA and "ethos" of the Express product line.
      Read "ethos" as "business case". MS is using http://en.wikipedia.org/wiki/Market_segmentation [wikipedia.org]. The Express products are a http://en.wikipedia.org/wiki/Gateway_drug [wikipedia.org] to piss you off enough to pony up enough money for the real deal.
      Test Driven Development is not, itself, a bad thing, but if Too Many People glommed onto the underlying technology, and a culture of freedom of expression broke out, well...let us leave the unspeakable unspoken.
      The whole thing is business, pure and simple. If you leave off the 'good' and 'evil' labels, the situation is easier to process.
      Of course, maybe it's all a stealth advertising campaign for http://www.mingw.org/ [mingw.org]. Who can say?
      • Re:why not? (Score:5, Insightful)

        by Compholio (770966) on Friday June 01 2007, @01:01PM (#19353757)

        Of course, maybe it's all a stealth advertising campaign for http://www.mingw.org/ [mingw.org].
        I say he should make his add-in for Eclipse - especially since he's a Java programmer - and suggest people that like his add-in to move to that IDE instead.
  • Shoot at foot... (Score:4, Interesting)

    by Ckwop (707653) * <Simon.Johnson@gmail.com> on Friday June 01 2007, @12:31PM (#19353239) Homepage
    1. Aim at foot.
    2. Fire at foot.
    3. ...
    4. Profit?

    What is it about Microsoft and reinventing perfectly good tools. First they tried to replace Nant with MsBuild, with limited success. They're trying to reinvent Subversion and Cruisecontrol with the Microsoft Team System. They are the ultimate NIH company. I've started to form the opinion that this is unsustatinable for Microsoft. You can't keep reinventing and supporting tools like this forever, because no matter how many programmers you have there OSS movement has more. They will keep producing high-quality tools faster than you can release competitors.

    People used to complain that Sun were control freaks about Java. What did Sun do? They listened and GPLed Java. I think the guys at Sun have come to a similiar conclusion to me. Your products are part of an ecology and the ecology is always bigger than one company. What you want to do is foster a larger ecology for your products and hope that this translates to sales.

    I admire Sun for this approach, it's risky but it shows maurity in face of change ushered in at the hands of OSS. Microsoft seems to have no strategy for tackling OSS outside of the United States. Over here, software patents don't exist. They may win the battle but be swamped by the tidal wave from abroad.

    I use TestDriven every single day I'm in work and I can tell you that this makes the licensed copy of Visual Studio 2005 (paid at full price) a much more functional piece of software. To me, this is validation of the ecology; the open source product made me feel that I'm getting more value out of the purchase.

    It's this affect that Sun hopes GPLing Java will bring to their revenues. I for one think they're right.

    Simon.

      • by lawpoop (604919) on Friday June 01 2007, @02:15PM (#19354953) Homepage Journal

        You've got to be kidding, right? You actually think MS should just not develop products because there are a bunch of various different open source tools people could use instead? That makes absolutely no sense whatsoever.
        You're right, it makes no sense whatsoever, because you completely missed the point.

        He's saying that MS should not try to squash community efforts to create great software on Windows platforms. You might need to read that again for it to sink in. He's not saying stop writing software altogether. He's not saying discontinue SQL server because there's some shareware database out there.

        What he is saying is that they don't need to control every successful application on the Windows platform. If they try to, they will both a) breed bad will amongst the developer community, which will hinder Windows application development, which will cause great development to happen in other platforms, and b) waste a lot of money and time in development and support trying to fill every software niche that exists in a platform. They can't write *all* the software for Windows.

        Simply put, MS alone cannot provide as great a Windows experience as MS + developer community can. But every time some great developer makes a wonderful product for Windows, they either squash it or snatch it up and abandon it. At every opportunity they destroy the Windows development community. Not only do they want you to run only Windows, the want you running only MS software on it. And they just won't be able to provide all the software that a user will want on their system. It's the old Soviet model of central planning, where Moscow decided the details of the economy from Khazakstan to Siberia. Eventually it implodes under its own weight.
          • by lawpoop (604919) on Friday June 01 2007, @03:27PM (#19356205) Homepage Journal

            That's not what he was saying.
            It sure was. Why else would he talk about Sun releasing Java under the GPL, when they had controlled it for so long? Because he's talking about software corporations embracing community, instead of controlling community.

            He was saying exactly what I thought he was saying - e.g. why do we need TFS when we have subversion, or MSBuild when we have Nant?
            You're focusing on a specific detail, which is why you are missing his point. He did say that, but that was a small part of his whole message, and certainly not his point. You're missing the forest for a tree.

            As for MS and the developer community, it's alive and kicking. Go check out MSDN and the MSDN forums. Go check out the patterns and practices group and how they've encouraged community participation. Go check out Codeplex.com.
            I have no doubt that there are people out there who are creating software for MS Windows. People still develop Amiga software and Atari 2600 cartridges. But MS developers are largely vertical developers. Their software scratches an itch and doesn't interact with anything else. It's disposable software -- you can only use it with this generation of application or platform. It won't work with tomorrow's upgrades. Far and away, the software used by the average user is provided by MS. No 'homegrown' Windows software ever finds it's way to a users desktop, without first passing through the gates of MS.

            On Windows, I would bet that the three most widely used applications are IE, Outlook, and Word/Office. All provided by MS. Like I said earlier, MS wants to be the sole provider of *all* software on your Windows computer. If something they don't control begins to appear somewhat popular, they either squash it or buy it out. They want to be the sole provider, controlling everything.

            Comparatively, almost everything in Linux was written by a different person or organization. Some of those command-line utilities are 20 years old, and still going strong. Tools such as 'grep' and 'find' works just as well today as they did 20 years ago. What industry protocol has ever come from a small-time MS developer? Almost all of our modern computing standards -- ftp, http, email, came from small-time unix developers. Neither MS nor its developer community have made much contribution to computing in general.
  • But is it illegal? (Score:5, Insightful)

    by kebes (861706) on Friday June 01 2007, @12:33PM (#19353273) Journal
    The post from the Visual Studio blog is quite interesting. In the first paragraph, Dan Fernandez says that the add-in "is a direct violation of both the EULA and 'ethos' of the Express product line." Throughout his post, he continually mentions that the add-in is "illegal."

    Yet he spends the entire post talking only about the "ethos" part of it (describing their numerous good faith attempts to convince Jamie Cansdale to stop distributing his product), but he never explains what the illegal part is. Clearly the Visual Studio team feels that Jamie is violating the "ethos" of their project (their "business plan," in fact). On the other hand, Jamie probably feels that the Visual Studio team is violating the "ethos" of his project when they try to limit it. So whose "ethos" is more important?

    At no point, however, does the blog post mention anything about how the Visual Studio EULA could prohibit the distribution of TestDriven.NET. After all, I can redistribute copies of TestDriven.NET without even owning a copy of Visual Studio--so obviously I'm not bound by the Visual Studio EULA.

    I can think of no legal reason to prohibit what Jamie is doing... and apparently, neither can Dan Fernandez. Has anyone found a nugget of legal truth in the other documents?
    • by GreatDrok (684119) on Friday June 01 2007, @12:48PM (#19353517) Journal
      Surely, if the EULA doesn't allow plugins then the software itself shouldn't support them? The fact that it does makes a nonsense of all this. The onus is on MS to disable the functionality that allowed this to happen, not to send the lawyers in.
    • by kebes (861706) on Friday June 01 2007, @01:01PM (#19353743) Journal

      Has anyone found a nugget of legal truth in the other documents?
      According to the Microsoft legal threat [asp.net], the relevant portion of the Visual Studio Express EULA is:

      ...you may use the software only as expressly permitted in this agreement. In doing so you must comply with any technical limitations in the software that only allow you to use it in certain ways... You may not work around technical limitations in the software.
      Microsoft would claim, therefore, that to develop TestDriven.NET, the developer had to download Visual Studio Express, and agree to the EULA in order to install it. However the situation is probably more complex. The issue (from what I can tell) is that a single version of TestDriven.NET works with all versions of Visual Studio (Express or otherwise). So it can easily be shown that TestDriven.NET was developed using the full version of Visual Studio--which not only allows you to create add-ins but in fact encourages you to do so. So the EULA (of the full version of Visual Studio) was not broken.

      So the question is: "Is TestDriven.NET legally required to alter their product so as to enforce the terms of someone else's EULA?" Isn't it the end-user, who combines VS Express and TestDriven.NET that is in violation of the EULA?

      Or perhaps the real question is: "Are ridiculous terms in an EULA, such as 'thou shalt not make the product do things we didn't intend for it to do' actually legally enforceable?"
      • More details (Score:5, Interesting)

        by Mateo_LeFou (859634) on Friday June 01 2007, @01:04PM (#19353803) Homepage
        Digging into the email exchange I found Jamie saying:

        1) You said that by using Intellisense I may be in breach of the
        dissasembly clause in the VS SDK license.
        2) You said that by working out how to use an API by looking at the
        public type and method names I may be in breach of the reverse
        engineering clause in the VS SDK license.
        3) You said that by adding a button to the Express SKU interface I may
        be in breach of Microsoft's copyright.

        #3 is particularly funny
  • The MS project manager goes on about working with Jamie to clear up the Express situation, but doesn't explain their reasoning beyond calling what he did "illegal."

    First, that's not the way to treat your community. Either explain to him and to us exactly what he did that was wrong, beyond the vague wording at the beginning of not being in the "spirit" of Express editions. Second, when can Microsoft unilaterally declare breach of contract "illegal?"

    I use DevC++ for all my hobby needs and teaching the kiddo. After this, I would never switch to MS C++ Express or VB Express, even if it was a vastly superior product. I just need some syntax highlighting and compiler integration. I don't want to dance around legal threats over what Microsoft's "spirit" is this week.

  • by ch-chuck (9622) on Friday June 01 2007, @12:35PM (#19353307) Homepage
    I've often wondered how much one can get away with in licenses. Of course they cannot override any consitutional or local laws, but say a developer is rather religious. Can s/he then stipulate that the software cannot be run on Sundays? Or that the user must be wearing underwear or shoes and shirt while using $PRODUCT ?

  • by Zukix (641813) on Friday June 01 2007, @12:45PM (#19353461)
    Hmm, I know where the MS lawyers found them too. They stole the following: "Jamie Cansdale released a free addin to Visual Studio back in 2004 to help developers build unit tests. His only problem was, he enabled his addin for all versions of VS - including the Express addition which isn't supposed to support addins. After over a year of trying to talk with Microsoft and understand how and why he was in violation of their license agreement, during which they would never explain specifically which clause in the license was being violated, they sent the lawyers after him and pulled his MVP status. To top it all off, Jamie is actually a Java developer by day, his addin was originally developed just as a hobby project. A full account is available on his blog, including all email correspondence he had with Microsoft and the now 3 letters received from Microsoft lawyers. The lead product manager for Visual Studio Express has responded to Jamie's posts."
  • 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.

    Translation: "Jamie is interfering with our attempt to devalue various Free Software tools."

    It was a small miracle getting Express to be available both for free and for commercial use for customers

    Translation: "Microsoft legal doesn't understand the value of giving away software"

    let alone the engineering work to get it up and running

    Translation: "Our code base is such an encumbered mess that disabling features was an arduous task."

    We made a business decision to not allow 3rd party extensibility in Express. The reason we're able to offer Express for free and even let developers build commercial applications with Express is because we limit 3rd party extensibility of Express, specifically by removing support macros, add-ins, and VSIP packages.

    Translation: "The only way people will buy our crap is if the one feature they need can't be had for free, and their whole product is already implemented using our IDE, making it harder to switch to some other product, perhaps a Free one."

    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.

    Translation: "We decided upon a truly stupid licensing model, and now our customers who paid good money to be able to create extensions are pissed off that we did a shitty job of preventing unlicensed ones from working on a free product."

    It doesn't make business sense when our biggest and best partners are legally unable to extend Express, yet Jamie's company can.

    (No translation needed - it just doesn't make sense! If the extension fits, you must acquit!)

    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.

    Translation: "Yet almost every time, he has been logical and reasonable, instead of knuckling under."

    [snip]

    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.

    Translation: "But we thought we had him nailed down when we threatened to sow his ground with salt, burn his houses, rape his cattle, and ride off on his women."

    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.

    Translation: "He finally came to his senses and just released the damned thing, so we decided to point more guns at him."

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

    Translation: "Most people who download this software aren't pros who would pay for our software anyway. In spite of this, I'm so angry I forgot my apostrophe."

    In fact over 80% of Express registrants don't describe themselves as a "developer".

    "They're just people who needed a VS IDE to compile some jackass' project."

    From a total number perspective, beginners are the larg

  • In the past, when Microsoft didn't want something to work, like say, Lotus 123, they would release an upgrade that would run all their stuff, but not Lotus 123.

    What's stopping them from doing the same here? Can't they just release a new upgraded version of Visual Studio Express that won't run his stuff?
    • Re:Seems fair to me (Score:5, Informative)

      by Volante3192 (953645) on Friday June 01 2007, @12:39PM (#19353371)
      The crux of the argument is he went over the licence terms of Express and didn't find where he was infringing. Jamie specifically emailed Microsoft asking for the clause in question so he could justify removing Express support.

      Microsoft simply responded with "it violates the licence, but we're not going to tell you where."

      More than likely, they screwed up and adhering strictly to the letter of the EULA (and not the spirit of the program) it is not specifically forbidden, thus implicitly allowed.
      • Re:Seems fair to me (Score:5, Informative)

        by Anonymous Coward on Friday June 01 2007, @01:20PM (#19354051)
        Microsoft simply responded with "it violates the licence, but we're not going to tell you where."

        Actually they responded with 5 pages of documents stating exactly the clause [asp.net].

        ("You may not work around any technical limitations in the software.")

        Of course, it's such an incredibly vague sentence one can understand why he didn't think it applied. And I bet they don't want to ever take that one to court, which is whey they had their manager "talk to him on the phone to plead with him".

        Microsoft getting screwed by their own EULA ... sweet, sweet poetic justice.
          • WTF? (Score:5, Funny)

            by Colin Smith (2679) on Friday June 01 2007, @03:58PM (#19356665)

            You may not work around any technical limitations in the software.
            Really? I'm going to have to go over my Windows EULA again. Does it contain that phrase? In which case it is clearly against the EULA to install ANY additional software beyond the basic operating system, clearly doing so would be working round technical limitations.
             
    • by kebes (861706) on Friday June 01 2007, @12:44PM (#19353453) Journal

      If they said 'no addins' for the free edition, and someone does one, surely they are in the right to get annoyed?
      Absolutely. They can get as annoyed as they like. They can yell from the top of a mountain "I am annoyed! Please stop doing that!" In fact that's what they did at first--they tried to convince the developer to stop distributing the project. That's their right.

      However they were not happy with the way the "good faith" negotiations proceeded, and now they are trying to use the law to get their way. The question is, do they have the right to legally enforce their ethos? If there were a contract between Microsoft and TestDriven.NET, then that may limit what TestDriven.NET is allowed to do. However it does not appear that this is the case. In fact, it appears that there is no legal reason why someone can't program add-ins for VS Express. Microsoft may not like it, but it's not illegal. (Please correct me if I'm wrong on that point.)

      If you want to use it, you use it the way they say, that seems obvious to me.
      I disagree. If I obtain a product (buy it for $X or download a free product under certain licensing terms) then I can use it however I want (limited only by the law). If something in the EULA makes it illegal to use add-ins, then I suppose Microsoft can claim that end-users of TestDriven.NET are violating the VS Express EULA... but that still doesn't make TestDriven.NET's actions illegal.

      I have an open source project, and I would get mighty pissed if someone broke my terms. Ok mine are the gpl, but it's the same thing.
      You're mixing two different issues, however. The GPL is a license that (along with copyright) provide a legal framework that delineates what you can and cannot legally do. That is a legal issue. If you release your GPL project, and then find that someone is using your code to run a porn website (but is complying with the GPL), then you may claim that their usage is against the "ethos" of your project--but that still doesn't give you the legal right to prevent their use. You gave them a license to use the software, and that's what they are doing. You can be annoyed, but you cannot sue.
      • by Volante3192 (953645) on Friday June 01 2007, @12:52PM (#19353599)
        Not just in the code, but in the licence.

        Continuing with the shirt analogy, it's like having two programs, let's call one 'Express' and one 'Enterprise'

        Express feature table says 'No support for users wearing yellow shirts.'
        Enterprise feature table says 'Supports all colors and color combinations on shirts.'

        But your legal department charges you $1 mil per EULA, so you decide to just put the EULA for the Enterprise version with the Express version, after a simple s/Enterprise/Express/g;

        Now you have a user calling in wanting support and the techs ask his shirt color and version. He says yellow and Express. The techs say this is in violation of the EULA, but in reality, there is no clause refusing him service.

        The feature table is not a contract. The EULA is, and he agreed to the EULA that you were cheap on that didn't explicity exclude support for yellow-shirted users. You are now up doodoo creek without a paddle...
    • by mpoulton (689851) on Friday June 01 2007, @01:03PM (#19353791)

      It's a classic example of the differences between the Open Source and the closed sourced licensing model. I think it's perfectly clear, they provide a limited version of the product for free, the license forbids extending the functionality of Express. TestDriven extends the functionality, therefore it violates the license: 'You may not work around any technical limitations in the software'


      You just clearly stated the very reason why his software is NOT in violation. The intent that the writer of the EULA was probably trying to achieve was to prevent extension. However, the developers failed to actually disable the extension functionality. There is no "technical limitation" to work around here. The "limitations" that prevent the use of extensions are not technical ones, they are simply documentational - Microsoft claims that extensions don't work on Express, so people believe them and don't try to extend it. This guy discovered that it atually works just fine. So, where's the "workaround" of "technical limitations"? Microsoft intentionally wrote the extension functionality into the software, and failed to disable it. He's just using their feature as designed.