I’ve been researching licenses for a few days for a software project I’ve been working on that I’d like to add a license to.
I’m looking for a fairly restrictive software license that allows access to the source code, although you could only read it, really. Something like the Creative Commons BY-NC-ND v4.0 license would be perfect, but CC is not for software.
Here’s what I’m looking for in a pre-written license:
- End user is free to share and redistribute the source code (and/or binaries)
Under the following conditions:
- End user must provide appropriate attribution, and a link to the license (in any reasonable manner, so long as it does not suggest I endorse their use).
- End user must not use the software for commercial purposes.
- End user must not share or redistribute the software (source or binary) if they modify the source.
Please post a comment if you need any more info.
8
There is no such open source license. In fact, there cannot possibly be such an open source license, since your terms violate several of the fundamental principles of open source, and thus any license which includes your terms is by definition not an open source license.
In particular, your proposed terms violate clauses 3 and 6 of the Open Source Definition:
3. Derived Works
The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.
Rationale: The mere ability to read source isn’t enough to support independent peer review and rapid evolutionary selection. For rapid evolution to happen, people need to be able to experiment with and redistribute modifications.
6. No Discrimination Against Fields of Endeavor
The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.
Rationale: The major intention of this clause is to prohibit license traps that prevent open source from being used commercially. We want commercial users to join our community, not feel excluded from it.
It also violates freedoms 0 and 3 of the Free Software Definition:
- The freedom to run the program as you wish, for any purpose (freedom 0).
- The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.
In short: what you are asking for is impossible. You can’t find such an open source license, nor can you write one yourself, since your terms are fundamentally incompatible with the very foundations of open source.
1
It’s going to be awfully hard to enforce 🙂
However, what you have written would seem to me to be a perfectly good thing to put into a license conditions file and/or something prominent where your s/w can be downloaded.
In the end what it comes down to is:
-
Do you want to be simple and clear (which you have done) and POSSIBLY have something slip through the net?
-
Or do you want to come over all lawyer-ish, and spend ages trying to find something and/or polish what you have with lots of legalese and additional clauses which probably adds little value (esp. seeing as you have little chance of enforcement).
Re enforcement: The most you would ever realistically be able to do would be a name-and-shame, and even that’s unlikely to be very effective.
2