I want to address again the issue of our software license, why I think we should abandon the GNU (A)GPL and discuss about possible solutions. This is very very important and will have many implications in the future, so please take the time to read and debate! Licensing is crystallizing questions around a vision on the software, and here I expose mine.
Reminder: what is Open Source/Free Software?
According to the FSF definition:
The fundamental difference between a Free Software and an Open Source Software is the obligation to publish the source code if the modifications are released in binaries. Consequences for Free Software: when the code is Free, it remains Free, thus all improvements come back to the community. Open Source code can on the contrary be modified and integrated in proprietary softwares.Free software is a matter of the users' freedom to run, copy, distribute, study, change and improve the software. More precisely, it refers to four kinds of freedom, for the users of the software:
1. The freedom to run the program, for any purpose (freedom 0).
2. The freedom to study how the program works, and adapt it to your needs (freedom 1). Access to the source code is a precondition for this.
3. The freedom to redistribute copies so you can help your neighbour (freedom 2).
4. The freedom to improve the program, and release your improvements to the public, so that the whole community benefits (freedom 3). Access to the source code is a precondition for this.
A program is free software if users have all of these freedoms.
More info on this excellent introduction.
At Gephi we made the choice of Free Software two years ago, and released Gephi 0.6 in GNU GPLv3. A subtle update were made when we released the Gephi 0.7 Toolkit to strengthen the protection when the code is used on servers, so we moved to GNU AGPLv3. The objective at this time was clearly to protect the work and force third parties to contact us for business questions...which almost never arrived. But that was a good choice to let us focus on the first vision: build a generic software for students and researchers who have to explore networks and create cartographies.
The right question
I am not an ideologist, so apart from the Free Software philosophy, I focus on pragmatism to take part on the leadership of the project. I notice two facts:
- Efficient development is only possible when someone has a full-time work on the project. It implies a correct salary, so the ability for the community at large to hire. That was the case for Mathieu and I ; that's why we were so fast.
- The GNU xGPL doesn't offer in practice the possibility to create industrial value, not because of the restrictions themselves but because it's too expensive for companies to get it evaluated by lawyers. There is barely no "employability" outside research for our developers to work on Gephi itself.
At Gephi we have chosen the second option from the beginning. I claim that the software is not a goal by itself, but a way to do great things in research, industry, society...or in life. I claim that it should help contributors and users to:
- improve their skills,
- generate carrier opportunities,
- and make money to get a life.
So what's the problem with Free Software, which aims to protect such common goods?
The GPL trap
The answer is simple: over-protectionism at a global scale.
We saw in the first section that the GNU xGPL limits the possibilities to make use of the source code by the contributors themselves. For instance, one can create and sell a Gephi plug-in but it must be in GPL or LGPL, and publish the source code. For very specific applications it is just stupid, compared to the time spent in development and the proportion of people/companies who'd just compile the source code for free. This system doesn't encourage innovation for niche markets, which is...everything else to do when you already have a generic platform.
Another case is to build a whole specific application on top on Gephi Platform. Currently you should release everything in GNU xGPL and publish your code. This system makes serious restrictions on your freedom to create value the way you want. Everybody can find a case when staying in GPL doesn't hurt, okay. But in most cases, such specific projects would just be trashed because of no solution on the market to make it live, or it'd be too much risky.
The principle to keep all contributions inside the Free Software ecosystem seems good in general. However it is locally inapplicable as soon as a software becomes an extensible platform like Gephi 0.7, because we introduced there the distinction between "generic" and "specific" contributions. Is called "generic" a contribution that can be useful for everybody, thus should make the common good grow up. Is called "specific" a contribution related to a job or a service not targeted by the platform. No obligation should exist to keep it inside the community's common good.
To sum up, I think that the Free Software paradigm is paradoxically not made for communities but for individual hackers. It is "freedom for softwares". I want "freedom for developers".
Towards a manifesto on open platforms
I have introduced in the previous section how to see the platform's basecode as a "local common good", focused on the community's interest, on the contrary to a global common good. Now this is a first attempt to write a manifesto for the development of open platforms:
- Respect the freedom of individuals, so do not force people to be Free/Libre if they don't want to follow the ideology of the FSF.
- Focus on the common good defined with the community.
- Let the initiative for the community to create specific plug-ins and applications.
- Facilitate economic value creation without discrimination on its nature or usage.
- Keep legal stuff simple. You want to pay developers, not lawyers.
This manifesto is very close to the Open Source definition proposed by the Open Source Initiative ("OSI"):
That's why I propose to choose an Open Source license like the New BSD.1. No royalty or other fee imposed upon redistribution.
2. Availability of the source code.
3. Right to create modifications and derivative works.
4. May require modified versions to be distributed as the original version plus patches.
5. No discrimination against persons or groups.
6. No discrimination against fields of endeavour.
7. All rights granted must flow through to/with redistributed versions.
8. The license applies to the program as a whole and each of its components.
9. The license must not restrict other software, thus permitting the distribution of open source and closed source software together.
It will ensure a complete exploitation of the platform with a low barrier to entry for business relationships. Note that the community can fork the Gephi project at any time and then choose its license if they don't agree on that.
Our structural model for the Gephi community
The Gephi project has historically been led by a core of three people: Mathieu Bastian, Mathieu Jacomy and me. We created a not-for-profit organization in 2008 to support its development and see this legal entity protect the intellectual property rights. As largely explained in the announcement, the Gephi Consortium is an evolution of the NGO to accept worldwide memberships and lead the project more closely to the community's needs. This is a political place, in a sens that members elect the management office, vote for the budget and future plans for the platform.
The Consortium will enable partnerships opportunities and job offerings for the developers and users of Gephi, and will ensure the sustainability of the project.
Please consider to join!
I met Richard Stallman, founder of the FSF and creator of the GNU GPL, two days ago in Paris when he gave a speech on "Copyright vs communities". I tried to engage a debate on this problem with GNU GPL, in particular on the freedom to combine Free and closed source as long as the positive externalities help a Free Software project to grow up.
He barely let me ask my question, and just refused to reply:
He also said that he prefers to see a project dead instead of not being a Free Software. I let you conclude how pragmatic and respectful his position is.I don't want to have this discussion with you. And I will stop to talk with you because I don't want to help you on this goal.
But at Gephi we are open to the dialog, so here is when you take your keyboard and say what you think
I'm aware that I exposed my point of view too much so this debate will be biased...but changes always start with a shout!