C
Join ServerC#
help
Choosing a license for a software specification
LLPeter19979/10/2022
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?
* 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?
AAngius9/10/2022
Maybe LGPL or MPL?
LLPeter19979/10/2022
Will take a look at these 2
UUUnknown User9/10/2022
Message Not Public
Sign In & Join Server To View
LLPeter19979/10/2022
that's a super definite no
UUUnknown User9/10/2022
Message Not Public
Sign In & Join Server To View
LLPeter19979/10/2022
CC0 puts no restrictions on the licensed material that I've mentioned as goals
UUUnknown User9/10/2022
Message Not Public
Sign In & Join Server To View
LLPeter19979/10/2022
We want to keep those restrictions
LLPeter19979/10/2022
Hence that's a super definite no
UUUnknown User9/10/2022
Message Not Public
Sign In & Join Server To View
LLPeter19979/10/2022
People can freely read the specs
UUUnknown User9/10/2022
Message Not Public
Sign In & Join Server To View
LLPeter19979/10/2022
They don't need to clone and close off the sources of the specs
UUUnknown User9/10/2022
2 Messages Not Public
Sign In & Join Server To View
LLPeter19979/10/2022
These specs are for compiler implementers
UUUnknown User9/10/2022
Message Not Public
Sign In & Join Server To View
LLPeter19979/10/2022
(So us currently)
UUUnknown User9/10/2022
Message Not Public
Sign In & Join Server To View
LLPeter19979/10/2022
And I don't want anyone copying the specs without any consequences
LLPeter19979/10/2022
Hence wanting restriction on the license
LLPeter19979/10/2022
and if I were to want to make my own implementation, the spec being GPL would effectively prevent me from doing thatThat's not true
LLPeter19979/10/2022
Your compiler would have to be GPL simply
LLPeter19979/10/2022
We don't want GPL, we want to be way less restrictive about derivative work
UUUnknown User9/10/2022
Message Not Public
Sign In & Join Server To View
LLPeter19979/10/2022
The idea of Apache v2 came up as well, that's not a horrible choice. Non-copyleft, requires state changes documentation.
LLPeter19979/10/2022
Looked at LGPL, sadly suffers the same from derivative work.
MPL also looks like a solid choice
MPL also looks like a solid choice
UUUnknown User9/10/2022
Message Not Public
Sign In & Join Server To View
LLPeter19979/10/2022
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)
LLPeter19979/10/2022
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
LLPeter19979/10/2022
And I have no intentions to lift this restriction
UUUnknown User9/10/2022
Message Not Public
Sign In & Join Server To View
LLPeter19979/10/2022
We might, with some modifications to the license
LLPeter19979/10/2022
We do want to protect our work
LLPeter19979/10/2022
But again, GPL is a bit too restrictive
LLPeter19979/11/2022
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
LLPeter19979/11/2022
What about MPL then?
LLPeter19979/11/2022
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
Jjcotton429/11/2022
@LPeter1997 GFDL maybe?
Jjcotton429/11/2022
Jjcotton429/11/2022
It's the GPL, but for technical writing
LLPeter19979/12/2022
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 😦