9

Given that I've written a program that I want to release as Open Source / Free Software (as defined by the OSI and the FSF), will choosing a copyleft license help me control what others are able to do with my code?

I understand that copyleft requires anyone that forks my program to license their fork under the same license (or at least under a license with the same terms as my license). But will a copyleft license (as opposed to a permissive one) give me control over more then the license they have to use for their fork?

  • This hypothetical folks! I've not written such a program - nor do I plan to, so please don't edit this to imply that this is something I would do. But some people seems to be think that the concept of "copyleft" allows the copyright-owner to exercise some (unspecified) type of control over their code. I only created this question so to get an good and clear answer for future reference. – Free Radical Jul 24 '15 at 11:39
  • Isn't controlling what people will do with your software pretty much the exact opposite of the intent of 'copyleft' licenses? That's the intent of normal copyrights. – reirab Jul 24 '15 at 15:42
  • @reirab copyleft licenses work on normal copyright, just as any other (non-free or non-open) license, just with a specific set of conditions. – Martijn Jul 24 '15 at 16:17
  • @Martijn Right, but I mean that 'copyleft' licenses were intentionally designed to preclude limitations on how the software could be used, which is the opposite of the original intent of copyrights. The name 'copyleft' itself is a play on words to highlight that opposite intent. – reirab Jul 24 '15 at 16:35
  • @reirab I wouldn't go in to the original intent of copyright, and how that relates to software. It's complex, and somewhat off-topic – Martijn Jul 24 '15 at 16:48
12

Any OSI or FSF approved open source license does not allow to put restrictions on who can use the software and for what purpose.

The FSF calls these the essential freedoms 0 and 1:

  • The freedom to run the program as you wish, for any purpose (freedom 0).
  • The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1).

The OSI definition of open source forbids discrimination against groups and field of endeavor. This is incompatible with any restrictions on how the code may be changed:

  1. No Discrimination Against Persons or Groups

The license must not discriminate against any person or group of persons.

  1. 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.

As long as all downstream users comply with your license terms, there is nothing you can do... as long as you still want to call your project rightfully open source.

You can of course release it under a license which is identical to a common copyleft license but includes additional clauses which restrict what people can do with it, but then you can no longer call it open source or free software.

5

No, by using a copyleft license you renounce the rights to control the distribution of your code, and you only force anyone using this code to use and further distribute it on terms provided by the license.

  • While a good start, I think this answer is a bit too brief. It does not make it is clear enough that "terms provided by the license" (in the case of of free/libre license) implies specific freedoms, and since these freedoms stops you from imposing restrictions on downstream users. The copyleft only ensures that these freedoms remain intact in derivative works, but if copyleft is combined with unfree terms, restrictions are possible and may also be passed on. – Free Radical Jul 24 '15 at 13:31
-1

Copyleft per se won't do it. Part of the definition of copyleft is that it grants licensees the ability to use the code for any purpose.

You can get a similar effect by working within the broader category of what Creative Commons calls "ShareAlike" licenses. Arguably the most famous example of this is CC BY-NC-SA, which doesn't allow the licensed work to be used for commercial purposes, and requires someone making derivative works to share alike. But licenses that restrict how the code is used are not copyleft.

  • Actually, I think the CC's ShareAlike is a CopyLeft clause, and so do the FSF (who coined the term). But the NonCommercial clause is incompatible with this license being classified as free/libre. So CC BY-NC-SA is an unfree CopyLeft license. CC uses the term "Free Culture" for its free licenses (CC BY - free and non-CopyLeft and CC BY-SA - free and CopyLeft). – Free Radical Jul 24 '15 at 13:02
  • 1
    Copyleft really only concerns the concept of redistribution: you distribute under same or equivalent terms as the original. – Zizouz212 Jul 24 '15 at 13:04
  • @FreeRadical: When the FSF was drafting a CC_REL version of GPL3, they saw a need to make a number of extensions to the language. Among them was the creation of a distinct "Copyleft" requirement, even though a "ShareAlike" requirement already existed, and Creative Commons incorporated this into the language itself. The implication is that the people who came up with these two terms consider them different enough that they need to be mentioned separately. – The Spooniest Jul 24 '15 at 13:09
  • Nevertheless, working with a CC "ShareAlike" (SA) license such as CC BY-SA will not allow you to impose NonCommercial (NC) restrictions on derivative works. Is clearly the "NC" part of the license that allows you to impose this restriction, not the SA part. I could (in theory) take GPLv3 and copy all of, including the CopyLeft language, and add an extra section with NC restrictions. It would no longer be GPLv3, and it would be non-free, but it would still be copyleft. – Free Radical Jul 24 '15 at 13:17
  • Does "Copyleft" in this sense mean "ShareAlike" plus availability in a preferred form for making modifications? – Damian Yerrick Jul 24 '15 at 15:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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