At some point along the road I must’ve become one of these zealous open source nutters, because a debate about the GNU General Public License got stuck in my craw this weekend. The GPL is my license of choice. When you license software under the GPL, you’re saying it’s free for everyone to use, modify, and redistribute as long as everyone makes their modifications free to use, modify and redistribute under the GPL as well. Developer Daniel Jalkut argues that this “share alike” requirement stifles GPL-licensed code adoption by developers who don’t want to (or can’t) GPL their work. Jalkut writes:
GPL communities are open and embracing of other GPL developers, but generally off-putting to liberal-license and closed-license developers. […] Many GPL developers take comfort in the fact that their hard work canâ€™t be quietly taken and incorporated into a commercial product, without any payback of time or money to the original project. But youâ€™re piloting an open source project, and the first step of building a community is to get people in the door. […] If you operate from the presumption that great developers love to build great projects, the first step in any successful open source project is to get as many great developers in the door as possible.
Jalkut’s right about one thing: Great developers do love to build great projects. He may be right about another: Some developers may have to pass on using GPL code because they’re not willing or able to share-alike their changes to it. But the one really attractive part of using the GPL that he’s missing is this: Great developers love to build projects that more people will use. The GPL is my software license of choice because “share and share alike” spreads the impact of my work. What motivates great individual developers isn’t always money, it’s ego.
Using the GPL, I know my time and effort will reverberate down through every iteration of the project. More developers and people will be free to use it and its children, cousins, grandchildren and great-grandchildren. There’s really nothing more satisfying than seeing software you wrote and made free become something better–that’s also free.
GPL-licensed WordPress lead Matt Mullenweg says he believes the GPL is “the most moral of the open source licenses.” He explains:
Itâ€™s user freedom that the GPL was created to protect, just like the Bill of Rights was created to protect the people, not the President. The GPL introduces checks and balances into an incredibly imbalanced power dynamic, that between a developer and his/her productâ€™s users. The only thing the GPL says you canâ€™t do is take away the rights of your users in your work or something derived from a GPL project, that the user rights are unalienable. You are free to do pretty much whatever you want as long as it does not infringe on the freedoms of others. (Sound familiar?)
Of course, this OSS license holy war has been raging for years, and I’m not as well-versed about the differences between the GPL (and all its versions), BSD, Apache, MIT, and other licenses as I should be. That said, based on the knowledge and experience I do have, I’m with Matt. As far as I can see, the GPL does not stifle community. To the contrary, GPL builds it precisely because none of the forks of a GPL-licensed project road are a dead end: everyone can join in, on the same terms, at any point, and contribute to its progress.