The Nuances of the Everyblock Sale to MSNBC
Posted by chanders on August 18, 2009
[note: much of the insight into this post came from Gabriella Coleman and the commenters on her blog. I think that one of the major developments in journalism has already been, and will continue to be, the integration of journalism and computer programming (indeed, see http://www.holovaty.com/writing/fundamental-change/ for a perfect example) and I'm hoping to build my next big research project on these types of questions. For journalists who are interested in this topic, I'd recommend regular reading Biella's blog and the blog Hacker Visions. I'd also rec' the book Two Bits, by Christopher Kelty, which you can read for free here.]
Yesterday, a big piece of news hit the “future-of-journalism community”– Everyblock, a “microlocal” news project started by web developer and former online newspaper employee Adrian Holovaty, had been purchased by msnbc.com for an undisclosed sum (speculation and rumors ran somewhere in the low 7 6-figures). Everyblock began as a 2-year funded project of the Knight News Challenge, and when its funding period expired, Holovaty was openly musing on what the next steps in the project would be, and how it could be sustained without the grant. (This is a big question facing nearly all the grant-supported journalism projects that have emerged in the last two years.) So the purchase of Everyblock looked like a win-win-win all around; the project could go on, it would “infect” the wider news ecosystem with its forward thinking energy; the creators would receive a monetary reward for their work. And best of all, the original code of Everyblock, under the terms of the Knight Challenge Grant, was available to the world because it was required to be open source.
The only sticking point– perhaps only to me, though I saw that Brian Boyer and a few other folks on Twitter mention things along similar lines– was that all future versions of the code (including versions compiled by the developers after June 30 before the msnbc.com sale) were not required to be open. In fact, as was made clear in an interview with Paid Content on the day of the sale:
The future of the code: EveryBlock’s platform is open source, meaning it can potentially be replicated by competing sites. But Holovaty and Tillinghast say that others will only have access to the code as it existed on June 30—when it was initially released—meaning MSNBC.com will likely have an edge over any competitors. “What happens after that we’re not obligated to make that open source,” Holovaty says, adding that so far only a handful of sites have actually adopted the code.
As I tweeted earlier in the day, this seemed like something of a reappropriation of “common work” by “capital” (two loaded terms, but hey, whats Twitter for?)– in which grant money was basically used to fund the beta development of a piece of software that was (once it was far enough along) bought-up and locked-up by a very large media and software company. Of course, this happens all the time in the digital world, but it seemed contradictory to Knight’s original goals of making the code open source in the first place; or so I assumed, knowing nothing at all about what Knight really wanted.
As I started investigating what was legal and what was ethical surrounding the Everyblock sale, I once again realized how little journalists (and most communications professors) know about the world of Free and Open-Source Software (and how little, in some ways, the residents of that world know about journalism). There’s a lot that journalists, coders, and (in particular) foundations like Knight can learn from this, the first big acquisition of a Challenge project by “big media.”
The gist is this: Under the terms of their initial GPL, Holovaty and the other developers can do whatever they want with their code (after fulfilling the Knight requirement) because they hold copyright. There’s additional nuance brought about by the fact that Everyblock is a web service and not and piece of “software” per se. The is a difference– and thus some confusion to me– between a “BSD” license and a GPL license (confusion because Knight required Everyblock to be released under GPL v 3.o. This initial requirement also raises the question– to me– about how closely Everyblock is following the spirit, if not the letter, of the original Knight grant by allowing MSNBC to claim proprietary rights over future versions Everblock). I also learned that not everyone in the “Free and Open Source Software” community agrees with everyone else, and some people probably wont agree with anything I’ve just said. There’s even a debate (a big one) about the difference between “Free” and “Open” software.
Thats the gist. If you want to get into details, click below. Also below, I dispense some unasked for advice to the Knight Foundation about how they can signal their code intentions more clearly going forward.
One more thing: What would I like to see? I’d like to see all future versions of code devloped under the Knight grant remain open, whoever buys them. I think this is an ethical use of Knight grant money — and a good business strategy as well.
Point One: The difference between free and open source matters. Unless it doesn’t.
There isn’t just a debate about whether it is better to have “free” or “open source” software, there’s a debate about whether its worthwhile to even have a debate. As Wikipedia summarizes:
‘F/OSS’ is an inclusive term generally synonymous with both free software and open source software which describe similar development models, but with differing cultures and philosophies. ‘Free software’ focuses on the philosophical freedoms it gives to users and ‘open source’ focuses on the perceived strengths of its peer-to-peer development model. Many people relate to both aspects and so ‘F/OSS’ is a term that can be used without particular bias towards either camp.
Richard Stallman has written eloquent, and frequent, essays on the differences that he sees between the two cultures, and you can get a flavor of them here. Keep in mind, though, that he’s writing for a particular perspective (one that thinks that a. there’s a difference, and b. that free is better. Its a perspective I agree with, I think, but everyone certainly does not.)
Point Two: A bigger difference exists between a GPL liscense and a permissive free software license, of which a “BSD” license is one example.
Simplifying greatly, the foundational plank of the GPL license is that all future versions of the software, or whatever, have to be as (if not more) free than the current version (by free meaning, as the saying goes, not “free as in beer but free as in freedom.” Under a BSD license, “any copies and derivatives of the source code created under permissive licenses may be made available on terms that are more restrictive than those of the original license.” In other words, they can be forked and rendered proprietary. There are old and new debates about this here, here, here, and here.
The only reason why this matters for the current debate is that, since the Everyblock code was eventually forked and (apparently) closed by msnbc.com, it might have made more sense to just release the code under a”permissive free” rather than a GPL license; at the very least, it would have given a clearer signal about the intentions behind the developers and the Knight foundation– i.e., that the code was ultimately intended for business use and would probably be closed. All that said, though, Knight was writing fairly passionately about the value of “open source” as it rolled out its calls for Challenge entries, so its unclear about what they actually wanted from their licenses– or whether they really new what they wanted in the first place. All of this said, there are two more big complexities that deserved to be spelled out.
3. AGPL vs GPL: What’s a “web service” and why does it matter?
There’s a possibility that none of this may matter at all, that, since Everyblock is (may be?) technically a web service and not a piece of software, there’s a “GPL loophole.” As James Vasile writes on his blog:
Since Everyblock is a web service, msnbc.com can use it on its own servers and never distribute it at all. GPLv3 only protects access to source code when software is distributed. Merely running the code doesn’t trigger any obligations, which means that msnbc.com can improve the code on its own and never share it with anybody.
These caveats raise two important considerations. If you are going to contribute to a project that is a web service, insist on a better license than GPLv3. Use the Affero GPL, Version 3 or later.
The differences between the AGPL and the GPL are spelled out in more detail here.
4. The rights of the intellectual property holder (or holders!) trump all.
The license, whichever one it is, is not a restriction on the copyright holder of the software; its the terms by which the owner of the intellectual property licenses all subsequent uses. This is how the Knight Grant describes the intellectual property terms under which the journalism code is created:
Do I hold the intellectual property rights for my idea?
Yes. The applicant holds the intellectual property rights, subject to Knight Foundation’s requirement that the intellectual property be shared with the world. By entering the contest you agree to share those rights with the world in line with open-source, open-standard philosophy. Once you submit your idea, others will be able to comment on it. They will be also be able to share it with their friends and rate it.
They are freely giving you their wisdom, and by doing that, they are agreeing to let you incorporate their ideas into your project. If you win, however, under the open-source rules you’ll have to share your software code and other know-how with everyone.
Aside from that restriction (which is tied to the grant) the software developer can do whatever he or she wants. And although Stallman and the partisans of the GPL argue that developing unfree software is unethical under pretty much any circumstance, its also pretty clear that not everyone agrees.
One interesting discussion thread at Gabriella Coleman’s blog revolved around how, in the case of many GPL liscensed pieces of software, the copyright holder problem is avoided (or rendered less pressing) by the fact that there are multiple copyright holders.
This post has gone on for much to long, so I want to stop here and get to what all this means for the future of the Knight Challenge grant– which to me is the actually important question. I always tried to say in my tweets on this subject that I’ve got no problem with– and am very impressed by and happy for Adrian Holovaty and the Everyblock team. I do think, however, that Knight has got some thinking to do as it ponders what its notion of “open source” means in the context of its grant. As a layman, when I have been reading about the Knight licenses I have always thought– “this is great! not only will the original code be open but all derivations and future versions of it will too because it has such a strong GPL!” Obviously this is not the case, but it seems to me its partly a signaling problem.
So, what could Knight do?
- Hold the copyright themselves, or deposit it with the Free Software Foundation, thus assuring — ironically — that the software remains truly free forever. This seems fairly extreme, however, though I understand that it is at least occasionally done.
- Require that the code be released under an AGPL rather than a GPL. This would not solve every issue, though it would be a statement about what Knight hopes will happen to its funded projects.
- Release the code under a BSD, not a GPL. Again, this would not restrict the CR holder, but it would once again be a signal of intent.
- Append a statement to the grant description, giving Knights’ general philosophy on how they want their funded projects to be used after the grant period is over. Again, not binding, but a signal.
As the Journalism Program Director Gary Kebbel wrote in the Knight blog:
the grant agreement only requires that fully functional code be released at the end of the grant period, which it was on June 30. EveryBlock.com is not required to release future updates. You raise an important point about what Knight Foundation might think about when structuring future grant agreements that require code releases.
So, it seems to me like they are still figuring this out. What would I like to see? I’d like to see all future versions of code devloped under the Knight grant remain open, whoever buys them. I think this is an ethical use of Knight grant money — and a good business strategy as well.