Catch up on stories from the past week (and beyond) at the Slashdot story archive


Forgot your password?
Microsoft Your Rights Online

Microsoft Slaps Its Most Valuable Professional 474

Violent Offender writes with a touching story in The Register about Microsoft's awarding of its Most Valuable Professional credential to a British hobbyist, Jamie Cansdale, then turning around and threatening him with a lawsuit for the very software that won him the award. The article links to the amazing correspondence from Microsoft on Cansdale's site.
This discussion has been archived. No new comments can be posted.

Microsoft Slaps Its Most Valuable Professional

Comments Filter:
    • But Stay Tuned! (Score:5, Informative)

      by twitter ( 104583 ) on Wednesday June 06, 2007 @01:30AM (#19407315) Homepage Journal

      Tomorrow is special. It's the deadline M$ gave him to remove Express support.

      Thanks for pointing to the old article. The Dan Fernande's letter [] is priceless entertainment parodied in the following Power Point Slide:

      Please Don't Help Express Users
      by Dan Fernandez

      • We've done so much for you, even calling you on the phone - twice in two years.
      • Most people prefer our no cost version, they are not Professionals and some admit it.
      • Non Professional users are easily confused, please don't make their life easier with confusing choice.
      • Back when I programmed in BASIC, I would not have wanted anything else.
      • I know Professionals who can't code.
      • Helping people violates our "ethos"
      • We are going to pick up our toys and go home now and it's all YOUR FAULT.

      Why do they try? There's no way for them to win this.

      Let's see what happens next! Will they stop issuing Express, remotely disable it and then sue Jamie? Do they leave him alone and let it keep working with ... the appropriate apology? Ha!

  • by mcmonkey ( 96054 ) on Tuesday June 05, 2007 @11:52PM (#19406667) Homepage
    They did just go after this guy []

    What are the odds?

  • by Weaselmancer ( 533834 ) on Tuesday June 05, 2007 @11:53PM (#19406679)

    Developers, developers... lawsuit.

    • by Weaselmancer ( 533834 ) on Wednesday June 06, 2007 @12:02AM (#19406741)

      But you know it's true. Read the article. The guy got an MVP and a cease and desist for the same freaking program.

      Is making a joke that runs parallel to the truth flamebait? If so, what does that say about that truth?

    • by Tomy ( 34647 ) on Wednesday June 06, 2007 @12:08AM (#19406783)
      Why is this moderated flame bait? I find it quite insightful. You don't award engineering ingenuity, and then turn around and let the marketing and lawyering dweebs come in and take it away because it doesn't fit their marketing/licensing plans. Either you value developers are you don't. And if you do, you have to understand herding cats []
      • Re: (Score:3, Interesting)

        by gilesjuk ( 604902 )
        Indeed, this is why people dislike Microsoft's general attitude. It's like they have multiple personalities or something.

        On the one hand they want partners, developers..developers..developers and customers. But at the same time they feel the need to remind us how powerful they are and how we musn't cross them.

        This attitude seems to have surfaced since Microsoft became obsessed with eliminating pirate copies of Windows. I think the pressure to maintain growth is getting to them.
        • by Dogtanian ( 588974 ) on Wednesday June 06, 2007 @05:58AM (#19408543) Homepage

          Indeed, this is why people dislike Microsoft's general attitude. It's like they have multiple personalities or something.
          Microsoft only has one true personality. All the others are just like attempts by the sleazy guy to convince the girl that he really loves her so that she'll sleep with him- and *then* he can dump her.

          Not that I'm suggesting that Steve Ballmer is literally trying to get developers to sleep with him, obviously. At least, not that I'm aware of...
  • by Anthony Boyd ( 242971 ) on Wednesday June 06, 2007 @12:05AM (#19406757) Homepage

    ...apparently Jamie has until 4 PM tomorrow (the 6th) to respond to the lawyers or remove the offending application.

    If you read through ALL the correspondence (a boring, lengthy exercise), you'll find out a few interesting facts:

    • Weber, the guy at Microsoft stirring up trouble, was a jerk on 3 counts
      • He assumed that Jamie was hacking the low-end free version of Microsoft's products, when in fact Jamie used APIs published by Microsoft
      • Weber was rude
      • Weber wouldn't state what part of which license Jamie had violated. This is the boring part of the correspondence, because Jamie asks over and over again, and keeps getting back generalities such as "the relevant parts apply." That is crazy making, and I would not at all be as polite as Jamie has been.
    • Now that lawyers are involved, it's pretty clear how Jamie violated their terms.
    • Jamie is looking for a way to "stand up to the bullies" so to speak, even though it's now clear how he violated Microsoft's contract. That's not to say he's BAD -- he's quite great, actually, with a great product, too -- but now that MS has said "here is what you violated, please correct it" he should correct it. With no tricks, no reinstating the feature months later (which he has done once already).

    The end result is that Jamie wants to fight it, but if he does, he's gonna lose in court. However, he is very very right in one aspect -- Microsoft deserves a black eye over this, and I don't blame Jamie for wanting to punch them in the face. I don't think Microsoft/Weber was particularly evil, but they were slightly rude and rather stupid. They would not answer Jamie's requests, over and over again. If they had just answered him plainly and clearly, this would have been solved a year ago.

    • even though it's now clear how he violated Microsoft's contract.

      I'm sorry - that's not clear to me at all.

      I'm not particularly up there with UK contract law however. Perhaps you can explain to me exactly how he violated Microsoft's contract by using the published APIs?
      • I'm confused as hell how the software creator violated Microsoft's contract too. To me, it seems like the guy is evasive and saying he hacked the Express edition, when he just used supported capabilities from examples on MSes documentation.

        Am I missing something, or did this guy not violate any contract at all? To me, the guy who is writing letters back and forth is awfully vague...
        • by BlueTrin ( 683373 ) on Wednesday June 06, 2007 @07:10AM (#19408891) Homepage Journal
          If you read the article and all the links, you would see that:
          • The original letter did not speak about what he did wrong
          • The second letter from the lawyer invokes a part of the agreement which 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 taht only allows you to use it in certains ways ... You may not work around any technical limitations in the software ..."
          • It basically means that if the software has limitations you may not be allowed to hack it to use the tool beyond these limitations.
          • In this case one could argue that there is no exactly defined limitations since the tool contains the addin functionality and he did not hack the software in question. That Express is delivered without this functionality and that the lack of this functionality is not exactly a limitation ...

          Personally if I was him I would just withdraw my project all totally, there is nothing to gain from being sued by Microsoft aside from some personal ego ...
      • by FreelanceWizard ( 889712 ) on Wednesday June 06, 2007 @12:46AM (#19407023) Homepage
        The fact that the APIs are published is immaterial, really. I know of at least one company's software that has a similar clause in its EULA to the Visual Studio one, and they don't do even the slightest protection of their fully documented APIs. Nevertheless, using them would violate the EULA if I wasn't licensed to do so. That's the contract I entered with that company. If I want to use those APIs, I need to pay them more money for the license to do so. This isn't anything terribly new, and even "good guys" do it now and then to protect a revenue stream (cf. MySQL's multiple licenses).

        For those not clear on the situation, the short of it is this. TestDriven.NET is an add-in for Visual Studio. Visual Studio Express has a "technical limitation" that ostensibly prevents the loading of add-ins (removal of the Add-In Manager, I believe). The EULA states that:

        " 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 any technical limitations in the software."

        Constructing an add-in that can be loaded by Express is presumably a violation of the EULA for Express, because you're working around the technical limitation (weak though it may be) in the software that blocks the loading of add-ins. Technically speaking, anyone who uses it with Express is also violating the EULA. The best argument, IMO (and IANAL), is going to be that disabling the Add-In Manager isn't really a technical limitation against the loading of add-ins, since they can be loaded programmatically. It's a technical limitation against end-users manually loading add-ins. ;)
        • Re: (Score:3, Insightful)

          by Space cowboy ( 13680 ) *
          Hmm. Perhaps.

          I think you could make a good case that if you're only using *public* API's to do something, then the software is by-definition *not* technically limited in order to prevent you from doing [whatever]. It could be easily argued as being *supported* in fact, just not *supplied* by MS.

          What MS *wants* from its licence isn't necessarily how it ought to be interpreted...

          • by I'm Don Giovanni ( 598558 ) on Wednesday June 06, 2007 @01:35AM (#19407345)
            Except that "public" APIs aren't being used in this case.

   testdriven-net-and-express-technical-information.a spx []

            Friday, June 01, 2007 3:20 PM by danielfe
            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.

            Filed under: Visual Studio Express
            Comment Notification

            • Re: (Score:3, Interesting)

              by DrXym ( 126579 )
              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.


        • by ( 102718 ) on Wednesday June 06, 2007 @02:06AM (#19407503) Homepage
          It is important to note, that in the EU, you have a right to make your products compatible, even if it takes reverse engineering. This right you can not in any way give up in any contract (according to EU law). So if he makes the product in the EU, then he is bound by EU law and can publish the product and even sell it, all he want.

          Apart from this, the legal status of EULAs is doubtsome in most of Europe. Some say the EULA is a contract. I ask, where is the signature ? Can I negotiate the contract with my local reseller ? The EULA is probably not valid in many countries. As local lawyers says hyere, as long as it is in english, and not our native language, then it for sure is not legal for individuals. Only companies are supposed to be bound by foreign language contracts (which an EULA might not be considered as).
          • Reverse engineering (Score:5, Informative)

            by Savage-Rabbit ( 308260 ) on Wednesday June 06, 2007 @05:15AM (#19408375)

            It is important to note, that in the EU, you have a right to make your products compatible, even if it takes reverse engineering. This right you can not in any way give up in any contract (according to EU law). So if he makes the product in the EU, then he is bound by EU law and can publish the product and even sell it, all he want.
            This is a fairly complicated issue. According to a legal lecture on the subject which I attended recently it seems that in much of Europe reverse engineering is permitted under extraordinary circumstances which surprised me since I always thought (or assumed to be honest) that reverse engineering was completely forbidden by law. These laws vary by country and the laws permitting this aren't unrestricted in the degree of reverse engineering they allow although a lot of people seem to assume they are. If, for example, you want to create a mail client capable of communicating with a Microsoft Exchange server and Microsoft is (hypothetically) flat-out refusing to furnish you with technological documentation at all (I have never written an Exchange enabled mail client so I don't know how difficult they make the process) there are countries whose laws will give you a case for reverse engineering the protocols involved etc. other countries are more conservative in this. However, even if you think you have a legal case, if Microsoft lawyers up locally and sues you in your home country, you still have to show that they were being totally unreasonable towards you in your attempts to obtain documentation in order for your claim of forced reverse engineering to stand up in court. I don't claim to be a legal weasel, and there is probably a lot more to be said about this issue than I have done here, but I think we can conclude that reverse engineering the products of a major software giant is risky business that can become very expensive even if you have the law on your side.
        • Re: (Score:3, Insightful)

          by myxiplx ( 906307 )
          I'm going to add the same comments here I made on Jamie's site:

          MS say you can't "work around technical limitations" of the product. So:

          1) I can't use an external spell checker to make sure I'm spelling things right? (Assuming MS don't have a spell checker in the program).
          2) I can't link to a web service to display the latest exchange rates in my program? (VS doesn't support exchange rates as standard, it's a technical limitation)
          3) I can't design the flow of the program on pen & paper? (I don't b
      • by Anthony Boyd ( 242971 ) on Wednesday June 06, 2007 @12:53AM (#19407081) Homepage

        Perhaps you can explain to me exactly how he violated Microsoft's contract by using the published APIs?

        Yes and no. I can explain what I read, and why I believe that it will hold up in court. But I don't think you're asking for that. I think you feel that using public APIs should not be prevented or outlawed, and so you object to the entire concept. If I'm wrong about that, you can skip this paragraph and go to the ntext one. But if I'm right, all I can say is that's not an argument I can have with you, as I find it to be a boring one. MS has a contract, they've cited the passage he violates, and they'll sing it out loud in court. Whether we like that or not, it means MS will win in my book. So I don't really care to have a discussion about how ethical MS is, or whether they should be able to restrict a public API. The fact is, they do it, and seem to have a leg to stand on here. But by all means, have that discussion with other Slashdot readers. I'm sure it's one that many would like to have.

        So with that disclaimer in place, here is what I read []. Near the bottom of the first page of that scan, you'll see that they cite the part of the contract that has been violated. In particular, the contract states that you cannot circumvent the limitations they've put on the low-end product. One of the limitations is no plugins. That's explained elsewhere, but here in the letter from the lawyers we at least see now that they have a clause prohibiting end-runs around the crippled features of the low-end product. This is what Jamie asked for time and time again. No one would cite any clause that he violated. Finally, at last, someone did. Whatever I think about the merits of Microsoft's case, I will continue to think that they're jerks for taking a year to quote the relevant part of the contract.

        Elsewhere, in another letter, they explain that they have the legal prohibition in the contract to cover cases exactly like this -- cases where they tried to block it technically, but someone found a loophole. So they use the contract as a way to say, "even if we screw up and left a way to do it technically, you still can't do it contractually." We may or may not think they should be allowed to get away with that, but again, that's where I get bored and drop out of the conversation.

        • It's uncertain how the courts would take the contract part. I don't think Britain recognizes EULAs - they're not signed contracts and it requires a neutral third party as witness to constitute a binding Gentlemen's Agreement.

          It's also my understanding that in Europe, APIs cannot be protected by copyright. There have been cases in Europe of one company suing another over API infringement, but the only ones I can think of are ones where the plaintiff lost.

          Third, under British common law, the "reasonable man" defense is valid and does get used.

          Having said that, inviting a lawsuit is stupid in the extreme. Particularly when your opponent has vastly more money than you and vastly more political clout than you. (Consider how many in the legal profession use Microsoft products. Now consider the impact of the proverbial "accident". Alternatively, consider the potential for performance bonuses to lawyers who choose the "right" side.) Even if it gets to the House of Lords - a possibility if there's serious money involved - you're dealing from a pack that is entirely comprised of wildcards. Law Lords have far greater independence than the US Supreme Court but also far less legal experience and have a range in IQs that map nicely onto a signed byte. It may even go on to the European Court of Human Rights, which is a whole other random number generator. Just because the main EU courts hate Microsoft's guts doesn't mean the ECHR will. They might do the reverse, precisely because of all the other rulings. You just can't tell.

          So, you've a series of three, maybe four, totally random systems making legal decisions based on a type of contract whose existence is uncertain and whose non-existence may in fact create exactly the same offense by a different route, and where the lawyers and judges (and any potential jury) are almost guaranteed to be sufficiently ignorant of nomenclature that the issues will be utterly incomprehensible to any of them.

          Legal aid is great for cutting court costs, but it doesn't supply the defendant with magic pixie dust or psychic reprogramming skills.

          I'd argue that APIs should be enshrined in International Law as exempt from all IP regulations. An API is not a product - protect the product all you like, but the API is merely how two distinct products communicate and is not intrinsic to either one of them. Otherwise identical products can have any number of interfaces. Happens all the time.

          However, and this is the important bit, my argument isn't worth an electron's nosebleed. What those random courts decide is the only thing that matters and those random courts are most likely to be persuaded by the better lawyers - which Microsoft will probably have/buy/steal/pwn. What's more, what those courts decide will determine (to a great extent) what all future courts in the UK will decide. Screwing this up doesn't affect one person, it affects the full sixty million. Backing off is cheap for one person, but losing will cost far too much for far too many. Pick your battles.

      • by Sam Ritchie ( 842532 ) on Wednesday June 06, 2007 @01:46AM (#19407409) Homepage

        As the other replies state, the clause (in the Express EULA) is: 'may not work around technical limitations of the software'. Microsoft are assuming:

        1. Jamie at some point clicked through the Express EULA and is forevermore bound by it (ie uninstalling wouldn't terminate the contract).
        2. The 'no plugins' directive will be construed by the court as a technical limitation. Given they've published APIs, this is probably open to interpretation. Someone in the dupe discussion mentioned that the one-sided nature of EULAs means the UK courts must interpret it in the way most favourable to the party that had no input - no idea how accurate this statement is.
        3. Distributing the software to others constitutes 'working around the technical limitations'. IANAL, but on the face of it I can't see how this applies to Jamie.

        Alternatively, perhaps Microsoft think his original alleged violation of the license (during development) somehow disqualified him from distributing a VS.NET plugin - this would probably require proving the plugin is a derived work as Microsoft would have no authority over its distribution otherwise. I can't see them doing this as I would think it would have serious repercussions for their other customers.

        Personally, I think this clause is overly broad and Microsoft's action on it is quite worrying. If they win here, basically all they need to do is claim that something you've written is 'working around a technical limitation' and they can control your product distribution. Let's not forget that the MSTest functionality in the pricey VS 2005 Team Edition is effectively in competition with Jamie's TestDriven.NET.

    • This is why big corporations suck.

      They took the bold step of giving away Visual Studio for free and removing a few features. Now, they've got their panties in a knot because someone has found a way to make add-ins work in the express version, and, they shouldn't. Microsoft made a mistake if they assumed the license agreement would deter people from doing this sort of thing. Besides, they've already given a huge part of the program away, why NOT give the add-in functionality away as well? You'd think add-in
      • by hobo sapiens ( 893427 ) on Wednesday June 06, 2007 @12:34AM (#19406925) Journal
        Yes, Microsoft obviously doesn't get "community".

        This is the same company who released the Zune, which doesn't play playsfornotsure. Media player 11 which doesn't support Zune. IE7 which fixed few real IE bugs but instead added chrome like tabs and phishing filters. Vista which is un-compelling enough to ensure most people will be on XP until developers stop writing software for it. Need I go on? Microsoft isn't evil like many think. They just suck. Totally clueless.

  • by Anonymous Coward
    It appears that they supported him up until they copied his work. After that, he was still free to distribute it as long as they got paid.

    This is just MHO. Anyone who hasn't read the emails definitely should both to form their own opinion and to learn how MS operates. (Paraphrased): "What should I tell my customers?" "Just lie to them."
  • by abes ( 82351 ) on Wednesday June 06, 2007 @12:24AM (#19406865) Homepage
    As was pointed out, this is a dupe, though the original posting was a bit more balanced on its accounts. It included a link ( /visual-studio-express-and-testdriven-net.aspx) to the other side of the account. I really have no clue who is in the right here -- the M$ side claims that they asked him very nicely several times to not release his product for Visual Studios Express. I haven't read the policies regarding developing for Express, but I can understand that M$ wishes to keep a product differentiation. It seems to be a big problem internally at M$, as the sales people don't like giving the product away free, while the developers would like a free version to exist. So as a compromise, they release the Express version which has limitations. One of those limitations is that plug-ins can't run for it.

    So even if he isn't breaking any policies, maybe he should play nice?

    Personally I have a strong feeling that compilers in general should be free. I don't mean to get all Mac-Fanboi here (I come from a Linux background), but that's one thing Apple does very nicely. XCode is a very nice development suite that is entirely free (beer, of course).

    The reasons for my belief? Well, when I was growing up I didn't have money to buy expensive (or any, for that matter) compilers. I had no choice but to steal a copy of BC++ 3.1 (and TP 6.0). It's true that the DJGPP compiler did exist, but using it and getting a decent editor at that age was difficult (and I had no interweb connection then). I'd probably still not know how to program if I hadn't stolen the compilers.

    Which is to say, I think it's important for the ecosystem to have free compilers. It's good that M$ finally agrees with this. It's stupid that they want to put stupid restrictions on it. But given that, I guess it's their product, and they get to decide. And nowadays it's not like there aren't other systems/compilers out there. If M$ wants to ruin their ecosystem, then let them.
  • internets (Score:5, Insightful)

    by wasabii ( 693236 ) on Wednesday June 06, 2007 @12:26AM (#19406871)
    Welp, somebody go grab a copy of his code and mirror it forever on the internets. That'll put an end to that.
  • To one of the MSFT managers who's threatening this developer:



    Regarding your issues with the developer of the unit-testing framework which your product sorely lacks, I would suggest that you run this up the chain to the monkey-boy himself, *immediately*, and see to it that your lawyers send him an apology by the end of business on Monday.

    Charging for development tools is a bloody stupid idea in the first place. That's a lesson that Apple learned from you, ironically. When did M
  • by codepunk ( 167897 ) on Wednesday June 06, 2007 @12:46AM (#19407021)
    No one tells me what I can and cannot code on my Linux machine and or software. I have always said
    programming on a windows box is like programming with one hand tied behind your back. Nothing but artificial barriers to getting things done. I sure don't miss the days when I had to program on windows.
  • the APIs (Score:3, Informative)

    by Phil246 ( 803464 ) on Wednesday June 06, 2007 @12:50AM (#19407055)
    If these ( publically documented ) APIs exist in the express products, then isnt tacit permission being given for other developers to use them in products that implement the API? Its like having a door on a building, then saying "you cant go through this" in a eula. If you dont want people to use it, dont implement it in the first place.
  • simple solution (Score:3, Interesting)

    by adrianmonk ( 890071 ) on Wednesday June 06, 2007 @01:00AM (#19407125)

    Simple solution: abandon the product. Drop support not just for the Expression Edition, but for all editions of Visual Studio. Develop something equivalently cool and useful for Eclipse, where there are no worries of this happening.

    Alternately, remove all the features that Microsoft has requested to be removed. Then add as many features as you can legally add. Then change the license so that your plugin can be used with Express Edition but so that it is a violation of your product's license to use the code with the non-free versions of VS.

  • One of Microsoft's greatest strengths, competitively, has been strong support for third party developers. They would do well to remember that that is a strategic advantage, and should not be squandered lightly.

    It's pretty silly to have a free, "watered down" IDE/compiler for their product, and a paid-for Pro version in the first place. They only benefit by making world class development free for everyone. The money that they make on IDE licenses must be pretty marginal to the amount of Windows licenses they sell through strong third-party dev support.

    It's even worse to have a pissing match with someone that made one of their products better, and was recognized by Microsoft for doing so.

    I hope student developers everywhere take note.
  • by jorghis ( 1000092 ) on Wednesday June 06, 2007 @01:19AM (#19407243)
    I just read through all those emails, I have a real hard time feeling sorry for this guy. MS went way out of their way to try to work things out with him. Multiple conference calls, a jillion pages of emails, etc. In the end its pretty simple, he was enabling access to a feature that isnt available in the free version. Hes trying to confuse the issue by claiming that the API is public, which it is for the pay version. Its pretty obvious that he is violating the license. You can harp about how all software should be free and the pay features should be available in the free version I guess. If you want that you should not use MS's products. You should respect the license you agree to, whether it be the GPL or one of MS's EULAs.

    I kind of feel bad for this MS manager, he really went out of his way to be nice to this guy who was clearly violating the license. Now people on slashdot are going to say all kinds of nasty stuff about him without actually looking closely at the issue and seeing that he was pretty clearly in the right.
    • by wanax ( 46819 ) on Wednesday June 06, 2007 @01:44AM (#19407395)
      I rarely comment in threads like this, since I'm not a developer... but I think you're missing the point... in the Jan 23rd 2006 e-mail, Jamie asked MS to tell him where he was in violation, they never did until the lawyer hard copies over a year later (May 25, 2007). The developer (Jamie) seemed, throughout the entire exchange (I did read it) to be willing to ditch the offending offering if they'd just give him a reason why, they never did. The MS manager was never willing to actually respond to the central point of the entire exchange:

      What were the violation(s)?

      I have no clue what happened in the conference calls, nor do I for the legal decision.. But there is no way that I could consider MS' actions in this case defensible from the e-mails. He asked, they didn't answer.. he put out an olive branch, they responded with the stick... he removed the material, they tried to rub it in and poke him in the eye.
  • Chilling effect (Score:5, Insightful)

    by Louis Guerin ( 728805 ) <> on Wednesday June 06, 2007 @01:24AM (#19407279)
    In essence, MS is taking the position that developers can use their APIs however they like - unless MS objects, at which point they get to withdraw the offending code without compensation, unless you count not being sued as compensartion.

    Given that this could in principle happen to anyone extending MS software, this ought to be a chilling effect on use of MS APIs without a $10,000 annual partnership license. That sets a pretty high bar to participation. Let's say MS developers fall into four categories:

    a. Smart and a partner. These will continue to contribute. They always did. (If you accept that they're not an oxymoron.)

    b. Smart and not a partner. These will stop contributing because of the legal risk.

    c. Dumb and a partner. These will continue contributing, but their contributions will be worthless.

    d. Dumb and not a partner. These poor saps will continue contributing, because they're too stupid to realise they're in the gun.

    All I can say is that if you screw with the bull, you get the horns. This developer would have had no problems if he'd been working in free software. That's the real lesson.

  • by hkb ( 777908 ) on Wednesday June 06, 2007 @01:25AM (#19407291)
    1. Weber just seriously damaged Microsoft's relationship with the community.
    2. Weber was way, way out of line.
    3. Weber should be dismissed.
    4. This incident has made me doublethink our decision of going to ASP.NET for in-house app development.
    5. Yet another reason not to get locked into proprietary software.
  • by sudog ( 101964 ) on Wednesday June 06, 2007 @01:26AM (#19407299) Homepage
    He waffles back and forth, first cooperating, then not, then cooperating, then not. The Microsoft guy has the patience of the Buddha..! By the end of it, the dev is actually threatening to re-enable the Express support if Microsoft doesn't keep corresponding with him.


    Yes, I've read the entire exchange. And honestly it looks a lot like the dev is being a dick about it.
  • Valid Licence (Score:4, Interesting)

    by HRogge ( 973545 ) on Wednesday June 06, 2007 @01:39AM (#19407369)
    Would be interesting if this restriction of the licence is valid in Europe (or in England especially).
    In Germany we have something called "Allgemeine Geschäftsbedingungen" which limit the stuff a company can write into it's licences, maybe England has something similar.
  • by architimmy ( 727047 ) on Wednesday June 06, 2007 @01:40AM (#19407379) Homepage
    What's better is that when I viewed this story the ad was for Microsoft Visual Studio. Irony makes itself.
  • by codepunk ( 167897 ) on Wednesday June 06, 2007 @01:43AM (#19407387)
    Wait a few more weeks till the GPL3 is released then open source it and relicense under it. If MS was not mad before that ought to do it.
  • by I'm Don Giovanni ( 598558 ) on Wednesday June 06, 2007 @02:02AM (#19407483)
    I know that most slashdotters don't even want to hear Microsoft's side of the story, but for the few that might, read these two blog entries by Dan Fernandez:

    This gives MS's side of the story, including the two-year history of this issue: visual-studio-express-and-testdriven-net.aspx []

    This follow-up blog entry gives technical details on the hacking required to get TestDriven.NET to run in VS Express: testdriven-net-and-express-technical-information.a spx []

    You might want to weigh both sides of the story before choosing one side or the other.
    • made me laugh (Score:3, Insightful)

      by jopet ( 538074 )
      To summarize: MS is protecting the poor Express customers from the evils of complexity, because providing an addon that allows unit testing would overwhelm them ("The vast majority of our customer base, now with 14 million downloads, isn't even professional developers, its non-professionals").

      Think of the poor customers -- they might download something they normally wouldn't even know it existed.


      Serves the guy right when he messes with idiots of that caliber.
  • by ContractualObligatio ( 850987 ) on Wednesday June 06, 2007 @02:15AM (#19407551)
    You can tell from my sig I work for a commercial enterprise; I'm painfully familiar with how the law can get in the way of things. But this guy has a simple choice if he wants to maintain some form of principle:

    First, be open source if you want to be truly principled in all of this. Just walk away - clearly you don't like the way Microsoft operates. Have some sympathy for people in M$ who spent one helluva long time trying to avoid bringing lawyers into the mix, tell them you think their business stinks, and walk away (and get the story out there on the web).

    Or, work in the spirit of Microsoft's business model. It's what a decent business person does. It seems that far from being a hobbyist you are in fact selling this tool on your website. If you want to make money out of the Microsoft ecosystem, and they're willing to invest something like a year in explaining their point of view, don't get the lawyers involved. Work with them, respect their intent.

    Trying to paint M$ as the bad guys here is wrong - if things are bad, they're bad on both sides. So the license wasn't clear, but M$ spent a lot of time explaining their point of view. But no, this guy Jamie wants to get his lawyer involved. He wants to force a guy running a development team to talk about law, not about the spirit of what they're trying to achieve. That's bullshit. Jamie never discloses the content of the conference calls, he just sticks to his "let's talk legal specifics" - and then bitches when M$ does indeed come at him with lawyers.

    He might be making the mistake of many programmers, of course, who think that the law operates like code. Well, just like all code has bugs, so do all legal arrangements. And when you force things to go legal instead of having principles, you might just find that the justice system allows a bug fix to be applied before it comes to a legal conclusion. For example, the courts may find that the intent of the Express edition is clear, and that in the course of a year's worth of dialogue between the two parties any confusion was clearly resolved. They might agree with Microsoft's lawyers that Jamie's own offering of different commercial editions of the TestDriven product indicates a good understanding of Microsoft's commercial model. They might express sympathy for M$'s efforts to get a free version out for hobbyists, and forgive them for not having a 100% airtight technical and legal solution to prevent it from being extended. After all, it seems reasonable to expect that people can act in accordance to the spirit of an arrangement, without needing otherwise pointless effort being spent on perfectly restrictive measures, doesn't it?

    The courts may therefore conclude that although Jamie has not committed such a blatant breach of contract that M$ can claim damages, he has violated the clear intent of the Express edition and must therefore restrain from offering TestDriven for Visual Studio Express.

    Work to open source principles, work to business principles - both of those I can understand. Work to a principle something like, "it's your fault if I can get *my* lawyer to prove that *your* lawyers didn't put a sufficiently airtight contract in place", and you're just another weasel making the world a worse place for everyone.
    • by nagora ( 177841 ) on Wednesday June 06, 2007 @05:13AM (#19408367)
      Or, work in the spirit of Microsoft's business model.

      What are you on? Microsoft - and all other large companies - make no recognition of the concept of "the spirit" of anything. The written word, and what you can get a judge to believe the words mean, is all that counts. If you're going to deal with them on the basis of the spirit of their business model you might as well give yourself a nice open wound and jump into the shark tank at Sea World.

      So the license wasn't clear, but M$ spent a lot of time explaining their point of view.

      Yeah, well, their view is their view. There are two people in this thing and no point of law give one's POV precedence over the other, and that's good if you pause for a moment and think about the devastating effects on consumers it would have if a company was allowed to review their contracts' meanings after the fact.

      The bigger issue here is that, as far as I can see, there is in fact no legal stance of any kind. Microsoft's software has not been changed by the developer in any way and no contract existed (at least, no real contract with signitures, consideration and all that tiresome legal stuff that Microsoft ignores when it suits them to) so really there is no "legal arrangement" of any kind other than the concept of ownership. Copyright has not been broken and as far as I can see no trade law or contract law has relevance. Obviously, MS can pay a team of lawyers to argue otherwise until the heat death of the universe but that's just using the courts to bully through your own arbitrary view with no regard to the legalities of either party's actions.

      The courts may therefore conclude that although Jamie has not committed such a blatant breach of contract that M$ can claim damages, he has violated the clear intent of the Express edition and must therefore restrain from offering TestDriven for Visual Studio Express.

      I very much doubt that the English courts would see it that way since Microsoft has no contract to show as evidence and has consistantly refused to show what part of their self-declared license was breached by these actions.

      No wrong, either legal or moral, appears to have been done, and no damage has accrued to Microsoft except by their own unreasonable beahviour which is making it clear just how hostile to outside programmers they can be if those programmers show more skill than Microsoft's own bunch of third-raters.


  • by merdaccia ( 695940 ) on Wednesday June 06, 2007 @02:24AM (#19407597)


    So you develop components for closed software with proprietary languages on commercial operating systems, and you're surprised when the powers that be want to control what your components do?

    If you lock yourself to a vendor, and that vendor acts against your interests, you're screwed. If the vendor acts against its own interests, as is the case here, you may also get screwed. By locking yourself to that vendor, you've locked yourself to their decisions, as misguided as they may be.

    It's obvious that control is more valuable to Microsoft than the developers who work with its systems. Tough. Either deal with it, or get out.


    Apologies for ranting, but although I understand that some people must develop on the MS platform, I simply cannot understand those who choose to voluntarily. The rant is directed at the latter.

  • by jopet ( 538074 ) on Wednesday June 06, 2007 @03:27AM (#19407901) Journal
    If you sleep with dogs you will get up with fleas. If he wants to be altruistic, if he wants to share and even make money with what he shares he should look into open source software where this is a part of the design.
    If you try this with closed source software of an international quasi-monopolistic mega-corporation you should not be surprised if you get slapped should you do something they do not like or is against their rules.

    We are used to much nastier stuff from MS than just threatening or ruining a single little programmer.
  • by Tim Browse ( 9263 ) on Wednesday June 06, 2007 @05:34AM (#19408441)

    ...uses sentences like:

    "Do you have a specific ask of Microsoft?"

    Er, that would be a question or request, you tosser.


    I would much prefer that we reached an amicable solution, but I don't feel that we're trending in that direction.

    Hateful. Just hateful. The guy probably spends most of the day synergising his potentials.

    Q. What do you call 100 dead language lawyers at the bottom of the sea?
    A. Microsoft UK

  • by Dr_Barnowl ( 709838 ) on Wednesday June 06, 2007 @07:16AM (#19408911)
    To get his add-in to work for the Express Edition, he uses a property visualizer (which aren't disabled in Express). You have to open the property window to get his addin to run. His custom property visualizer then uses the IDE APIs to load the add-in assembly into the process, create menus, etc.

    He even gave an example to the MS drone in his email correspondence, which is still up on his webserver. []

    While I agree that it's technically possible, it's using an extension point which was not intended to provide full add-in access. Yes, no secret APIs were abused, no reverse engineering necessary. It violates the spirit of the agreement rather than the letter (which is that technical measures to prevent add-in use should not be circumvented). They removed the add-in manager and loader, which they figured should be enough. Mr Cansdale has effectively written his own add-in loader and used an alternate technical means (otherwise known as "hack") to get it executed. The fact that the "technical measures" used to prevent add-ins from loading were not implemented in a bullet-proof manner does not change the fact that they are present, and that they have been circumvented.

    Yes, I think Microsoft are being dumb - being able to run the software you want is the sales driver for any OS, and being able to develop your own is the one sure way of getting exactly the software you want. Artificially restricting the features of your development tools so your IDE team can be a profit centre is of questionable value. Removing the ability of hobbyists to use professional testing features is fostering yet another generation of sloppy programmers who will have to adjust to become professionals.

    But Mr Cansdale is in the wrong, IMHO. MS agreed to "play nice" by releasing a slick, functional, professional IDE for free, despite the risks of attracting antitrust attention. Mr Cansdale has responded by thumbing his nose at the spirit of that bargain. If he really wanted a version of his product that runs in a free IDE, he could have written a version for SharpDevelop without treading on the 300-lb gorillas toes. Or he could have just kept his hack to himself (he wrote it because he was using the Express edition to develop TestDriven.NET ... which is fine. But loading his add-in into the Express IDE was in violation of the EULA, even if *writing* the add-in in Express is all fine and dandy.)

    By the way - the rumour that you cannot use Express to develop a commercial product is not true. There would be no point in imposing such a condition, simply because the compiler is free (beer) available. You have no means of proving that any .NET product has not been hacked together with Notepad.exe and a command line. MS quite wisely have put no restriction on the commercial sale of products written with the Express editions of their IDE.

    Point 4 in the following : faq/ []

    4. Can I use Express Editions for commercial use?
    Yes, there are no licensing restrictions for applications built using the Express Editions.
  • by jpellino ( 202698 ) on Wednesday June 06, 2007 @09:00AM (#19409493)
    I believe they left out the part where Weber says "I find your lack of faith disturbing."

  • by jshriverWVU ( 810740 ) on Wednesday June 06, 2007 @09:59AM (#19410103)
    He does have a nice chip to cash in. The MVP award. Imagine going before a judge and saying "Yes they're suing me for, but if it's so illegal why did they give me the MVP award"

Any sufficiently advanced technology is indistinguishable from a rigged demo.