Almost 2 years ago, in How Open Do You Have To Be To Be Open Source? I wrote:
Google and Yahoo! are not rich because they have secrets. They are rich because they started with secrets, but I believe they could safely let their secrets out with very little loss of revenue.
Matt Asay’s recent post Google’s slow transformation into an open, transparent company made me dig up that post, which by many standards is old in terms of time, but it’s only now that some of this change is actually happening.
It remains to be seen what, if anything, Google will actually open, but I trust its track record on living up to its word more than Microsoft’s, which also went through a flurry of “We’re now really open!” announcements lately that actually netted the industry…not much.
In interesting news, at last night’s Boston Sun/MySQL event (more on that in another post), the question was asked if the panel thought that Microsoft was really serious about open sourcing their software(s) and what that would mean for open source software.
I couldn’t wait to jump in with my answer — and even though I had to wait, I did eventually say what was on my mind.
If Microsoft opened all of their code tomorrow, how big of a *developer* community would they have? By that I mean, how many people would say “yeah, all right! I’m going to make this code better!” and how many would take a look at the internals and feel like they’d just been on a roller coaster?
Open source is the foundation of civiliazation. The title of this post mentions that, and now I will explain why.
Civilization occurs because prior work does not need to be repeated. Derivative works allow for more complexity, more specialization. The first took that made this easier by leaps and bounds was language. After that, written language made it easier, and distribution due to the duplication of written language (specifically the printing press) made it even easier. Fast forward a few hundred years, add the internet, and we have our pick of giants on whose shoulders we might stand, as information is disseminated widely, instantly.
In order to actually build upon previous work, the previous work must be understood. Through reverse engineering, closed source software can be mostly understood. However, as “reverse engineering” becomes taboo to say, “design recovery” (or as I prefer, “intelligent design recovery”, as I feel that “design recovery” is as silly a phrase as “intelligent design”) is not as appealing as having the source open to begin with.
After all, if the source is open, it is easier to understand software. And thus, create derivative works that are more complex, perhaps more specialized.
The flip side of this is that it makes the success of open source software more difficult. Open source projects are more prone to being abandoned due to early recognition that the fundamentals are flawed. That early recognition is not often by the developers who write the software, but by the early adopters themselves. Being early adopters, they are not afraid to take risks, and they likely are planning on having to do some code hacking to get the software to their liking. If they are not satisfied when they play around with it, they stop using it before they get too invested in the software.
If Microsoft opened their source, I strongly believe it would bring their demise on faster. Perhaps the only saving grace would be Bill Gates having a reality show “Who Wants To Be Microsoft’s Next Developer?” and in each episode create challenges to have great developers solve existing issues with Microsoft software. Each week one developer gets booted off the show……….perhaps “saving grace” is too strong a term for that concept.
Anyway. There are many discussion points in this post, and I hope you will think about some of them and comment (or post to your own blog).
Open source — the only civilized choice.