Microsoft creates the CodePlex foundation
Very cool news. Today Microsoft announce the creation of the CodePlex foundation. That's CodePlex.org.
It's amazing the amount of work that goes into something like this. I was in on a lot of very boring (but important) legal conference calls with a lot of folks from within Microsoft but it was fascinating in its own legal way. There's a lot of people who want to see this work and really be something special.
CodePlex.org is different from CodePlex.com, of course. The CodePlex foundation is a 501(c)(6) organization, separate from Microsoft. It's created to help commercial software developers use Open Source software.
Here's the best part:
"The Foundation has no pre-suppositions about particular projects, platforms, or open source licenses."
This isn't the "Visual Studio Foundation" or the ".NET Foundation" or the "MS-PL Foundation." This is on purpose. Over the next few months we'll start hearing about how Projects can get involved and align themselves with the CodePlex foundation.
When I was working with Corillian/CheckFree, it was a challenge to get Open Source software used on big proprietary projects. There was fear and confusion at all levels. We eventually got it done, and there's open source software from then-Corillian running at large banks and small credit unions all over the world. in my opinion, if CodePlex.org succeeds, open source software will be used by more professional software developers.
Here's the interim board of directors and board of advisors. You can see it skews Microsoft initially, but that'll change in the first 100 days when we find permanent members. If you want to get involved, do!
Board of Directors
- Sam Ramji, President
Biography - Bill Staples, Vice President
Microsoft
Biography - Stephanie Davies Boesch, Secretary & Treasurer
Microsoft
Biography - Miguel de Icaza
Novell
Biography - D. Britton Johnston
Microsoft
Biography - Shaun Bruce Walker
DotNetNuke
Biography
From the site:
Sam Ramji will serve as interim President of the Foundation. He will be supported by an interim Board of Directors, whose other members are Bill Staples, Stephanie Boesch, Miguel de Icaza, Britt Johnston, and Shaun Walker. Mr. Ramji and the interim Board will immediately begin a search for a permanent Executive Director, who will manage the day-today operations of the Foundation, as well as a permanent Board of Directors and a Board of Advisors.
For the policy wonks, here's the foundation's bylaws (PDF) for you to peruse. This is important also, from the FAQ:
Q: What is the difference between the CodePlex Foundation and CodePlex.com?
CodePlex Foundation is an extension of the CodePlex brand established by Codplex.com. Codeplex.com has not only built a strong community, with more than 10,000 projects now hosted on the site, but has steadily built a recognized brand. CodePlex.com launched in June of 2006 out of a need for a project hosting site that operated in a way that other forges didn't – with features and structures that appealed to commercial software developers. The next chapter in solving for this challenge is the CodePlex Foundation (Codeplex.org). The Foundation is solving similar challenges; ultimately aiming to bring open source and commercial software developers together in a place where they can collaborate. This is absolutely independent from the project hosting site, but it is essentially trying to support the same mission. It is just solving a different part of the challenge, a part that Codeplex.com isn't designed to solve.
I'm on the Advisory board, which is cool, along with other folks whose names I hope you recognize and respect as non-evil. If you're not familiar with the names, I've added my own mini-bio for each. Any errors are mine.
Advisory Board
- Larry Augustin, SugarCRM - Larry was the chairman of VA Software now called SourceForge, Inc.
- Sara Ford, Microsoft - Sara runs CodePlex.com and has been an advocate of .NET open source for years.
- Aaron Fulkerson, MindTouch - Fulkerson is currently Founder and CEO at Open Source and collaborative network company MindTouch.
- Robert Gobeille, Hewlett-Packard - Bob is the lead architect of the FOSSology project, tools to facilitate the study and analysis of free and open source software.
- Phil Haack, Microsoft - Phil runs SubText, a .NET open source blogging engine, and he succeeded in releasing Microsoft's ASP.NET MVC under the MS-PL Open Source license.
- Scott Hanselman, Microsoft - This is me. I've worked on DasBlog as well as a number of smaller open source projects. I used to be the Chief Architect at Corillian, a leading retail online financial service firm, where we used a great deal of open source .NET software in our systems.
- John Lam, Microsoft - John is known for a lot of things, not the least of which his work on IronRuby, an Open Source .NET implementation of Ruby on the CLR.
- Jim Newkirk, Microsoft - Jim is one of the co-authors of NUnit and also XUnit.NET, both unit-testing frameworks for .NET.
- Monty O'Kelley, Microsoft - Monty has worked on partnerships between Microsoft and Novell as well as advocating to make Linux virtualize better on Hyper-V
- Stephen Walli - Stephen consults on software and open source strategy. He worked on the Interix environment to re-host UNIX apps on Windows NT, utilizing lots of open source software across a number of licenses.
- Monty Widenius, Monty Program AB - Monty is the main author of the original MySQL database and a founder of the MySQL AB Company.
As a long time Open Source guy myself, I promise that I'll fight the good fight and continue to nudge things in the right direction.
About Scott
Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.
About Newsletter
Seriously.
You could draw a link between Open Source and community, yah? But everything Microsoft does with Open Source is to try to create their own community, and do little to no collaboration with the already existing community.
It seems very much 'build it they will come' mentality, which isn't going to work when people already have a place to go.
I don't mean to be negative, but this is nothing but a press release and less meaningful than any of a 100 different things they could have done with a lot less effort (and expense).
It seems I see the words "open source" sprinkled in with "commercial software". This seems to me to be a Microsoft sandbox for its own purpose. I agree with @Eyston, why is Microsoft making the effort to create its own "Open Source" community separate from what is already out there?
I expected a great announcement here and I don't see it. I am sure there was tremendous effort here with great intentions but it seems to be more of the same.
Maybe Microsoft needs to look outside of its own doors to solve this problem, to bring MS to the existing OSS community and not create its own isolated community. Sorry, just don't get it.
Having a write-only relationship with Open Source isn't collaboration.
(I think MS releasing code as OS is a great thing, I just don't think it is a model of collaboration)
Communities tend to exist to "make things better" for the community members, where foundations tend to exist to "make things better" for communities.
Of course, I have no insight into Codeplex.org and have no idea if I'm right. :)
Eyston, Rob:
I hear you on Microsoft not doing enough to collaborate with open source communities. Is there a particular open source project or space you have in mind? There are a number of open source communities Microsoft is already working with and will continue to engage. For example, Microsoft is a sponsor of the Apache Software Foundation. Microsoft is a participant in the QPid and Hadoop projects.
Microsoft recently contributed Linux device drivers to the Linux community. My team works with the PHP community to make sure PHP runs great on Windows. The list goes on and on... and none of this will stop.
So why is Microsoft helping sponsor a new Open Source foundation? The lessons Microsoft has learned over the years working with open source are valuable for any commercial company to benefit from. The CodePlex Foundation, unlike other open source foundations like Mozilla, Apache, Eclipse, etc. is focused on enabling collaboration among commercial companies and open source communities in a license and technology independent way. CodePlex Foundation is complementary to these other foundations, not a competitor. I'm hopeful that the Foundation will enable more participation by Microsoft and other commercial companies in the many existing and new open source projects that are coming down the road.
I also keep hearing the phrase "commercial" used which is not in the spirit of open source. Sure, folks make money with OSS but the groups the projects come from are not created to be commercial. It would seem to me the foundation would get going better if this was not a principal goal.
I hope this works out well but being open in the development of this will be needed along with support from as many outside MS OSS projects and communities as possible.
Thank you for your reply Bill.
So yes, I fully acknowledge that MS has contributed significantly when it comes to open source.
What I don't see is ... collaboration. And maybe I just have a narrow view of collaboration. I don't really see Microsoft accepting source or using Open Source. That is what I mean by a write-only model. I think IronRuby accepts patches (I don't claim to be an IronRuby expert) but everything else is very one-way that I can see. Ignoring that, are there examples of MS making use of Open Source in their own products? The only example I can think of off the top of my head is including jquery in ASP.NET MVC. Maybe the Hadoop code is making its way to Azure? (I vaguely remember some kind of MapReduce feature in Azure's roadmap or out right now... haven't looked at Azure much since around Mix).
Anyways, none of this matters if the point of the foundation is to get existing commercial companies to donate their code to Open Source. If that is the goal, then Microsoft definitely has experience and a track record in this arena. But if the goal is for commercial developers to build off of Open Source projects and include them in their own development, then I just don't see how Microsoft can speak from experience when they won't do the same themselves due to Legal and other reasons. I'm not an expert but wouldn't the Legal reasons for not including OS code in your own products apply to the people you are trying to convince to do exactly that?
No, but they made sure to align the name with CodePlex, which might/could/will/unadvertently probably maybe unbeknownst etc lead to increased commercial support for projects on CodePlex.com. Hmmm... spider sense is tingling... I sense 'evil' in the air...
Seriously, why the name CodePlex, it's the hosting thingy as far as most devs know. This could be confusing.
That said, OSS is a big word... just like Microsoft is :). A lot of different people have different ideas (some idealogical, some not). My personal feeling is OSS is wonderful at providing a lot of built in functionality (infrastructure) so that I can focus on my own companies value add. Microsoft is also in the business of selling tools that let people focus on their value add (that phrase sounds dumb... but I think it is clear). So to MS, wanting to provide a clear message to customers (developers) there are challenges at how to use OSS in a meaningful way.
And at the end of the day, whats the benefit? Not to buck the trend, but if OSS doesn't jive with MS's agenda (and not using that as a 4 letter word), then I don't think they should have to do anything more than they are doing now. It comes back to what is the point of this Foundation: to foster commercial contributions to OSS (which MS is good at) or to foster OSS adoption in the .NET commercial development sector (which may not make much sense).
I started writing and forgot your question. Sorry. And thanks for your reply.
To answer your question, "Is there a particular open source project or space you have in mind?": no, I don't really have anything in mind. Thinking down the list of .NET OSS I use, Microsoft has a (near) direct competitor to each. It doesn't make much sense to collaborate with a product or community that you are competing with. Again, I don't mean for competition to have a negative connotation, as plenty of the developers at MS are very friendly towards OSS alternatives, but as a company I don't see how you could promote OSS without making a confusing message to your customers (we have product A, OSS has product B, they are both great).
The other alternative would be to replace an existing MS application with OSS, which makes no sense and isn't realistic. Another option is when presented with the choice of developing a new application where OSS exists to leverage the existing OSS out there. Again, I don't know if this really makes sense since the (presumptive) goal of MS is to provide a start to end solution/stack.
OSS is great at greating stacks, especially with infrastructure or system level code. This is exactly Microsoft's turf as well. You have from the Client OS to the CLR to Silverlight to the Browser to IIS to the Server OS (as one example). Most OSS companies focus on one product in the chain while leveraging existing OSS solutions -- they can specialize. I don't see how Microsoft really fits in this same space without a huge change (and I'm not sure the benefit).
So, my answer would be -- I don't know. I think MS has done a great job of contributing code and any effort to expand on that is great, but I'm not sure if going farther than that makes sense, and I don't think there is any fault with that. I'm not anti-this foundation, I just don't get the point.
Sorry for all the spam, this is just an interesting topic.
Here at Microsoft we actually had many heated conversations about when to announce. We asked ourselves if it would be better to announce this week, or wait a few months to line up commercial and open source partners before the announcement, work "behind the scenes" to line deals up and decide the project governance, introduce new projects from the start, etc. Ultimately we decided that was not in the spirit of open source and that such decisions should be made openly and transparently with those who care to be involved.
That's why today is just a soft launch. We're announcing Microsoft’s donation of a $1M to get things started. The foundation has an interim board with 3 Microsoft employees and 3 non-Microsoft employees. Their goal is to take the next 100 days, and with the help of the community, make the decisions which will shape how the foundation works. My expectation is that after the first 100 days, once a permanent board is in place, non-Microsoft employees will make up the majority of the board.
As for the "commercial" aspect of your question I'll try to explain it from my perspective. I work for Microsoft and talk to customers all the time who use our products including Windows, IIS, ASP.NET, SQL Server, Visual Studio, etc. Often times they tell me they love our products, sometimes they don't. More and more often they tell me that they use a combination of Microsoft software and open source software like PHP. They want their open source software to work well with Windows and IIS and they expect me to help with that. Herein lies the quandary. Windows is a commercial piece of software and PHP is not. Who should fix the problem? Should a commercial company like Microsoft not get involved because it is open source? Or does Microsoft have a responsibility to make its software interoperate well with all kinds of products, including open source ones? Personally, I want to help my customers succeed with Windows no matter what other software they choose to use. I suspect it is the same for other commercial companies who want to respond to customers who run heterogeneous software systems.
Yet, for legal reasons it is often hard for commercial software companies like Microsoft, who derive revenue from the intellectual property they create through licensing patents, to engage in open source. It is difficult for a number of cultural, process and licensing reasons which are hard to navigate. Microsoft's progress in working with open source has been slower than some would like, in many cases because of these reasons. But it is the learnings that Microsoft has had over the years that lead to the creation of the foundation. I believe the foundation will help Microsoft, and other commercial companies, better participate in open source projects. And to Eyston's point: I hope the contributions flow both ways.
Sorry for the off-topic the slightly off-topic comment but if you could get Microsoft to Open Source Microsoft Money instead of killing it you would be my hero-forever. And it seems a good fit here.
I have never used Quicken. MS Money is better. Always has been. I was disappointed that it will be unsupported and dropped next year (or is it 2011.) The biggest disappointment is that it seems such a waste of good code.
And why not open source it? Perhaps there are some propriety bits Microsoft wants to keep. Fine, strip and stub them out. Let the community fill in the gap. No rule that says that Money OS v1.0 has to actually work.
What are the chances of that?
Seth
If Microsoft is serious about CodePlex.org's task and charter, they need to start eating their own dog food and embrace open source in its whole, allowing people outside of Microsoft to contribute to code inside of Microsoft. Until Microsoft releases a version of a high-profile piece of software developed in collaboration and in a dialogue with the Open Source community, they won't get any credibility with regard to Open Source -- in my book at least.
Thanks for your reply, it clears a lot of questions up. Good luck with the foundation.
1. The Codeplex.org name is confusing and is so close to Codeplex.com, people are confused by it. Just do some Twitter searches and you will see what I mean. The two seem related, maybe they are, maybe they are not.
2. I have a fair amount of involvement in open source outside of MS, in particular in the Ruby communities and for MS to have acceptance as one that embraces OSS, they need to be friends with other communities. I can't say how but it really needs to happen above and beyond what they have already done.
Anyway, thanks again for taking the time to comment.
I suspect many of you who don't understand that, don't have that problem, but you should care. Why should it matter to you whether microsoft contributes (or accepts) directly or if they make it easier for me to get involved? The end result is the same.
I believe the group of guys on both boards are sincerely interested in helping out in this space and think it is needed. I work for a medium-size school district (not exactly commercial) who "loves" open source because they don't have to pay for it. But forget about me contributing back any code I write for our Mindtouch wiki install. Some one else will pay for that right?? Nevermind we aren't in the business of selling software, or really even developing it. They don't understand no one is going to pay for it because by itself, it is very minor.
I sometimes wonder how many times oss projects are silently patched behind the corporate veil before the project catches up.
Developers are skeptical about MS and the latest MS initative. Here is a real Codeplex example why MS motive is questioned.
MS contributing to OSS or sponsoring OSS is great. Where it breaks down is not following the remainder of OSS spirit and philosophy.
If I find a bug in Apache or Linux kernel, I can fix it and submit a patch. As long as it is reviewed and approved, it will be included in the next release or atleast be made available for everyone to use. There is a quick turnaround usually 3-6months.
MS open source does not work the same way. For example, Enterprise Library and Web Client Software Factory (WCSF), both of which are on CodePlex. I like these libraries, they are immensely useful to build a solid n-tier application.
WCSF has a major bug, it does not work with IIS7. The workaround is to handle events in global.asax. That workaround does not work in MSDEV. As a result, production and development global.asax files have to be different. This is tedious at best.
Patterns and Practices team has known about this bug (since Mar 2008) and they have a fix.
http://msmvps.com/blogs/paulomorgado/archive/2008/03/11/wcsf-2-0-and-iis7-integrated-pipeline-mode.aspx.
Though, P&P team will not release patch or a new minor release. We will have to wait for VS 2010 for this to be addressed.
There are several such bugs in P&P libs.
Last WCSF release was in Feb 2008, next release in Feb 2010. That is ancient by most standards. I don't see the foundation is going to change any of this.
Do you see the foundation addressing the dialog and give and take with the developer community?
Abhi
Comments are closed.