2

Is there a known license where all derivative works must be made public?

Consider this: I give copyleft code to team X. Team X improves code and only shares/uses it internally. This situation is legal because team X is not sharing their derivative works with the world, therefore they are under no obligation to share the derivative code with the world (or even back to me). Please correct me if I'm wrong.

Is there a way to force the recipient to agree that derivative source code must be published somehow?

1
  • 2
    Forcing people to share would stop the software from being Open Source of Free Software, as it opposes the definitions. This is because it can do grate harm. What if your internet connection goes down? What if the people that you share with die (there is now on evidence that you shared it)? What about the time-delay between typing the change, and sharing? What happens if no one else wants your change (you can not force it on them)? Jun 25, 2018 at 17:47

1 Answer 1

7

The AGPL comes close, as it creates copyleft obligations for a person whenever they distribute the software or whenever they offer access to a modified version as a network service. (Normally, this is "private" use under other copyleft licenses.)

I'm not aware of any license that meets your requirements, and I have some concerns about how such a license would work in practice, some of which impact the license's status as FLOSS and others which merely cause tremendous annoyance:

  1. Every keystroke (or surely at least every new line of code) you make in the code may create a new, separate derivative work under copyright law. Must you distribute each and every intermediate work? For sanity's sake, let's assume not: your obligations only apply whenever you make the work available to any other person, even privately.

  2. When you perform distribution (or in the more ridiculous case, make a keystroke in the code), to whom must you offer the code?

    a. To each and every licencor of licensed code you use? In this case, you probably fail the "desert island test" -- you may only prepare or privately distribute the code if you can get in touch with the licencors. Also, this can be annoying if the code has many authors, and you need to get in touch with, e.g., hundreds of authors every time you privately do anything with the code.

    b. To "the public" at large? If so, are my obligations satisfied if I simply post a small sign outside my office building saying, "There's source code in here; come inside and get it if you want"? If not, and you want something broader, that probably also fails the desert island test. If that is enough, see problem #3.

  3. When may you stop offering the code? Distribution-based copyleft licenses limit their obligations to only as long as (or at the same time as) you distribute the object code, but making a modification doesn't involve any other person and happens at a single instant in time. It's not clear how the license should ensure that the code is made available long enough for anyone to get a copy. Do I need to keep the sign up outside my office for any arbitrary amount of time? A year? Forever?

3
  • 3
    And as number 4: under what legal basis can disclosure of the derived work be compelled? Copyright laws generally respect author's (incl. derived work's author's) rights to decide how and if their work is published, assuming the derived work was created with the original author's consent. The GPL already heavily restricts the “how” part in exchange for allowing derived works. A license or contract that restricts the “if” part might encroach too far on derived work's author's rights. Of course highly dependent on jurisdiction, e.g. I think this would require a written contract in Germany.
    – amon
    Jun 23, 2018 at 22:44
  • 1
    Very good points! I see why such a thing doesn't exist. Jun 25, 2018 at 14:51
  • You are not aware of any licence, because any licence would not be approved by the Free Software / Open Source definitions, because of the lack of freedom that you outline in your answer. Jun 25, 2018 at 17:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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