C
C#•2y ago
LPeter1997

Choosing a license for a software specification

We are writing a specification for a programming language and we'd like to pick a license for the specs (not the compiler). There are two major goals we want to achieve: * The specs should stay free forever * It should be impossible for anyone to close off the sources to the specification This almost yells GPL, but since we are targeting a platform where there is a huge potential for languages to interop, we don't want such an invasive license. If another compiler team wants to do anything related to something they have to read our specs for, they are technically doing derivative work, which forces GPL on them, which we'd like to avoid. While it's desirable to enforce same license when forking the specs itself, this case is wildly different and we wouldn't like to enforce that. What would be the recommendations for our situation?
26 Replies
Angius
Angius•2y ago
Maybe LGPL or MPL?
LPeter1997
LPeter1997•2y ago
Will take a look at these 2
Up
Up•2y ago
honestly I'd go CC0
LPeter1997
LPeter1997•2y ago
that's a super definite no
Up
Up•2y ago
why
LPeter1997
LPeter1997•2y ago
CC0 puts no restrictions on the licensed material that I've mentioned as goals
Up
Up•2y ago
correct
LPeter1997
LPeter1997•2y ago
We want to keep those restrictions Hence that's a super definite no
Up
Up•2y ago
still the best thing to use for specifications, imho. what you want is adoption, and people to be able to use your lang freely.
LPeter1997
LPeter1997•2y ago
People can freely read the specs
Up
Up•2y ago
no.
LPeter1997
LPeter1997•2y ago
They don't need to clone and close off the sources of the specs
Up
Up•2y ago
I mean.. they couldn't anyway, since they don't control your repo? not with any GPL family license, they cannot
LPeter1997
LPeter1997•2y ago
These specs are for compiler implementers
Up
Up•2y ago
yes
LPeter1997
LPeter1997•2y ago
(So us currently)
Up
Up•2y ago
and if I were to want to make my own implementation, the spec being GPL would effectively prevent me from doing that
LPeter1997
LPeter1997•2y ago
And I don't want anyone copying the specs without any consequences Hence wanting restriction on the license
and if I were to want to make my own implementation, the spec being GPL would effectively prevent me from doing that
That's not true Your compiler would have to be GPL simply We don't want GPL, we want to be way less restrictive about derivative work
Up
Up•2y ago
ok, so, given your original goals, CC0 still is a pretty good choice
LPeter1997
LPeter1997•2y ago
The idea of Apache v2 came up as well, that's not a horrible choice. Non-copyleft, requires state changes documentation. Looked at LGPL, sadly suffers the same from derivative work. MPL also looks like a solid choice
Up
Up•2y ago
It should be impossible for anyone to close off the sources to the specification
so.. just leave your repo up indefinitely. again, others don't control your own repo. and with a permissive license that allows redistribution, people can make their own backup copies of it, incase yours is taken down.
The specs should stay free forever
publish your version as CC0, encourage people to redistribute it. if you have enough adoption, it'll be impossible to shut that down again. --- YES, people would be able to make their own derivative specs, and have them be proprietary. but these would NOT be the same as your specs, anyway, so why do you care?
LPeter1997
LPeter1997•2y ago
so.. just leave your repo up indefinitely. again, others don't control your own repo.
If you don't want to understand what I mean, sure 😛 (but just to be clear, I'd prefer people not creating closed-source derivatives of the specs)
YES, people would be able to make their own derivative specs, and have them be proprietary. but these would NOT be the same as your specs, anyway, so why do you care?
Because if others want to base their work off of ours, we want certain things in return. Pretty simple. The price you pay for taking our work is accepting the conditions of our license And I have no intentions to lift this restriction
Up
Up•2y ago
so you do want GPL then RikoShrug
LPeter1997
LPeter1997•2y ago
We might, with some modifications to the license We do want to protect our work But again, GPL is a bit too restrictive Preferably all copies should be publicly available, modifications should at least document changes. Ideally, all other specs that copied this one and then modified it should be public and other kinds of derivative work should be less restricted (to allow for the scenario in the OP), but that's really hard to properly specify in a license I think What about MPL then? My law jargon knowledge is horrific, but to me it seems like it's same license that contains one-to-one copy of MPL code or one that is copied then modified
jcotton42
jcotton42•2y ago
@LPeter1997 GFDL maybe? https://www.gnu.org/licenses/fdl-1.3.html It's the GPL, but for technical writing
LPeter1997
LPeter1997•2y ago
Sadly that suffers from the same limitations as GPL in general. After a lot of discussion and headaches, so far it looks like we'll go with Apache v2 😦