Very interesting set of conversations this morning at the O’Reilly Executive Briefing.
His basic response was that “We will continue to release as much as we can, when it makes sense.”
Two reasons why it might not make sense came up:
- The functionality the code offers is so tied to your services as to not be useful to outside folks
- The codebase isn’t mature or professional quality enough – not “ready” to be released
For example, he said “we want to make sure that when we release something it is something of value, and something that the community can use.”
The Mozilla approach, as I suppose one would expect, is entirely different: release everything.
We don’t provide a tightly controlled API we let people access a lot. If you write an extension, it is as though you were writing code in the browser itself.
What we did was we gave people possibility.
What you get with source access is a very rich, and sometimes messy, set of points of contact with the overall platform.
I wish O’Reilly had gone further down the path of this question. Rather than deciding on behalf of the community which pieces they are likely to find valuable, Firefox takes the approach of allowing the community to determine what is valuable. Rather than waiting for code to be “mature” to release it, they let the community help make it mature.
It’s the difference between a platform designed to be extensible – which really means developers can write applications to run on our platform, as in Facebook, and designing a platform to be an open platform for anyone to do anything.
Is the difference just that the Mozilla foundation is a non-profit community, and Facebook a for-profit company?