-1

I would like to release my software under stronger copyleft than GPL (and AGPL), namely I would like to impose the burden of releasing sources of any derivative work, even the work intended for internal usage only, when such derivative work has a definite and non-test-related usage.

This would basically count as more restrictive version of AGPL (which does this to the extent of webserver code), while I would like to cover also this example cases:

  1. Derivative work of my code is used in research projects to produce artifacts (e.g. plots of some measurements derived using such code). Then I want that the derivative work must be released under the same license, and made available to the public.

  2. A company wants to use parts of the software in a tool for internal usage (only to be used by employees and never by external users, so that would not qualify under AGPL terms), then the license requires the company to publicly release the source code of the derivative work.

But crucially temporary modification of the code for testing purposes or until the derivative work has not fulfilled its intended usage (e.g. the research plots have not yet been published or the internal usage tool is in pre-alpha stage) can remain closed-source.

I would like to know if there exists a license with such requirements, and if not whether it would be sensible in my use case to add clauses to GPLv3.

7
  • 2
    Have you read Extend GPL to be informed in case of derivative work? Does it answer your question (at least as to why you can't do this with a free licence)?
    – MadHatter
    May 21 at 9:33
  • Well my use case is a bit different I think: I would require that the source code is released, not that other authors of derivative work do send it to me. In a certain sense I'm trying to extends GPL in the same way the AGPL does, but I'd like to cover more cases (not just SaaS). Basically if the software I've written is useful to you in the sense that allows you to archieve something of interest (writing a scientific paper or an internal tool for your company), you have to provide copies of the source code along with your results, though I'm not sure how this would cover the tool case.
    – trenta3
    May 21 at 9:43
  • @MadHatter In the same way that GPL protects redistribution of the software and AGPL protects interaction with the software via ethernet I would like that distribution of artifacts created using the sofware has to be accompained by software source code. Does this qualify as limiting or restricting usage of the software?
    – trenta3
    May 21 at 9:55
  • 1
    Then released to whom? If it's not the rightsholder, then one can satisfy this putative licence of yours by releasing to a trusted friend, who'll simply confirm the code was released to them, and do nothing further with it. As for your second comment, it looks like you want the licence to be extended to cover the output of the software. Is that right?
    – MadHatter
    May 21 at 9:56
  • 1
    Another closely-related Q&A to consider: Force derivative works to be public
    – apsillers
    May 21 at 14:24
5

Different licensors have different intensions. But licensors issuing Open Source licenses are generally trying to maximize Software Freedom. Copyleft licenses try to maximize Software Freedom by ensuring that every recipient or user of the software has full rights e.g. to share this software further and to modify it. Modification requires access to the source code, though. Overbearing source disclosure requirements jeopardize these freedoms.

GPLv3 connects the source code obligation to conveyance of the software. AGPL also requires an offer for source code when the user interacts remotely over a network with a modified copy. The Cryptographic Autonomy License goes further, requiring such an offer to anyone who the work was made perceptible to, if this would otherwise violate the licensor's IP.

However, all these licenses are enforceable because they are rooted in copyright law. If I copy a software, I need a license of the copyright holder. They can attach conditions to that license, or also refuse it. The copyright holder can't prevent me (on the basis of copyright) from doing stuff that isn't covered by copyright, such as writing a review of the software or publishing the output of the software. To do that, we'd need a contract such as an EULA. Creating such a contract in an enforcible manner while still allowing modified versions to be freely shared is an extremely difficult problem. In any case, using such a contract to restrict what the user can do instead of permitting what would be otherwise prohibited by copyright would likely violate the principles of Software Freedom or Open Source, e.g. compare OSD #6.

Such clauses would also have practical problems. If I publish a paper that includes a diagram created by a software, and the licensing of this software requires me to publish the software, a big question is: how. Clearly, I can't include the software's source code in the paper or in the diagram. I could publish it for some duration at some URL that is listed on the paper, but this won't guarantee that this URL would be accessible later, or that the original author's of the software which I modified would learn about these modifications.

If the license were to require notification or publication, this could also fail some tests established in the Debian community for open source/free software licenses. In the Desert Island Test, we have to consider whether someone can comply with the license if they don't have internet. In the Chinese Dissident Test, we have to consider that publication of the fact that someone is working on politically sensitive software could lead to repression.

So in summary, I don't know of an Open Source/Free Software license that satisfies your requirements, and I have severe doubts whether such a license could exist.

5
  • Thank you for the very informative reply. I now understand better the scope of Free Software, as well as the desert island test. It still seems to me that nothing would prevent inserting a clause that protects the output obtained with such software. In fact, I see no difference in the example of a published paper with a diagram created by the software wrt the typical example of distributing a program executable code on one site and inserting a link to github for the source code: the two effectively reside in different websites and different physical machines...
    – trenta3
    May 21 at 16:02
  • I will open a more precise and informed question that only deals with the requirement to release source code whenever a part of the program output is shared with a third person. This should basically cover my requirements and also does pass the desert island test, and moreover does not impose any restrictions in usability.
    – trenta3
    May 21 at 16:04
  • @trenta3 Glad I could help! The issue with the output of the program is that the output is usually not covered by the program's copyright! If you can't use copyright, you would need a different legal power to place enforceable conditions on the use of this output. That could be a contract, but contract law differs wildly between jurisdictions. Open source licenses don't just have to work in a particular country, but internationally, and for the next 100 years or so (copyright is often life of author + 70 years).
    – amon
    May 21 at 16:45
  • The copyright holder can prevent you from publishing the output of the software if that's a condition of you being allowed to use the software in the first place, which you aren't allowed to do without permission from the copyright holder. "You may use this software as long as you do X..."
    – user253751
    Jun 29 at 10:02
  • @user253751 Yes, the copyright holder could make me sign such a contract as a condition for receiving a copy of their software. Without such a contract there cannot be conditions on the output, since copyright in the software does not extend to creative works created with help of the software. But my answer argues that even if there is such a contract, it will not be Open Source, and it will be difficult to write a contract that imposes effective conditions as required by OP but also makes compliance realistically possible.
    – amon
    Jun 29 at 10:12
0

I think it is very unlikely such a license would have any legal traction. Copyright, on which software licenses are based, has mostly to do with copying/distributing the work, internal use is not distribution.

And nobody in their right mind would license that way, just to get subjected to the firehose of "I changed line 427 to see if...", "Oops, rewriting lines 442 through 493 to quell our compiler warnings bombs out with...".

And I, for one, would steer well way from such software. What is I can't comply with the reporting requirement because the 'net is down here today? The licensor dropped off the 'net for good?

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.