4

I am looking for a license that "forces leaks", so to speak. What I mean by that is:

  1. A copyright holder must convey a copy of derivatives works they made using the license to anyone who requests it.
    1. Of course, conveying all derivative works would be crazy, since every time you save a file, you create a "derivative work". Therefore, you only need to convey derivative works that you either used commercially, or conveyed previously (possibly for a reason unrelated to this license), within the last 3 years.
  2. Anytime the copyright holder hires some to make a derivative work in their name, they must permit and require them to notify anyone who asks for the list of copyright holders they have made derivative works under this license for, as well as a way to send them requests in accordance with (1). NDAs that contradict this are incompatible with this license.
  3. Anytime the copyright holder transfers copyright of a derivative work, they must also transfer all of the obligations they have under this license. Additionally, when a request in accordance with (1) is made, they are still responsible for conveying the derivative works for which they previously held copyright.
  4. You must permit previous copyright holders to uphold their obligations in (3).
  5. Probably some other GPL-type requirements as well as closing loopholes I may have missed.

The idea is that it would be nearly impossible for someone to keep a derivative work a secret if it is covered by this license. The reason is that someone just needs to ask one of the programmers how to contact the copyright holder, who then must send them a copy of their derivative works, which they could then publish. The only way to prevent it from leaking is to (1) hide the existence of your company and to (2) hide the existence of all the programmers who worked on it for as long as you want to use it (plus 3 years), which is obviously impossible. Anyone using this license might as well just publish it on their website or whatever, and tell their programmers to refer people to that website.

My question is, does a license like this exist?

3
  • I don't think so, and I think it would violate the Free Software Definition for not giving people the freedom to use the software how they wish. Jan 31, 2019 at 6:02
  • Have you looked at the Affero GPL?
    – Brandin
    Jan 31, 2019 at 7:21
  • @Brandin Yes, but that only helps with network software.
    – PyRulez
    Jan 31, 2019 at 17:14

1 Answer 1

8

Yes, they do exist. For example, versions of the vim editor prior to v6.1 have a licence that required that

If you distribute a modified version of Vim, you are encouraged to send the maintainer a copy, including the source code ... When the maintainer asks for it (in any way) you must make your changes, including source code, available to him.

This caused a fair amount of upset in some parts of the free software community. A post on debian-legal clarified one problem with this model:

If I distribute a modified copy, and lose my copy, and lose track of the person I gave it to, and you come to me and say "I hereby demand that you give me your changes", I will be in violation of the license. The only way I could reliably meet that demand is by keeping a copy myself. How long would I have to keep it? Since the license gives no time limit, I would need to keep it forever--for as long as you could make the demand.

Eventually the issue became known in Debian as the Desert Island test of free software. The FSF regards vim prior to v6.1 as non-free; v6.1 introduced an explicit GPL conversion clause that satisfied their objections.

So: if you were to use such a licence, whether you wrote it yourself or adapted an existing one, your software would be widely considered non-free. In addition, it would be incompatible with lots of existing free software.

As Brandin suggests above, one good halfway house would be to use the AGPL, which requires that anyone who gets a copy of the binary, or even remotely uses the binary, is entitled to ask for a copy of the source. That's about as far as any free licence goes in the direction you're asking about.

11
  • Hmm. I guess a way to make a leak forcing license that passes the test would be a requirement to convey the source code to the programmers, and giving them explicit permission to share it. The only problem with this is that even if they give "permission", bad things could happen to programmers who share it if they do not want the company does not want that to happen.
    – PyRulez
    Jan 31, 2019 at 17:08
  • Do you think such a license would be considered non-free? (Or should I ask a separate question? I would prefer to not have to do that each time I "fix" a loophole, though.)
    – PyRulez
    Jan 31, 2019 at 17:10
  • 1
    The requirement to convey source to persons other than those to whom the binary has been conveyed is the problem. And it is generally better to accept an answer to the question as asked, and to ask a new question with clear pointers to the old one, than to be continually changing the question each time an answer throws up a roadblock. Those latter are referred to round these parts as chameleon questions, and they're not much liked.
    – MadHatter
    Jan 31, 2019 at 17:11
  • Ah, that makes sense. That said, since you need to convey the software to the programmers anyways, wouldn't that still count, or is putting limits of the employment contract a problem as well? (In fact, the GPL actually has a specific clause permitting you to convey it to programmers without them getting it under the license. Would removing that clause cause a problem?)
    – PyRulez
    Jan 31, 2019 at 17:13
  • Who are the programmers in your comment immediately above? I thought they were the authors of the software, in which case, they have it already. If you do wite another question, I recommend being concrete about these things ("Alice writes a piece of software libfoo, which she releases to Bob. Bob pays Carol to add the bar function to libfoo. Alice wants Carol to have the rights to do XYZ. What licence should Alice use?")
    – MadHatter
    Jan 31, 2019 at 17:14

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.