2009-09-13

The CodePlex Foundation; Why is Microsoft founding it?

The CodePlex Foundation was announced this week by Microsoft. Most reactions have been quite positive, but there has, of course, also been skepticism and concerns from Open Source advocates. The two main worries can be summarized as "the CodePlex Foundation is a ploy" (e.g. TechNews World) and "what's in it for them?" (e.g. Open Bytes).

I will try to explain why I think that the CodePlex Foundation is a good idea, and why I agreed to be an advisor for the Foundation.

N.B. All of the following is my own interpretation based on conversations with the people behind the Foundation. Any misinterpretations of issues and all speculations are my own.

It's important to keep a few salient points in mind as you think about Microsoft's possible motivations:
  • Microsoft goes to great lengths to satisfy the demands of their important customers.

  • Microsoft has many customers that are using both Microsoft products and Open Source software, and they (the customers) wants the open source product to work as seamlessly and reliable as possible with Microsoft products.

  • Microsoft is already contributing quite a lot of Open Source code into many projects, including the Linux kernel.

  • Being a big public company with a lot of lawyers creates a lot of bureaucracy and it becomes very hard for a developer in the company to participate in an Open Source project because of the many different contributor agreements / licenses / project policies that exits. (I can easily relate to this after seeing how hard it was to do release something as Open Source even at Sun).

I suspect many other software companies have similar issues.

Personally, I believe it was in order to solve the above that Microsoft created the CodePlex Foundation. By having a single independent entity, verified and approved by the Microsoft lawyers, to which to donate code, the whole process of being involved with Open Source projects becomes so much easier for Microsoft developers. CodePlex allows Microsoft developers to more easily participate in Open Source projects, without a lot of red tape. There are many developers at Microsoft that are very pro Open Source, and would like to participate more than they are able to at present. Note that since CodePlex supports all relevant Open Source licenses, there is nothing hindering contributions to CodePlex to find its way into projects elsewhere in the FOSS ecosystem from there.

But why should Microsoft be trusted to have good intentions with the CodePlex Foundation? Simply, I believe that it's in Microsoft's direct interest that the CodePlex foundations becomes a success. Of course, we all know that Microsoft will primarily ensure that the Open Source projects in which they participate will run better on Windows and with Microsoft products. But this doesn't change the fact that this is a still a great thing for Open Source software.

Of course, people will continue to worry about Microsoft's intents and maybe that is understandable. In my experience, Microsoft as a big company seems to be a "company divided," with some segments appearing to understand and embrace Open Source, and others acting against these understandings. (In fact, this is another thing I can relate to from my personal history.) But now we have an opportunity to see Microsoft at their best as regards Open Source and Free Software, and even help them out in the effort. This is, indeed, an unusual opportunity.

Clearly developers and users of software, be it Open Source or proprietary, benefit from Microsoft's benevolence toward and understanding of the Open Source ecosystem. Thus, it is my hope that Microsoft is being forthright about their intentions for the CodePlex Foundation, and can maintain their level of commitment in the years to come; even in times of difficulty.

Bear in mind, the CodePlex Foundation is an independent entity. If we succeed in launching it as such, and getting good Open Source people on the Board of Directors and in the Advisory board, it should become a worthwhile addition to the Open Source ecosystem regardless of what Microsoft is going to do. There is already a lot of vocal Open Source advocates involved in the Foundation, and if we think the CodePlex foundation starts to go astray, we will ensure it will be known.

It should be be noted that the Foundation was released in a "beta" state, allowing companies, partners, communities, and other interested parties to influence the Foundation in its early stages. I already have a concrete example that the Foundation is open to change and genuinely wants to do "the right thing" to make CodePlex work. The people from the Foundation board and advisory board had a phone meeting one day before the launch of the Foundation (my first contact with the Foundation) and some other advisors (myself included) were worried about some of the words in the original mission statement and some statements in the FAQ that could easily be misinterpreted. The Foundation board agreed to get changes done, even considering the time pressure they were under. This impressed me greatly.

There are still many issues to solve, and even more that can be improved over time. I want to be involved to ensure that the Foundation does it in a transparent and proper way, allowing it to work as smoothly as possible and for the benefit of the Open Source community. This is much easier to do from the inside. As I said, I feel that I was already listened to in reviewing the material related to the launch.

I also hope that the Foundation will begin to work to make life easier for Open Source developers and companies working in the Open Source space by providing easily replicable and reusable directions, guidelines, and standard contracts. All of this is still in an early stage and the future is wide open for what the CodePlex Foundation can and will do.

All in all, I think this is a major opportunity for the Open Source community and for Microsoft. I'll be working to ensure it works the way we all hope it will, and that it will benefit companies, developers and users alike.

12 comments:

Jonbo said...

How could I resist the urge not to respond?

I will of course be covering your points on an article, but for now I'll further remark on your counter.

Quote "Microsoft goes to great lengths to satisfy the demands of their important customers."

And who do you mean by important? IMO it certainly wasn't everyone who bought into Vista or the Zune..I expect you mean the ones who spend the most and that I think goes further to make sense on some of your later comments:

Quote ".....and they want the open source product to work as seamlessly and reliable as possible with Microsoft products."

Your'e serious aren't you? Do I have to quote all the issues with "standards" and cross platform support of its formats? Is anyone really that "out of touch" that they haven't experienced those "unofficial barriers" (IMO)....?

Quote "Microsoft is already contributing quite a lot of Open Source code into many projects, including the Linux kernel."

Yes I agree. Why though? Ballmer has called Linux a cancer, Microsoft (as per its marketing slides) goes to great lengths to cheapen it (IMO) and check out the latest press on that. So why would Microsoft contribute? Because its in their interests (IMO) to be seen to co-operate and IMO they know the way the wind in blowing.

How can a company they relies on profit justify doing anything that isn't in the interests of itself either directly or indirectly? Come on this is basics and its not even an attack against Microsoft, any company would be expected to act in that way. Companies (as far as I am aware) do not survive on good intentions.

Quote "developer in the company to participate in an Open Source project because of the many different contributor agreements"

I won't comment on that since the trials and tribulations of an alleged believer in the GPL within Microsoft is of no interest to me. What I will ask though is, with this brave new Open source world of Microsoft's, are they to boycott their patent portfolio? Will they be releasing the (IMO) "threat" of infringement on others? or will they be seeking to sell some of their patents to 3rd parties in order to indirectly enforce them? or will they just live by the ethos I believe they represent which is "Do it our way or not at all"?

Quote "CodePlex allows Microsoft developers to more easily participate in Open Source projects"

That has to be one of the funniest things Ive read today. I wonder, are their any MS employees wanting to contribute to the Wine project? LOL.

Absolute rubbish. Microsoft (IMO) is now finally seeing which way users are going and desperately trying to get in on it for their own ends. Again, this is no different then any company would be expected to act. It's survival, so please will nobody throw the "Microsoft hater" comment. I DO NOT HATE MICROSOFT. I believe the proprietary model is dying for the mainstream software scene and its the model, not the company I think has had its time.

Quote " Simply, I believe that it's in Microsoft's direct interest that the CodePlex foundations becomes a success. "

Why? How can shareholders be satisfied with Microsoft slopping around in open source? Where/how is Microsoft going to get the revenue to pay for its bloated company? I'd love to hear the answer to that one.

Talk about trust? I only need mention Comes V Microsoft as an example. Its at a point now where even the EU has started to step in with its IE idea's...how long before OEM is looked at?

Goblin - http://www.openbytes.wordpress.com

Mark Callaghan said...

Is Microsoft still seeking royalties for the violation of unspecified patents?

Are any of these unspecified patents infringed by MySQL?

Monty said...

Answering to some concerns of Jonbo:

- With important customer I mean big companies that are using a lot of software from Microsoft and thus generating a big revenue (directly or indirectly) stream for Microsoft

- I think you mixed who 'they' are in the quote: "they want the open source product to work as seamlessly and reliable as possible with Microsoft products". I was referring to Microsoft customers here. Most companies are nowadays using a mix of open source and close source products and they require a lot more of interoperability between all products they use. One of the main reasons for Microsoft to founding CodePlex is, as I understand it, to satisfy the requirements of these companies.

The CodePlex Foundation has per say nothing to do with Microsoft patents and how Microsoft is using their patent portfolio (except for code that they donate to the Foundation, for which there will be patent grants); That is a separate unrelated discussion (and I agree important discussion), which we should have in some Microsoft related forum. What is important for this discussion is if the CodePlex foundation will bring something new and important to the Open Source communities. For this, I belive the answer is yes.

Regarding your comment to "CodePlex allows Microsoft developers to more easily participate in Open Source projects".

- I know of developers at Microsoft that would like to be more active in Open Source but has not been able to do that before because of the internal red tape. I agree that it's they are more likely to contribute to project that they are using themselves (PHP, Ruby, Apache, etc...) than to Wine, but I would be very surprised if among the 90,000 Microsoft employees there aren't people that would like to do some work on Wine too because of their own personal reasons. You need to remember that the CodePlex Foundation is only a vehicle and it will in many cases be the Microsoft developers (not the Microsoft cooperation) that decides how it will be used.

- Regarding the question "How can shareholders be satisfied with Microsoft slopping around in open source": By providing products that satisfy their customer requirements, including Open Source products, Microsoft keeps their customers happy and this will create more and upheld old revenue streams to them. My conclusion is still that it's in Microsoft and thus it's shareholders direct interest to work with Open Source and get the benefits that Open Source provides to their customers and users.

- When it comes to trust, your have now two different entities to trust; Microsoft and the CodePlex foundation. Even if you don't have a complete trust in Microsoft, there is no reason for you to not trust the intentions of the CodePlex Foundation. But as always, it's good to live by the old proverb 'Trust but verify'.

Monty said...

Answering Mark Callaghan:

As you know, David Axmark and I have from the start of MySQL been very public about that we don't approve of software patents and we have done our best to work to get them abolished altogether (we have had some success in this in Europa). We will continue to work against software patents (including within the CodePlex Foundation, if needed).

I don't know of Microsoft plans for how to use their patents portfolio in the Open Source space, but this is outside of the scope of the CodePlex foundation (and this blog).

As far as I know, we don't have any infringed patents in MariaDB or MySQL, but with they magnitude of software patents that exist and are continuously filed there is no way to ever be sure.

They only thing we can do is to keep up the fight against patents in every possible forum and over time get the legislators to understand that software patents (at least in their current form) doesn't make any sense; Software patents stops innovation, makes it possible for software giants to kill small software companies and increases prices for all software.

Lightweight said...

If Microsoft really wanted to work with the open source community, they'd support an existing open source community, for example SourceForge or Github rather than insist on creating their own. They created CodePlex so they could retain control.

It's like OOXML - rather than contribute to the existing, established, and already successful industry standard, ODF, they insisted on going their own way. Their goal: to fragment efforts towards a single, supportable standard. It's all about clouding the water, divide and conquer.

For the record, there still isn't an application in the wild that can write any significant document as valid OOXML (not MS Office 2007) - even MS have had to agree that OOXML is too hard to implement (because it's a crappy standard intended to legitimise their idiosyncratic and inconsistent MS Office formats) and have ultimately adopted ODF (but poorly).

I suspect that CodePlex will have a similar fate - the really desirable open source contributors won't be fooled by MS's siren song, and will continue to work independently. I know my colleagues and I will be.

Dave

Jonbo said...

Quote "Most companies are nowadays using a mix of open source and close source products and they require a lot more of interoperability between all products they use."

and thats the whole crux of my argument. If companies are migrating to FOSS alternatives and IF we can agree that Microsoft can make nothing from it (or certainly not at the levels needed to sustain itself) why is Microsoft getting involved? Is the FOSS migration something which Microsoft would champion? of course not, I'm sure Steve Ballmer would like to see everyone 100% MS (hence "our way or not at all")

Quote ".... to satisfy the requirements of these companies."

and Microsoft is happy with this is it? Microsoft has no problems watching its revenue stream be sucked away by FOSS alternatives to its own product line?

Quote "The CodePlex Foundation has per say nothing to do with Microsoft patents "

IMO it has everything to do with it. If Microsoft is to be believed it wants to foster FOSS/Proprietary links, however recent events have shown its also happy to wield its patent portfolio...again "Do it our way or not at all.

I would ask if MS has really become a crusader in the FOSS world, would it not have been better recieved to make a donation to Sourceforge? Again "Its our way or not at all"

Quote "What is important for this discussion is if the CodePlex foundation will bring something new and important to the Open Source communities."

Please explain what this "new" thing is. As I see it, the "barriers" (IMO) that MS has placed in front of developers in respect of standards have been removed by the hard work and contributions of the FOSS community (IMO) Microsoft is only now jumping on board since its seen others can do it better. For a few examples (IMO) look no further than XPM v Wine..

Quote "..people that would like to do some work on Wine too because of their own personal reasons."

and they can, its called using a handle. Are you really expecting people to believe that Microsoft would want their employees doing this?

Quote "You need to remember that the CodePlex Foundation is only a vehicle and it will in many cases be the Microsoft developers (not the Microsoft cooperation) that decides how it will be used."

and I understand that fully, thats not the issue here. Microsoft wants to foster a community which (IMO) has already been created without their "help".

Quote "By providing products that satisfy their customer requirements, including Open Source products, "

Lets not beat about the bush, customer satisfaction will only be a concern to a company when they are using their products, one could argue that the more problems encountered with FOSS, the more likely people would want MS apps again since the Microsoft product range has such massive market penetration.

Quote "it's shareholders direct interest to work with Open Source and get the benefits that Open Source provides to their customers and users."

and you would agree still if Office was boycotted for OpenOffice would you? Windows 7 was boycotted for Linux? Of course not, this makes no sense, its like saying car manufacturers would support you buying a second car of a different brand...MS want you to use their entire product range, its really that simple...

Quote " Even if you don't have a complete trust in Microsoft, there is no reason for you to not trust the intentions of the CodePlex Foundation."

It's not an issue of trust per say, it's more an issue on intent on behalf of Microsoft. What is that? I wouldn't like to say, but whatever Codeplex cares to claim it offers I think you will find the FOSS community has been providing that for a long time on its own. Thats not thanks to Microsoft's latest idea of jumping on board the train, thats down to the hard works of the devs and the community.

Too little, too late Microsoft.

Monty said...

To answer Jonbo second comment:

- One reason Microsoft is getting involved because their customers require that from them. If Microsoft would not get involved, the customer would over time have to distance itself even more from Microsoft, which is not in Microsoft interest.

- It's not only a question about companies migration to FOSS but that companies increasingly uses FOSS combined with closed source products. It's of course in Microsoft's interest to keep migration away from Microsoft Products to a minimum, but that doesn't mean that Microsoft doesn't also have to support and develop Open source products. This is not much difference in that Microsoft have always had a lot of free products that you can use without cost and partners that produces software on Windows for which Microsoft doesn't get any royalties ; Open Source is just the next logical step from this.

- "is Microsoft happy about this"; Probably not, but if they don't participate in Open Source projects they will loose even more. Microsoft has realised that Open Source has come here to stay and they are now trying to do the best of it. It's better to participate than be left on the outside.

- The new thing (for Microsoft and other large software companies) that the CodePlex Foundation brings to the table is that it makes it easier for them to contribute to Open Source project as their lawyers only have to approve one set of participation rules. If you have ever worked in a big public company, you would understand the problems that exists if you want to contribute to Open Source software. This is why the the CodePlex foundation makes it easier for Microsoft to participate in Open Source development..

- Please remember that the Foundation is independent of Microsoft; Microsoft has very little say in how the foundation works and they can't stop it working on projects like Wine. Microsoft may of course not want their employees to work on things like Wine, but over time they will have less and less to say about this. However, as long it ensures that Microsoft products works overall better with Open Source products, I don't think they mind.

- I don't see from where you get "Microsoft wants to foster a community"; This is about Microsoft wanting to be part of developing and participating in Open Source projects with as little risk as possible for it state as a publicly hold company.

- About customer satisfaction: For Microsoft it's crucial that customer has a good experience of running things on Windows, both Open Source and closed source products. The fact is that a lot of people are using Open Source products and are not going to go abandon them for any closed source product (for various reasons). Microsoft is very well aware of this, which is why they have to be more active in Open source development.

- Your analogue with a car manufacturer is halting; Microsoft's most important product is not the car, but the motor (Ie Windows). As long as things works good with the motor they are willing to work with any software company, including Open Source companies, to deliver the best experience to those who are using the final car.

Initially the main thing that the CodePlex Foundation offers is that it makes it easier for companies like Microsoft to participate and donate code to Open Source projects. I think most of us in the Open Source communities agree that this is a good thing and something we should encourage.

And to conclude: I never think it's too late for ANYONE to participate in Open Source development. There is still a lot of software that needs to be developed and we need more help than ever to get things done!

Monty said...

To answer Lightweight:

SourceForge our Github doesn't solve any of the problems that the CodePlex Foundation is solving for Microsoft; Those are code hosting site, while one of the main ideas behind the CodePlex Foundation is to handle ownership of code and related documentation/patents and make these available to different Open Source project.

As far as I know, there is no other organization that does what CodePlex is doing and there is a definite need for it. The intention of the CodePlex Foundation is to work together with the other foundations to both help promote Open Source and the business around Open Source.

There is no risk in getting fooled by MS when it comes to the CodePlex foundation. The main thing most Open Source projects need to consider are if they are going to accept code that comes from the CodePlex Foundation or not. As long as the code is good, it comes with the right license and it makes the project work better, I think it would be stupid to say no to the code.

Jonbo said...

Quote " If Microsoft would not get involved, the customer would over time have to distance itself even more from Microsoft, which is not in Microsoft interest."

No. Since the MS faithful that are well documented on the net like to remind us, Windows/Microsoft product range is better. My point about the salerep training sliding where FUD (IMO) is posted about Linux and incentives to salesreps for completing the Microsoft course is the reason why I believe nothing is in the interest of Microsoft except brand loyalty by the end-user.

Quote "It's not only a question about companies migration to FOSS but that companies increasingly uses FOSS combined with closed source products."

Is that not a migration to FOSS? if a company deploys OpenOffice (even on a Windows platform) is that not a migration? We have much to thank products like Firefox since it is a simple way to be introduced to the benefits of alternatives to MS.
I know of many companies (and even now government bodies - the French Police) who have migrated away from Microsoft to FOSS (please don't take my word for it check the net) is this the "jumping on board" you are talking of by Microsoft?

There are other motives at play here and to suggest that Microsoft would roll over and start playing nice while it watches its revenue stream and cash cows dry up is in my opinion silly.

Quote "This is not much difference in that Microsoft have always had a lot of free products that you can use without cost"

Of course and thats IMO Microsofts attempt at one size fits all and the best way to lock people into your product range...what was the failed ad campaign saying about shoes and the "one size"?
Of course lets not mention the allegation of a "bug" which switched IE6 default search to Bing without the users permission...for those that don't know IE6 is massively popular in enterprise..

Quote "but if they don't participate in Open Source projects they will loose even more. "

Eh? How does that work? If they participate in an open source project and presumably for the betterment of it, does it not then become even more of a competitor to them? Do you think (for example) Microsoft would assist with OpenOffice only to have it destroy more of its own cashcow? of course not.

Quote "codePlex Foundation brings to the table is that it makes it easier for them to contribute to Open Source project as their lawyers only have to approve one set of participation rules."

and I would have thought by seeing the response to MS's contribution to the Kernel, MONO, Moonlight et al that the contribution which Microsoft wants to give is not really welcome (IMO)

Quote "Please remember that the Foundation is independent of Microsoft"

Yes, you keep saying that and lets put aside that the president and vice president are Microsoft employee's...(president has left now) but that still leaves D. Britton Johnston and the treasurer/secretary: Stephanie Davies Boesch...oh and lets not forget Mr De Icaza from Novell and MONO champion.

Quote "I don't see from where you get "Microsoft wants to foster a community"

Sorry I'll make myself clearer: "Do it our way or not at all" its true what you say about MS wanting to be involved in Open Source, but its going to be on their terms or certainly in a way they can influence it...I hope that clears it up.

Quote "customer has a good experience of running things on Windows, both Open Source and closed source products."

Thats obvious, 3rd party apps make good money providing security which in the past MS has not managed to do (IMO), its not so much other proprietary models that MS has a problem with, as in the past we have seen it has the money to deal with them, its the FOSS ethos that is the threat. No control, no lockin, no profit.

Part 2 coming up next - my text is far too long to fit into one post.

Jonbo said...

Quote "Your analogue with a car manufacturer is halting; Microsoft's most important product is not the car, but the motor (Ie Windows)"

Please do not confuse the point, it was to merely highlight the desire a company has to lock you into their products...maybe I should have kept it simpler and used baked beans in my analogy.

Quote "Initially the main thing that the CodePlex Foundation offers is that it makes it easier for companies like Microsoft to participate and donate code to Open Source projects."

I think in regards to this you are missing the point. I think alternatives to MS software have proved we don't need MS code. Remember MS code = Vista, MS code = exploitable systems and most importantly remember the FOSS community/contributions have gotten this far without "donations" from Microsoft....I doesn't matter though, as long as it makes life easier for Microsoft that's all that matters...!?!?

Quote "And to conclude: I never think it's too late for ANYONE to participate in Open Source development."

No? So you don't think Vista, 360, TomTom, Novell, Red Hat or Comes V Microsoft have done it any harm? If that wasn't bad enough, only in the last few days we see slides released from electronic stores showing how it wants salereps to push Windows at the expense of Linux....and you say Microsoft wants to get involved in FOSS and contribute for the betterment of it?

Murat Yener said...

Don't get me wrong I'm not against Microsoft nor a huge fan of them. I appreciate they are trying to do something for the opensource world, which is great. However, there is something they are missing out. 'Open source' is community. Without the proper community support it wont really matter how open you are, since you will be alone on your own. Support comes with believing and I don't really thing most people will choose to believe codeplex while they can have alternatives. Microsoft might be contributing some to open source but the their image doesn't reflect so. Want people believe in you? open source your development platforms, it is not just java even commercial products like Adobe's Flex are opensourced and got huge impact since then, open source the code of a windows which you are not selling or supporting any more. This will make heads turn to you and people to come after you. Else you will be a mesiah on your own, with your own belifs but noone following you.

p.s. really nothing against microsoft, if they don't succeed their rivals wont need to compete, competition is good.

Jonbo said...

Firstly I have two other responses that were not posted. Could you maybe consider moderating them?

Secondly so this is what you meant when you said "Most reactions have been quite positive"

If your blog is representative of the people who actually care then I would say its the opposite of what you claim.

We can go around in circles as to intent behind it, but at the end of the day (like another poster says) if people don't buy into it its all a waste of time open or not...

As I say too little too late. IMO if Microsoft had "played nicely with others" from the start, we might not have what we do today.

Food for thought.

Regards
Goblin