As of yesterday (2013-07-10) identi.ca is running pump.io. Congratulations to Evan. Try out pump.io on another site run by Evan (identi.ca isn’t accepting new registrations) or install on your own. Report issues, send pull requests.
There are several trend-ish things that are topical here, highlighted as differences between StatusNet and pump.io:
StatusNet was licensed AGPL (strongest copyleft), pump.io Apache 2.0 (modern permissive) under the rationale that pump.io needs to gain the widest possible adoption, in competition with legacy silos. The Franklin Street Statement encourages developers to:
Use the GNU Affero GPL, a license designed specifically for network service software, to ensure that users of services have the ability to examine the source or implement their own service.
But, considering network effects, this is not strategic for some kinds of software, as the FSF’s guide to choosing a license has long said:
The second [case where copyleft is not appropriate] is projects that implement free standards that are competing against proprietary standards, such as Ogg Vorbis (which competes against MP3 audio) and WebM (which competes against MPEG-4 video). For these projects, widespread use of the code is vital for advancing the cause of free software, and does more good than a copyleft on the project’s code would do.
In these special situations where copyleft is not appropriate, we recommend the Apache License 2.0. This is a permissive, non-protective software license that has terms to prevent contributors and distributors from suing for patent infringement. This doesn’t make the software immune to threats from patents, but it does prevent patent holders from setting up a “bait and switch” where they release the software under free terms, but require recipients to agree to royalties or other nonfree terms in a patent license.
Will anyone write applications on top of pump.io, or that implement its API, licensed AGPL? GNU MediaGolin, an AGPL’d media sharing web application, is rumored to have someone working on the latter.
There are probably two “trends” of note here. First, among the people explicitly thinking of free-as-in-freedom network services, there’s probably a greater appreciation of the challenge of network effects than there was several years ago. Or as I’ve been saying the last couple, “the greatest threat [to freedom] is obscurity, not proprietary versions” (cf “the greatest threat to artists is obscurity, not piracy”, when “we” are giving unsolicited advice to legacy culture industries).
Second, and much more widely noted, is the preference of (supposedly young, but I’m doubtful) web developers for permissive licenses. If true, this would make a permissive license all the more necessary to establish a standard, and hopefully contribute to non-obscurity among developers.
All posts on identi.ca while it was running StatusNet were released under CC-BY. There is no default license for posts on identi.ca now, ie “all restrictions remain”. The rationale for this is that pump.io supports messages limited to groups (identi.ca only supported public, and one-recipient direct messages, though the latter weren’t regularly used), and a public license would not be appropriate for private messages. I say the two are orthogonal, and it is too bad to see them conflated, but admittedly it is very easy to do, maybe easier than explaining the difference. The Franklin Street Statement avoids the issue with:
Data available to all users of the service should be available under terms approved for Free Cultural Works or Open Knowledge.
Arguably this does not facilitate taking all one’s interactions with one. But “social” may be a field in which we should act as if knowing about copyright is already like knowing about East German passports, ie ignore all copyright and related restrictions (while adhering to orthogonal privacy norms and regulations).
StatusNet used the hosted version gitorious, which is free software, pump.io uses the hosted (only?) version of github, which is not. In this case, developers are users, and the Franklin Street Statement says:
When deciding whether to use a network service, look for services that follow the guidelines listed above, so that, when necessary, they still have the freedom to modify or replicate the service without losing their own data.
- the power of network effects even when the “protocol” (git) is distributed,
- longstanding complaints about the UX of FLOSS,
- paucity of completely distributed end user applications (again think of git as a “protocol” here); in theory bugs should live in git, and there are experiments along those lines, but for now people love github’s centralized issue tracker, and there are many analogues to this situation, and
- paucity of competitive free software services (which at this point may require a significant organization to provide, in tension with the next point).
Your own computer
Before the above quote about what kind of services to look for, the Franklin Street Statement says not to use services:
Consider carefully whether to use software on someone else’s computer at all. Where it is possible, they should use Free Software equivalents that run on their own computer. Services may have substantial benefits, but they represent a loss of control for users and introduce several problems of freedom.
It also says:
Develop software that can replace centralized services and data storage with distributed software and data deployment, giving control back to users.
pump.io is pushing both of these, relative to StatusNet:
- Federation works differently, and better, in my limited experience so far
- Evan is doing his part to prevent a dominant instance of pump.io (not allowing new registrations on identi.ca, and providing several alternatives)
- pump.io is leaner in multiple respects, making it more feasible to deploy and manage on a tiny server
- Evan is apparently looking to promote lots of tiny pump.io installations with a crowdfunded hardware project
I think services running on other people’s computers are going to be extremely important for a long time, but anything that makes it more feasible for many more people to control their own hardware directly is good.