Jaa


Martin Fowler wants to see Ruby on Microsoft to save the alpha geek

I like Martin Fowler.  As a veritable lighthouse of the patterns and agile communities, he's both a resource and a calm steady voice for change in an industry that cannot succeed without change.

So, when he posted his recent entry on "Ruby and Microsoft" I was eager to take a look.  He cites a general willingness of the Ruby community to work with Microsoft and I'm glad of that.  He also points out, and rightly so, that Microsoft has some pretty strict rules designed to prevent open source code from creeping into the product code base, rules that get in the way of open source collaboration.  That's what happens when the company is sued repeatedly for two decades by our competitors and government agencies. 

Just as IBM suffered under long running, financially and politically motivated, anti-trust suits, which knocked them down a step and opened up the computer hardware market, Microsoft has been similarly affected.  Hopefully, we are making the turn quicker than our friends in big blue did, largely by observing their example.  They did turn the corner, and IBM makes money.  We will turn the corner, and we make money too.  I'm sure of that.  But the lawsuits matter.  They really do.

That said, I have to say that I disagree with Martin about many of the aspects he hit upon.  I refer readers to this excellent post from Peter Laudati.

https://blogs.gotdotnet.com/peterlau/archive/2007/06/11/shaking-out-the-innovation.aspx

In this response to Martin, Peter argues eloquently for including tools in the toolset that support ALL developers, not just Martin's "alpha geeks."   I agree with Peter.  The MS Platform should encourage all developers to succeed.  I also resent the term "alpha geek."  Truly awful. 

I would add that Microsoft should NOT deliver open source tools built in to the Visual Studio platform, because we cannot possibly support those tools.  If the community develops a tool, they should support it.  I have no problem linking to the alt.net stuff and encouraging folks to use it. 

I think it would be great if a group of Open Source developers would create an all-up "add-on" install that contains all their favorite tools like NAnt, NHibernate, NUnit, Spring.Net, etc in a single package, complete with documentation and samples, that allows folks to easily add the alt.net tools to their setup in one jump. 

Mr Fowler's being unfair to suggest that MS treats open source differently than "technology companies" like IBM, Sun and Apple.  We aren't wildly supporting open source.  We don't oppose open source either.  (not anymore).  The vast majority of software companies are "friendly but not too friendly" with open source.  (There are tens of thousands of software companies.  Martin doesn't name a single serious software company on the open source side.) 

It's not the entire industry on one side with Microsoft on the other.  It's an industry segment who support open source and make their money on hardware and/or services vs. the segment of companies who make their money selling software licenses.  That latter group pretty much ignores open source (or releases bits into open source when we don't want to support it ourselves).  Microsoft happens to be in the latter camp, and we are a big player... but we are far from unusual.  (Note: I include OSS vendors like Redhat as services companies because, face it, you aren't paying for the operating system... you are paying for the support, and support is a service).

Oh, and I remember when the uber-geeks of yesterday went to Powerbuilder (and declared the death of VB) and then to Delphi (and again declared the death of VB) and then to EJB (and declared the death of everything).  Nothing happened.  Those platforms are not serious threats.  The uber-geeks don't have a great track record for picking winners.   I'm not worried.

Comments

  • Anonymous
    June 13, 2007
    Why would open source developers want to use your tools? After reading about the current fiasco with http://www.testdriven.net/, I would not want to do anything opensource with the Visual Stuido environment.  Many of the opensource developers will probably use the Express version.  Since plugins are not allowed on the Express version, what incentive is there to create addons? Perhaps there are other ways to add on to the Visual Studio Enviornment, I don't know since I don't use your development products.  

  • Anonymous
    June 13, 2007
    The comment has been removed

  • Anonymous
    June 13, 2007
    Hi James, You've got me confused.  I'm not aware of the fiasco that you refer to.  (I'm an IT architect).  Can you provide me a link to follow up? Are you wanting to use Express because it is lower cost?  What's the driver there? -- Nick

  • Anonymous
    June 13, 2007
    The comment has been removed

  • Anonymous
    June 13, 2007
    Sorry, I should have posted the blog link too.  (http://weblogs.asp.net/nunitaddin/) The author of TestDrive.net is in trouble with MS.  The reason is that his commercial (available for free for non professional users) product is usable as a "plugin" under VS Express.  Something that apparently violates either the "intent" of the license or it is a technical circumvention which is expressly forbidden. If the plugin that was free, would it be alright for it to act as a plugin in VS Express?  I don't believe that I'm capable of making that determination.  I've not read the current EULA but I alway get that queasy feeling in my stomach when I read them.  They don't really tell you anything.  The BSD, GPL, and some of the other more popular opensource license are much more understandable. As a developer my rights are better understood and they don't constantly change with a new revision posted on a website. I don't really want to use the VS Express Tools. I rarely ever boot into windows.  When I need to do development under windows, it's typically java. The Eclipse tools and various plugins usually meet my needs.

  • Anonymous
    June 13, 2007
    Hi Nick, James is referring to this: http://weblogs.asp.net/nunitaddin/default.aspx Check out the latest four posts, starting with http://weblogs.asp.net/nunitaddin/archive/2007/05/30/microsoft-vs-testdriven-net-express.aspx.  This was even Slashdotted a week or two ago.

  • Anonymous
    June 13, 2007
    Nick, James is referring to the current legal issue with Jamie Cansdale of Test Driven .NET fame. FYI http://weblogs.asp.net/nunitaddin/ Evan

  • Anonymous
    June 13, 2007
    The comment has been removed

  • Anonymous
    June 13, 2007
    >>I would add that Microsoft should NOT deliver open source tools built in to the Visual Studio platform, because we cannot possibly support those tools.  If the community develops a tool, they should support it. Developers are not asking Microsoft to 'support' open source tools. Developers are asking Microsoft NOT TO close the door for more developers to learn and appreciate these excellent, 'tried and true' tools. Microsoft doesn't have to 'support' NUnit and NAnt. We just wish Microsoft just doesn't 'try to compete' with these tools. Microsoft has every right to compete with these tools. Just as we have the right to be upset that Microsoft's tools are actually not compatible, or even worse than the commonly supported practices/tools.

  • Anonymous
    June 14, 2007
    The comment has been removed

  • Anonymous
    June 14, 2007
    @James - I understand that the TD.NET dust up is leaving a bad taste in some mouths.  There are various editions of VS.NET available at different price points.  There is a huge market of add-ons for VS.NET and lots of incentive to build those add-ons (even open-source add-ons) in order to reach the large number of developers who use .NET. VS.NET is quite extensible, and in fact, Microsoft recently announced how they are making extensibility even easier in the upcoming version: Visual Studio 2008 with the new "Shell" feature. Express is the free hobbyist edition of VS.NET and currently, add-ons are not supported in that version.  Hence the issues with TD.NET. I'm not a lawyer, so I won't comment on who's right or wrong in that situation. Suffice to say, as a lay person, I can understand the negative perceptions it might leave.  All I can say is that there are always two sides to any story. Microsoft needs to listen to the feedback of its community in deciding what features to make available in VS.NET. And lately, there's been plenty of it!

  • Anonymous
    June 14, 2007
    Thanks for responding. No apology for not knowing about these things.  MS is huge after all.  I found the following June 7 article about MS licensing about Windows Desktop licensing today by accident.  http://blogs.zdnet.com/Bott/?p=250 I suppose I should read the EULA for the VS products to see how onerous they are. Here's a quote: "When 44% of your customers believe that they’ve legitimately bought and paid for something and you think they still owe you more money, you have a big problem." The above is the reason why at my previous employer (2001) we were using Linux for all of the backend infrastructure except where apps required Windows NT.

  • Anonymous
    June 14, 2007
    I find the thread unfortunate.  I believe in community-contributed software and I know a lot of folks in the company who do as well. That said, if a company makes a product, they have the RIGHT to control what is done with it.  If the open source community makes a product, the open source community has the RIGHT to control what is done with it.  It is called intellectual PROPERTY for a reason. I cannot and will not comment on the merits of the legal case.  I think the BUSINESS of going after open source guys is bad business.  There are better ways.  We could have resolved this by offering a $50,000 cash bonus for turning off the ability to install the code on VSExpress.   I'll bet the negative publicity alone is worth more than that.

  • Anonymous
    June 15, 2007
    The comment has been removed

  • Anonymous
    June 15, 2007
    "That said, if a company makes a product, they have the RIGHT to control what is done with it.  If the open source community makes a product, the open source community has the RIGHT to control what is done with it.  It is called intellectual PROPERTY for a reason." I'm not disagreeing with all of this statment. The company or person that developed the software/code owns it.  I wholeheartedly endorse that idea.  I believe that copyright is good.  It protects those that do opensource as well. I will disagree with the "makes a product" portion.  As an example if I pay cash for a car, the automaker does not get to tell what I can or can't do with it. The blender maker can't force me not to make mixed drinks after I've purchased it. All that you're getting at purchase for closed source software is a license to use it and possibly the storage materials that is included with the physical package in a retail location.  For me, the real turn pff has been the vendor lockin and not knowing where you'll stand with the next release.  (Okay, in this release you'll not be able run this version of the product in a virtual machine. Only 5 other computers can access this version of the software.  This release will let you play your own music, but you can't play any music that you download without the proper digital rights label......) Here's a list of licenses, but it doesn't appear to be complete. http://www.microsoft.com/about/legal/useterms/

  • Anonymous
    June 15, 2007
    @James The economics of intellectual property is entirely different than the economics of heavy manufacturing, so your car analogy doesn't work.  What if Toyota could make a car by Investing $1 Billion in R&D, but then could manufacture the car for $200 each.  They still need to recoup their Billion dollars, so they add $6,000 to the price of each car. Of course, they make different models.  One has fewer options and another has cool seats and a sun roof. For a small number of people who want very basic transportation, they make a model for only $1,000.  It does well but doesn't cut into the sales for the full car. Along comes a person, who I will call X, who sees profit in taking that $1,000 car and adding features to it.  He'd sell his features for $200.  Toyota takes notice.  If they allow X to add features, they would have to allow others to do so as well, and if they add enough features, the folks buying the $6,000 car would switch to the now-more-expensive upgraded basic version for $2,500.   Now Toyota is stuck!  How can they afford to sell a very basic car if doing so undercuts the billion dollar investment that allowed them to build the car in the first place? Like everyone who bought the basic car, X agreed not to put any features in it that could be used to increase its value ON RESALE TO OTHERS.  That is reserved for the car that Toyota uses to reduce its massive R&D debt.  Seems fair. X violated that agreement. Now,X is free to upgrade his own car, if he wants to.  The same upgrade interfaces are even available.  He just can't do it in a way that helps to create a grey-market for upgraded cars. Who is in the wrong here?  X is.

  • Anonymous
    June 16, 2007
    Re the "Death of VB" - well, VB died 5 years ago.  Java killed VB.  MS abandoned VB with .NET, VB.NET is Java in VB clothing.  I guess some of those uber-geeks were right after all!

  • Anonymous
    June 17, 2007
    Mat Hobbs, you are uninformed.  Your comments are hilarious - got any more?

  • Anonymous
    June 18, 2007
    @Nick, Yes I realize the economics are different.  Toyota will not sell the car in this instance because they loose all control over the vehicle.  No owner is going to sign a license agreement for this car.  What you are describing in the your example is a lease. You don't own the car, someone else owns it.  Its great for some people and business.  You're not allowed to modify it.  Fees are paid if the car is damaged or the number of miles driven are over. If Toyota were to do what you describe, they would probably follow a model similar to the EV1.   http://en.wikipedia.org/wiki/General_Motors_EV1 Personally, I believe that software manufacturers be honest and call what they are doing leasing.  Hardware manufacturers for things like router where you have to have a software license for the OS in order to legally use it should be the same.  

  • Anonymous
    June 18, 2007
    @James I agree that the model in heavy manufacturing that is most similar to software licensing is the 'auto lease.' However, we have not been dishonest IMHO.  Whether you purchase Windows Vista, or download Visual Studio Express, you are 'leasing' the property.  The legal term is 'license' but no one has hidden this fact from anyone. Software is not 'bought' or 'sold.'  We allow others to use the intellectual property we create, but we retain ownership, and we therefore, without a doubt, retain control.  We DO have the right, unlike the blender manufacturer, to control what is done TO the software.  Personally, I don't think we have (or want) any standing on what you build WITH the tool, but I'm no expert on that space... but clearly we want to retain control over what you add TO the product. I hope we are on the same page.  

  • Anonymous
    June 19, 2007
    @Nick, "... but clearly we want to retain control over what you add TO the product." This is the problem.  MS wants to maintain control.  Without releasing some control, I don't believe that MS will ever get a true community to grow.  The community cannot trust because it there is no guarantee that those in control will not clamp down on it.   In this case when I say community, I mean opensource.  Obviously, MS has a thriving community/ecosystem of paying commercial entities.  I don't expect you to answer this, but can MS give up enough control to attract the opensource community while retaining it's commercial side?   When I got to the eclipse website, I look at all of the neat things that I can do with eclipse.  As I want I can download these things and play around with them.  Or I can go elsewhere and find things that people have created separate from the project and use them (i.e. Subclipse, Ruby Development Tools). When I go to the Visual Studio website, I don't see a thriving community.  If I want something for Visual Studio, I can thumb thru a software catalog (i.e.  Programmer's Paradise).  Of course since I don't use VS, I am biased in this regards.  I don't have a need to look so I've not seen it. Thanks for the responses. James