FAQ What is the license for this project? Why not license X which would be better to achieve goal Y?

0 views
Skip to first unread message

Davide Del Vento

unread,
Apr 5, 2011, 4:29:16 PM4/5/11
to slipstream-proteus-developers
What is the license for this project? (at present github source code
does not have any LICENSE file)
Why not license X which would be better to achieve goal Y?

Where X and Y could be any of the following:

X=AGPLv3, Y=be sure nobody will hide it behind a webserver and not
share their changes
X=GPLv3, Y=be sure that people will share their changes without
TiVoization and patent risks
X=GPLv2, Y=be sure that people will share their changes (and keep
Apple in the game)
X=BSD, Y=be sure to involve as many companies as possible

(and I'm sure many others)

Davide Del Vento

unread,
Apr 5, 2011, 10:40:10 PM4/5/11
to slipstream-proteus-developers
Proteus is Free Software. Free as in freedom. Everybody agrees that
freedom in software is important. In particular, it's important to
have

- The freedom to run the program for any purpose.
- The freedom to study how the program works, and change it to make it
do what you wish.
- The freedom to redistribute copies so you can help your neighbor.
- The freedom to improve the program, and release your improvements
(and modified versions in general) to the public, so that the whole
community benefits.

However, there are some practical and philosophical differences, which
can be summarized in "how much the freedom should be mandatory". In a
nutshell, the answer of this question define the license of choice
(there are some smaller details). At one edge of the spectrum, there
is the AGPLv3, which states "freedom must be as mandatory as
possible". In fact, AGPLv3-licensed code mandates that every
modification to the code must be made available under the very same
license to anybody who uses the software, even if they use it on a
remote machine, not on their own. At the other edge of the spectrum,
there is the new BSD license, which does not mandate anything. In
fact, a BSD-licensed code can be made proprietary! BSD license
proponents like this fifth freedom: "The freedom to make modifications
and keep them proprietary". So in this sense the BSD is "more free"
than the various GPLs or other copylefted licenses. The practical
differences of this philosophical view of should-freedom-be-mandatory
is the way in which companies may engage if free software. Many
companies don't like too much "mandatory freedom, so usually people
who want to engage companies prefer BSD,

We like copyleft, and that drove our license choice. So are we keeping
companies out of proteus and slipstream? We don't think so, and we
believe it doesn't depend on the license.

In fact, there is an important point here: proteus has two sides. One
side is the specifications of the language. The other side is its
implementation. At the time of this writing, things are still a little
fluid and they are still influencing each other. At one point in
future, specifications will be kind-of-set-in-stone (we will likely
have further evolutions, but from that point probably we will require
backwards compatibility). So, other implementations may appear. A
company who would like to run proteus, but doesn't like our license,
can write its own code under the license it likes, possibly even
proprietary. The license of our choice, in fact, applies only to our
own (reference) implementation. I don't think a license can be applied
to specifications, only patents (but beware, IANAL!) and even if it
can, I don't think we plan to (Bruce, please correct me if I'm wrong)

Bruce Long

unread,
Apr 6, 2011, 12:30:36 AM4/6/11
to slipstream-proteus-developers
There are a lot of issues when it comes to choosing a license. We could wax philosophical about how to determine solutions to this problem in general and then apply that to our current situation but I don't think that level of analysis is necessary (though it would be fun!)  Also, we are talking about the source code to the Proteus Core and the Slipstream engine here. I think the thornier issues will be with regard to the models people create in Proteus. If there were not a threat that patent or copyright laws could be used against their original intent to stifle innovation a license wouldn't be needed at all. We could simply declare the code public domain. The problem is that code in the public domain can be used as a blunt tool to restrict the original authors.

When the time comes to think about how to manage rights to models developed by people all over the world we can talk about interests and trust and side-taking and zero-sum games and current laws, etc. But for the Proteus and Slipstream Engine code the problem is simpler. The two concerns I see are 1) People should get credit for having worked on the code and 2) People should be able to use it in any way they please as long as they don't somehow coerce the legal system into un-freeing it.

The first concern, that programmers should get credit for their work, is partly resolved by using gitHub or other services that keep track of who contributed and what they did. This doesn't really solve the heart of the issue because the real contribution was the concept as much as the code. I find it likely that public and private conversations, emails, papers etc. that I have written have contributed to some current technologies in which I did not receive credit. But the credit issue is minor for me. After all, many of the ideas I have had were based on someone else's ideas. Furthermore, my primary motivation is that I want to live in a world where this technology exists in a way that encourages solving conflicts through empathy not legislation, force or trickery. So I'm satisfied with using gitHub or a similar technology to track who did what. If you are not, say something about it.

The second concern is that placing the code into the public domain would allow powers to twist the legal system such that I/we can no longer work on our own program. It's sad that this would be a concern. It's my hope that someday, perhaps with the aid of modeled knowledge, we will live in a world where there are enough physical and emotional resources available that people are unlikely to feel the need to enforce a zero-sum game. I should say that I am no angel myself; I live this world too. I feel the lure of using my code to "get rich." It feels like getting rich would calm the panic that can occur from being responsible for the little lives I've been entrusted with. I know that in the long run it will be easier for me to be a provider in a world where interpersonal connection is easy and trusted.

At any rate, I have chosen to use GPL3 as a license. For awhile I would like to retain the right to negotiate alternate terms with Apple or whoever. In the long run (2-3 years) I hope that there will be enough users and alternate implementations that it will be safe to release the code into the public domain. As for people working on the code I ask that I have those two rights for a limited time. If that's a problem, we can talk about it. Also, if there is an argument that we should use another license by all means, present it.

We should probably start a conversation with FSF and EFF. There are likely insights they can provide that we would never have thought of.

Bruce
--
Give me immortality or give me death!
Reply all
Reply to author
Forward
0 new messages