Does community based software development violate the GPL? The obvious answer is of course not. But walk with me for a few minutes and you’ll see why I asked the question.
In my conversations with various open source developers, I find a varying degrees of belief as to what constitutes a legitimate open source project. Most people would agree that throwing source code up on sourceforge, github, or some other hosting site does not give the code a right to be called a project. After all, a project should be living or have some evidence of past life. The numbers of abandoned code trees on sourceforge.net alone is staggering (don’t ask me to quote a number that seems to increase like the US national debt). But is the code still open source?
There are many open source licenses; I would agree with those that say there are too many. The Open Source Initiative hosts a widely accepted definition of open source. For my purpose, I will refer to the GNU project’s Software Freedom Definition, paraphrasing the four freedoms here.
- Freedom to run the program.
- Freedom to redistribute the program.
- Freedom to study and modify the program.
- Freedom to improve the program and redistribute your improvements.
According to this definition, every abandoned code tree on sourceforge that is licensed under compatible terms with the GNU software freedom definition or the OSI’s open source definition is open source, and yet there is no activity.
Which leads me to the crux of my opening question. No one debates whether or not code released by an individual under some random license is open source. But what about commercial entities that release their archives? I’ve heard many people mutter in the dark corners about Sun and Open Office. I’m no fan of Sun, but whatever you may think, current OpenOffice releases are under version 3 of the LGPL. Therefore is it by definition open source software. You may not like the community but that does not disqualify the nature of the license.
Once you require participation in a community in order to legitimize code as open source, you have added an additional requirement outside of the GPL as sure as the dreaded three clause BSD license. Can open source software exist without an open development community? Yes. All that is necessary to fulfill the spirit of the GPL or BSD licenses is for one person to release their code so that others can utilize the freedom granted. Can a software development community exist without open source? Yes, but probably only the sense of a holding tea parties or book readings. Both of which can be fun but rarely generate anything useful.
Open source is about the freedom to fork. Community is about the freedom to merge. Please don’t sacrifice one at the expense of the other.
(Originally published on 5/27/2009 on www.plainjoe.org)