My primary motivation for asking this question is this uservoice suggestion. Jeff declined the ticket to make the SO software open source saying that it will take more time.
I've seen this before in various other pieces of software that have gone from proprietary to open source. So, my question is: why does it seem to take so long to make software open source? To me, it seems pretty simple: put your code on sourceforge and google code and be done with it. But there's obviously something that I'm missing in the whole process.
(And before anyone gets the impression that I'm trying to be critical of Jeff or anyone else that delays open sourcing their software, I'm not. I just want to get an understanding of the process for open sourcing stuff and its costs.)
The main answer to your question has been given by others - getting the legal permission to do so (see the SO blog entry on Reverse Engineering the WMD Editor for an SO-related problem child) is often extremely difficult, even impossible.
So, my question is: why does it seem to take so long to make software open source? To me, it seems pretty simple: put your code on Sourceforge and Google Code and be done with it. But there's obviously something that I'm missing in the whole process.
What you describe - dumping the source - is not really Open Source. It is more akin to either AbandonWare or perhaps 'Available Source'. An Open Source project needs to accept inputs from outside, and build a community. One of the criteria that the Apache Software Foundation uses for its incubator projects is "has it acquired a critical mass of contributors from outside the original authors?". This is a valid concern.
Note that neither AbandonWare nor 'Available Source' is necessarily bad; both make code available that would otherwise not be available (and provide some of the benefits of Open Source). But there is more to Open Source than that.
Also, there is management overhead in handling a truly Open Source project. That is not negligible.
And, finally, it is not unheard of for the code quality to be such that the authors would rather not make the source available for fear of ridicule. I doubt if that applies in this case, but it can in other areas of the software world.
Usually it requires all contributors to agree, for some projects that means you have to ask quite a few people if its ok to open their code too.
For other projects, it requires the libraries you've used to be either open source, or taken out of the project where you've used them. IIRC Sun said they couldn't open Java for so long because they used some 3rd party code that couldn't be opened.
Opening the source could be good or bad. In the best case, they only benefit from contributions from the community, retaining creative control. In the worst case, the project could fork, and two differing codebases are not usually beneficial to the community.
In SO's case, they may be worried that if enough people are impatient, then opening the source too early is inviting a fork of the project as other developers implement their "pet" features more quickly (or differently) than SO. Maybe those people really want features that have been declined.
Forking also brings in the aspect of competition that Shawn mentioned. Perhaps much later when SO has a more well-established community, opening the source would be more acceptable as SO would have a head start on any potential competition.
The conservative thing to do is to wait a bit before making a decision, rather than opening now and hoping for the best.
EDIT: Note that even in the best case, they are taking on the added role of managing an open-source project and dealing with whomever wants to contribute. The "herding cats" methaphor comes to mind, they may want to focus on the codebase right now rather than administrative overhead.
The reasons are:
Regarding the first question, note that you may be using third-party code, so you have to go through all your code making sure you have the right to make it all open-source.
In second place, it requires the project owner to want to open-source the project. In some cases, he/she may think it's not worth it.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With