1

I like permissive style licenses (e.g. BSD3) and dislike copyleft ones (e.g. GPL).

I want to develop some OSS permissively, but I want to prevent people from forking it and relicensing it with copyleft. What good candidate licenses exist that satisfy this requirement?

3
  • 4
    You want to allow a proprietary fork but not a copy-left one? Why? Feb 24 at 6:51
  • @planetmaker I work in private industries. I want my code usable in workplaces without forcing their code bases to become public. I object to GPL style licenses on principle. Feb 24 at 11:24
  • No-one can change the license on your code. The only thing which can happen is that someone adds their changes which they don't want used behind paywalls. Feb 24 at 13:00

2 Answers 2

10

You're asking for a permissive licence that requires derivatives to be under the same permissive licence.

There is a term for licences that grant the same rights as permissive licences, excepting the right to distribute under additional terms - and that term is "copyleft licence". I think it's important to realise this: the principal thing that distinguishes copyleft licences (as a class) from permissive licences (as a class) is the requirement to redistribute under the same licence. All the other stuff, eg about source availability, is just stuff to give practical meaning to the requirement to redistribute under the same licence.

So I don't think you're going to find what you seek. I acknowledge ruben2020's clever hack regarding Apache1.1, but I would contend that the "poison pill" naming restriction that prevents redistribution under GPL also makes the licence (strictly) non-free, for all that the FSF says otherwise, it being a restriction on freedom 4 (the modified redistribution right) by restricting naming.

3
  • Oh ok. I conflated copyleft with all the other baggage that comes with GPL. Good to know. I think what I'm really after is allowing derivative works to release their products without forcing them to make their code public. Feb 24 at 11:27
  • 2
    Well, that's what you'd be doing by using BSD or MIT, so I think you want a little more than that: you also want to block the ability of authors of derivative works to release their products in a manner that would force their downstream derivatives to release their source code. Is that not right?
    – MadHatter
    Feb 24 at 11:50
  • Yes you are correct, that's my intent. Feb 24 at 12:33
3

The Apache License 1.1 is a good choice to meet your requirements.

It's a free and permissive license, and it has the following condition which is not unreasonable:

  1. Products derived from this software may not be called "Apache", nor may "Apache" appear in their name, without prior written permission of the Apache Software Foundation.

However, the above clause renders it incompatible to be re-licensed under or included as part of software licensed under any license in the GPL family. You can find it listed in the GPL license incompatibility list.

Apache License, Version 1.1

This is a permissive non-copyleft free software license. It has a few requirements that render it incompatible with the GNU GPL, such as strong prohibitions on the use of Apache-related names.

The reason for this incompatibility is that the GPLv3 and other licenses in this family of licenses contain a condition similar to:

You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License.

However, using Apache License 1.1 will not cause your software to become incompatible with other copyleft licenses such as Mozilla Public License 2.0 or Eclipse Public License 2.0, which are weak copyleft licenses anyway.

Using this method is generally not recommended, as it will make your software incompatible to be used by GPL or LGPL or AGPL-licensed software, as a library. But if your software is a standalone application and not meant to be used as a library, then it may not matter.

1
  • 2
    This is however a very fine line. While S5 of Apache-1.1 may be just over on one side of the line because it disallows all use of “Apache” in names, S7 of A/L/GPL-3 does allow very similar additional terms regarding trademarks.
    – amon
    Feb 24 at 12:06

Not the answer you're looking for? Browse other questions tagged or ask your own question.