The Effects of “Share Alike”

July 6, 2009

GNU GPL 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.

Hi Gina – thanks for chiming in on this discussion.

I think you’re right that many developers “do it for the ego dividends.” I can see contributing only to GPL projects makes it easier to monitor and assess the reach of your. If you are patient enough and have a good enough search engine, you can probably scour the web for all instances of your code that have been forked off into the GPL projects of the world.

But when you release your code as GPL-only, you also guarantee that it will never make its way into those closed-source projects where acknowledgement can also be very gratifying. I imagine it’s extremely gratifying for example to Richard Hipp, author of SQLite, that his code is running on practically every computer and every smart phone device on the planet. The far reach of his code was not hindered, and I would argue it was helped, by its liberal license.

We run the risk of comparing apples to oranges here, because clearly there are both hypotheticals and case studies that prove the widespread adoptability of both GPL and liberal-licensed projects. My gut feeling is that code which may be embraced by anybody, anywhere, for closed and open source projects, will ultimately have a wider impact on the world, and therefore provide a more gratifying ego boost.

There’s also another angle to this which I think plays importantly on the ego/gratification front. Because of their compatibility with closed-source commercial products, liberally licensed code is more likely to make its way into products that everyday people, our friends and family, are likely to have used or have heard of. Linux is an immensely successful GPL operating system that runs countless servers and some consumer devices. But FreeBSD, the liberally-licensed step-cousin, is the basis for not only Mac OS X but for the iPhone’s operating system. Any FreeBSD developer who tries to convey the significance of their work to a “civilian” user may point to these examples and instantly reap the ego rewards of that understanding.

Running on a Mac? In Safari? Take a look in the Help -> Acknowledgements page. Many of Apple’s applications have a credits page like this where the liberally licensed projects that are built into the application are credited. Imagine how gratifying it would be to ask your friend, who questioned what you do for a living, to simply look in one of their favorite applications’ about boxes for a demonstration of your reach.

Good code that is GPL licensed is virtually guaranteed to reach far and wide WITHIN the GPL community. But it has virtually no chance of impacting the greater developer and user community, which is why I maintain that liberal licenses are better for promoting your code and reaping the ego rewards that come from that.

danielpunkass [+1]
Jul 6 09 at 1:34 pm

For me, it’s not a religious issue. I don’t really see the problem with having an number of different open source licenses (or commercial licenses). I think that content creators should be free license their content however they choose.

Each of the common open source licenses has it’s own provisions, limitations, and exclusions, the effects of which are felt by the communities that grow around software projects. Those communities are self-selecting, and if members feel too restricted, they’re likely to turn their effort to a more liberally licensed alternative.

It’s important to choose the right license for the right project. There are legitimate reasons that Linux is staying GPLv2 and not moving to 3, and there are good reasons why another project might use another license entirely.

Mike Cerm [+21]
Jul 6 09 at 2:30 pm

@danielpunkass: Hey, cool, thanks for stopping by. You know, your argument is super-compelling, and I’m still thinking about how I feel about it. Point taken about GPL code staying mainly within the GPL community, and the additional reach that commercial products can offer. Of course, more commercial products *could* and likely will involve GPL code (like this here blogging engine we’re using to debate this).

The part that I can’t swallow about licensing my own code “more liberally” is the idea that it would wind up in a proprietary, closed product. I’m typing this on a Mac, but, ya know, just last week Apple sent me a takedown notice for violating their IP by writing about Snow Leopard. I don’t want my code involved in that kind of crap at any point.

Either way, thanks for kicking off what’s been an educational and thought-provoking discussion for me.

Gina Trapani [+195]
Jul 6 09 at 3:16 pm

Gina, yeah you’re sort of lucky if you have a strong gut feeling or instinct about where you want your code to go. It takes a lot of the practical considerations off the table and lets you steer with your heart. Nothing wrong with that :)

danielpunkass [+1]
Jul 6 09 at 3:34 pm

I’ve always puzzled over whether the NC (in the Creative Commons license) violates the spirit of GPL… I read over and over the discussion at http://creativecommons.org/weblog/entry/9557

One “commercial copying” of the software, of course, is transmission by the ISP. Another is for indexing by GoOgle. How do we finally define NC. Tricky. For my inability to decide, I’ve left my website as BY-SA

Albo Fossa
Jul 6 09 at 3:56 pm

The problem with using GPL is that it is a parasitic license, everything it touches also has to be released under the same license. This can be very constricting and actually hinder the development and adoption of open source software. Look at the issue with ZFS and Linux, for example. Sun’s fantastic ZFS file system is still not yet incorporated into the Linux kernel because their licenses won’t mesh with one another despite both being open source.

I suppose a software license along the lines of the Creative Commons attribution-noncommercial-share alike license would be the way to go to get your software to see the widest adoption without running into someone making money off of your work.

ZLoether [+17]
Jul 6 09 at 6:48 pm

@Albo: Yes, this is a sticky wicket. My understanding is that NC depends upon how you interpret commercial. Is commercial scraping content and showing it on a web site that runs Adsense ads? I guess it is in the purest sense, but that’s not how I’d define commercial, and I wouldn’t go after anyone doing that with my content here at the site.

As for whether or not NC defies the GPL, are you wondering if you’re violating WordPress’ GPL by using the NC license? I thought the GPL license applies to the PHP code of WordPress, not its HTML output.

Gina Trapani [+195]
Jul 6 09 at 6:49 pm

@Gina: I think that scraping content and showing it on a website with AdSense is certainly commercial. That’s exactly what NC is supposed to protect against; the wholesale scraping all your content for for-profit display somewhere else. Honestly, how would that be any different from a commercial print mag reprinting a post as article, and placing ads around it?

However, the Creative Commons license makes no attempt to curtail fair use. Since taking snippets and quotations for various purposes is protected by fair use, regardless of how you license your content, there are certain ways it can be used by others. This certainly would does not extend to to a commercial reproduction-in-full, be it in a newspaper or elsewhere on the web.

Mike Cerm [+21]
Jul 6 09 at 10:38 pm

Gina,
though I prefer BSD/MIT/Apache licenses I’m cool with the GPL. Except the “viral” clause. I just find it pretty lame that I lose my choice of how I’d like to license my own code the instant I use a GPL library somewhere. I’ll strongly consider just writing my own instead. There is, of course, the LGPL for this exact purpose, but RMS and the FSF advocate that their supporters use the GPL even for libraries. That’s what chaps me about the GPL.

One might also consider that programmers need to eat and pay rent, but the options for making a living off of GPL software are limited. The dual-license strategy, as used by MySQL, for example, leads to community contributions being sold as proprietary software by Sun/Oracle. So where’s the benefit over a liberal license?

Anyway, as an end user, I don’t care too much. But I am one of the ones you’re shutting out if you license a freakin’ library under the GPL.

kallistec.com/
Jul 7 09 at 7:05 am

I haven’t figured out, yet, what constitutes “fair use”. I think that’s still in the courts. I see articles in EFF and Techdirt about it now and then (about the PHP and other server-side stuff, not just the client-side HTML, @Gina, to answer your question.)

I suppose “fair use” is “snippets”. How LARGE is a snippet. How many lines? Is fifteen lines a snippet, but sixteen lines a violation? Is scraping all but one line a “snippet” but all lines a violation?

How picayune do we get? If I use an essential *four-line* CSS style technique developed by Dan Cederholm, without accreditation, and publish it as my own, for profit, is it a violation of NC? Are these valid questions?

Does NC mean the copier can’t really Share it with Accreditation requiring that the recipient Share it Alike even though the copier makes a Commercial profit?

@Mike: Re: scraping content and running ads around it. The question is how much content and how–that’s the issue of fair use. Google “scrapes” content from every web site and displays excerpts of it in its search results, with ads wrapped around it. Lifehacker and countless other blogs excerpt articles and often run ads around that (and the commentary). That is indeed fair use, and there’s a big difference between an excerpt and a full post. Agreed. There’s tons of shades of gray around this. AFAIK, it’s not totally legally defined. (Yet?)

I talked to an EFF lawyer about it at length this past March, and he said that it’s up to the CC publisher to define what NC means to him/her, that there is no hard-and-fast legal definition. To me, taking a photograph I CC-licensed as NC and using it in an ad campaign, for example, like that girl whose Flickr photo showed up on an AT&T billboard that appeared around the world–that’s commercial to me. But a blog who’s running Adsense, syndicating a post or two of mine, not so much. At least, not enough for me to go after them. :)

Gina Trapani [+195]
Jul 7 09 at 12:17 pm

Of course, the other side of this coin will be, we have to submit to intense scrutiny of all our online transmissions to make it work: http://is.gd/1rfwL

The thing that appeals to me about the GPL more than any other feature, is not *exactly* the community, or the “freedom,” that it creates, but the way in which the GPL license __equalizes power__ between: users, programmers, and distributors of software. The GPL–espically in cases where the actual copy right is owned by all of the contributors (rather than pooled copyrights like mySQL and GNU project stuff) means that everyone comes to the software on an equal footing and ideally all of their positions and opinions are received on the basis of their merit and efforts. That’s pretty cool.

While I think the world of Daniel Jalkut and his software, and generally agree that he’s right IF the goal of writing software is the proliferation of actual code; I’m not sure that the open source/free software movement is really about creating successful software as measured by the size of an installed base.

I think it’s more about equalizing the power between developers/users/vendors/etc. it’s more about creating communities, and about pooling resources, and establishing a new mode of relating to software and technology as a whole.

tychoish.com/
Jul 18 09 at 10:56 am


Comments are closed. Thanks for reading!