CodeBetter.Com
CodeBetter.Com
RSS 2.0 via Feedburner
           Do you Twitter? Follow us @CodeBetter

Jeremy D. Miller -- The Shade Tree Developer

Under the hood and working with .Net, TDD, Software Design, and Agile Stuff

Ditto on Ayende's Microsoft OSS Post

 

I want to comment a bit on The Problem of Open Source in the Microsoft World from Ayende.  Please go read his post and add your voice somewhere.  I actually do believe that Microsoft listens to us, we just have to start asking for the right things. 

I strongly believe that a friendlier attitude from Microsoft towards OSS tools in .Net can only benefit us -- and Microsoft as well I would think.  Recently, one of the senior developers at my client asked my opinion in regards to .Net versus Java.  That's not an interesting conversation in terms of pure technology anymore (.Net/Java versus Ruby/Python/LAMP is far more interesting).  In terms of development community though, I think there is a vast gulf between Java and .Net, at least at the upper end.  I openly admire the vibrant OSS community in Java (I'm downright jealous of the community around Rails) and the wealth of innovation that they have sparked.  The .Net development community seems to either:

  1. Wait for Microsoft's new tools and use them without any critical evaluation.  Are you sure that Enterprise Library is the best choice?  Could it be better?  Are there existing alternatives that are better?  Could we write something much simpler than CAB and use that instead? 
  2. Or port something from Java and now Ruby

I think the lack of innovation from the .Net community is extremely disappointing.  We hurt ourselves By limiting .Net innovation to Redmond and Java leftovers.  I'd really just like to see more of an attitude of "we can do it ourselves" rather than having tunnel vision on Redmond.  And the old excuse that innovation is lacking because .Net is much newer than Java?  It's been 5-6 years now.  That excuse is tired. 

Microsoft developer tools are primarily geared around RAD development  (I've banned the "M" word from my blog, but you know that I'm thinking about "M's" here).  Doing Domain Driven development with Agile practices might not even be possible or efficient without the OSS tools that have historically provided the gaps between Microsoft's tooling.  Those tools have been, and continue to be, important.  Microsoft *still* does not have a fullblown Inversion of Control tool, a released O/R mapper, a Continuous Integration tool, or a mock object library.  All OSS tools that I depend on almost daily.

If nothing else, OSS tools, especially developer tools, can be driven by developer needs faster than Microsoft can possibly move -- and Microsoft can't possibly anticipate every need.

By the way, my money is where my mouth is.  I'm not as prolific as Ayende (nobody is), but my OSS resume is:

  • StructureMap - Dependency Injection tool (first release in June 2004)
  • StoryTeller - .Net tooling for FitNesse testing (shooting for the first alpha in January 2007)

and I will be contributing some enhancements to NUnitForms and FitnesseDotNet (shows its heritage as a Java port way too much).

I would definitely recommend being involved in an OSS project.  My OSS work has positively contributed to my career path.  I wouldn't say that it's brought me any particular fame, but it's been a great learning experience.  I started StructureMap as a way to learn .Net when I was stuck in a non-coding architect role.  Besides being useful in and of itself, it gave me a toolbench to try out TDD and design patterns that I've used on paying projects since.

 

Does anybody know where JetBrains stands in regard to a full .Net IDE ala IntelliJ?  I'd concur with Ayende and the commenters that I think our best hope is JetBrains.  I have this ridiculous vision of a bunch of developers with bad hair saying "help me JetBrains, you're my only hope."

I still dislike the GPL license by the way.  We're using a GPL licensed tool in our code base that has a specific provision to allow you to redistribute the binary as is in your own product just like NAnt.  Very early on I predicted that the company's inhouse lawyer would have a conniption over the license.  I'm apparently psychic because my prediction unfolded exactly the way I said it would.  I get the utopian ideal behind the GPL, but the benefits of being an OSS author are indirect.  The specific gains are reputation and often a chance to learn from working on projects that are quite different or more challenging than your day job.  The gains are primarily derived from somebody else using your OSS tool.  By slapping the GPL on it you're effectively dooming the fruits of your labor to the dust bin (or academia).

 

P.S. -- I partially blame lawyers for this because I know that part of MS's attitude is due to a fear of legal proceedings over intellectual property rights. 



Comments

Simone Busoli said:

*quote*

I think the lack of innovation from the .Net community is extremely disappointing.  We hurt ourselves By limiting .Net innovation to Redmond and Java leftovers.  I'd really just like to see more of an attitude of "we can do it ourselves" rather than having tunnel vision on Redmond.

Microsoft *still* does not have...

*endquote*

Jeremy, I think that one of the reasons why there's not much .NET innovation coming from OSS developers is that people don't want to invest time and effort in developing something that will be first or then *borrowed* by Microsoft to build their own implementation of it. Look at NDoc, and I bet another thousand smaller projects which have been discontinued because of a similar tool - not eventually better - released by Microsoft.

I think that Microsoft should do the first step and start collaborating in OSS, to show that they are not only thieves of other's ideas.

# December 10, 2006 5:15 PM

Jeremy D. Miller said:

Simone,

I hear you about the fear of MS just copying it later, but I think that makes it even more important to get the message through to MS.  I've stated it ad nauseum, but the ObjectSpaces fiasco still burns me.  That was almost pure FUD that set back the development of NHibernate and other tools considerably.  I genuinely wished they had simply worked with NUnit/NAnt/etc. instead of devoting resources to half-hearted copies.  I think Java is better off because Sun & IBM seem to be willing to work with OSS instead of trying to compete with it the way MS does.

I also think that MS wastes some of their time in constantly reinventing the wheel.  Look at ObjectBuilder in the CAB.  They could have used any of the existing DI/IoC tools and gotten more functionality.  Probably could have been done earlier with ObjectBuilder if they had researched the existing tools for that matter.

I think there was a bit more to the NDoc story than just MS copying NDoc.

# December 10, 2006 5:45 PM

Simone Busoli said:

I agree with you, both about MS trying to reinvent the wheel each time and about the need of making our voice reach them. As far as I remember this topic has been discussed often in blogs, so I think that they should have got it by now.

I'm pretty sure that if their attitude towards OSS don't change we'll hardly ever see a .NET community as innovating as any other developement community out there.

I know about NDoc, that was just an example, maybe not the more appropriate.

# December 10, 2006 6:27 PM

David Hayden [MVP C#] said:

Just thinking out loud :) I was about to leave a comment for Jeremy telling him I would love to work

# December 10, 2006 6:36 PM

cruizer said:

Ayende Rahien and Jeremy Miller brought forth the arguments in their respective blog entries, and I couldn't

# December 10, 2006 7:52 PM

Michal said:

Hi there,

just wanted to add that I talked with JetBrains guys at TechED Barcelona, and they told me that they are'nt planning to develop an IDE for .NET. There were such plans, but the project was cancelled. Sorry guys :(

# December 11, 2006 1:49 AM

Andrew Stopford's Weblog said:

I was going to comment on Jeremys post on OSS in the Microsoft world but decided to write it up here.

# December 11, 2006 4:37 AM

Community Blogs said:

A couple of people ( Ayende Rahien , Jeremy Miller and David Hayden ) started to wonder why Open Source

# December 11, 2006 6:36 AM

Sean Chambers said:

Jeremy,

I couldn't agree with you and Ayende more.

Whenever I look at a new tool in the OSS community I don't have the same level of "fear" if you will, that I do when I use a MS tool. Specifically because I know if there is a problem with a MS tool it will be months, perhaps never before the bug is fixed. Whereas with a OSS tool, you just check in a bug and boom! someone takes it upon themself to address/fix the bug. I quickly got tired of hearing "That is an issue and we will *think* about fixing it" from MS. That definately gave me a sour taste in my mouth for ANY tools from MS and I definately think twice before using a new MS tool. I actually go out of my way to find an OSS equivalent before using the MS tool.

Great post!

# December 11, 2006 7:52 AM

David Kemp said:

# December 11, 2006 7:58 AM

Alex James said:

This stuff is so true...

Not sure that Microsoft will ever change thought. They love to own the platform.

# December 11, 2006 4:36 PM

Andrew Stopford's Weblog said:

Its that time of year again and as is custom on my blog I'll look back at the predictions I made

# December 30, 2006 1:05 PM

Ayende @ Blog said:

OSS

# January 13, 2007 2:12 PM

Ayende @ Blog said:

OSS

# January 13, 2007 2:15 PM

Rosie said:

I thank you for your comment.

# March 5, 2007 12:32 PM

flynetcn said:

以色列的一位热衷于.NET开源项目的开发人员,在他的Blog上写了一篇文章分析了.NET开源社区存在的问题。

# September 11, 2007 1:21 AM

Kevin Herbert said:

We have developed a .net version of a Metadata Driven Star Schema ETL engine.  A most advanced engine.   I am considering taking our project open source.   What tools are out there to manage an open source project?   What is the ROI?   Any other comments?

# October 26, 2007 12:28 PM

不够谦虚 said:

.NET开源社区存在的问题

# December 5, 2007 2:56 PM

Andrew Stopford's Weblog said:

It's that time of year again and a custom on my blog to look back at my predictions for this year, relect

# December 27, 2007 1:50 PM

google said:

# January 20, 2008 9:52 PM

google said:

# January 20, 2008 9:53 PM

Leave a Comment

(required)  
(optional)
(required)  

Enter the numbers above:
Add

About Jeremy D. Miller

Jeremy began his IT career writing "Shadow IT" applications to automate his engineering documentation, then wandered into software development because it looked like more fun. Jeremy previously worked as a systems architect building mission critical supply chain software for a Fortune 100 company and learned agile development practices as a .Net consultant at ThoughtWorks, one of the pioneers of agile development. Jeremy is the author of the open source StructureMap (http://structuremap.sourceforge.net) tool for Dependency Injection with .Net and the forthcoming StoryTeller (http://storyteller.tigris.org) tool for supercharged FIT testing in .Net. Jeremy's thoughts on just about everything software related can be found on his weblog "The Shade Tree Developer" at http://codebetter.com/blogs/jeremy.miller, part of the popular CodeBetter site. Jeremy is a Microsoft MVP for C#. Check out Devlicio.us!

This Blog

Syndication

News

All opinions expressed here constitute my (Jeremy D. Miller's) personal opinion, and do not necessarily represent the opinion of any other organization or person, including (but not limited to) my fellow employees, my employer, its clients or their agents.

About Me

"Best Of" Compendium

StructureMap (Dependency Injection for .Net)

StoryTeller (Supercharged Fit)

Build your own Cab

TestDriven

MVP