Is there a way to make sure that modifications to free software are released even when no binaries of modified code are conveyed? Though it may sound odd and from what I understand, e.g., GPL requires to distribute source only if binary is conveyed to other parties thus making it possible for unlimited private use as it does not fall into propagation.

I would like to make sure that if someone publishes a final finding in a scientific literature derived with the aim of a modified code, then those modifications are made available.

Does any well-known license have these provisions? If not, why would it be bad? From what I understand if I add those provisions explicitly, it would limit the freedom, e.g., rendering result non-GPLish.

From one of the answers that disappeared, I guess I can add an Additional Term but would not it be a further restriction that can be simply ignored

If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term.

From what I understand it looks like it depends on how I state it. If I require to make private modification used to derived a result that was published to make available, then it would be okay, otherwise it would be a further restriction if I prohibit from privately using and not making modified code available.


A implements a super duper algorithm but they is bad with BLAS and it takes a long time for the simulation. B claims that they refined the code using CUDA or whatever and can easily get results within second. Based on their work they found this and that from simulations and got it published. And that is it. No GPL violation and no better code for community.

Another example

Imagine if some animation studio took Blender, implemented an improved version of Cycles that allows them to render things way faster and with less problems. So now they have an advantage as they can deliver animations to clients faster. No software conveyance, no GPL violation, no improvements sharing.

  • 2
    I'm pretty sure that no matter how you phrase it, this would turn into a "further restriction". Simply because I'm restricted from executing the exact scenario that you explained in your last paragraph. The current GPL allows it, changing that is "a restriction". – Joachim Sauer Apr 17 '13 at 9:09

I'm no lawyer, but this seems quite difficult. Let's begin at the GPL FAQ on program output. The particular question is not exactly what you ask in your question, but the answer is perfectly relevant:

Is there some way that I can GPL the output people get from use of my program? For example, if my program is used to develop hardware designs, can I require that these designs must be free?

In general this is legally impossible; copyright law does not give you any say in the use of the output people make from their data using your program. If the user uses your program to enter or convert his own data, the copyright on the output belongs to him, not you. More generally, when a program translates its input into some other form, the copyright status of the output inherits that of the input it was generated from.

So the only way you have a say in the use of the output is if substantial parts of the output are copied (more or less) from text in your program. For instance, part of the output of Bison (see above) would be covered by the GNU GPL, if we had not made an exception in this specific case.

So, it varies from domain to domain, but generally, you cannot impose conditions on the output of software using only a license on that software itself. Instead, you'll need to force the user to enter into a contract with you that imposes restrictions on future works that they create using your software, even if those works are not direct derivatives of your software. I'm not sure of the legal intricacies involves there (so talk to a lawyer), but I know that, personally, if I wanted to use software that required an agreement to allow someone else to control creative works that I'd not yet created, I'd stay far away from that software.

Note that the Affero GPL handles a small subset of this case: when no binary is transferred but the program is used over a network, each user must be given access to the source.


The simplest way is to modify one of the major licenses (eg GPL) to do that. I took a quick glance at it and very little discusses conveyed works. The modifications would be few. I'd advise getting skilled help on the legal language though. Here's a few ideas for you:

  1. Pay a lawyer to do it.
  2. Pay less to a top notch college law student (who already knows contracts) to do it.
  3. Pay less to someone who knows contracts in and out, often handling them professionally, but isn't an expensive lawyer.

For the non-lawyers, you might give them incentive of buying them a really good lunch and/or mentioning it's an unusual thing they might like. Modifying the number one FOSS license is probably more interesting than the average homework assignment for many law students. ;)

  • The GPL itself claims to be protected by copyright, so unless the lawyer / law student thinks they have a solid argument that it's ineligible, they might be reluctant to create an unauthorised derived work. – Peter Taylor Apr 17 '13 at 9:28
  • 1
    @PeterTaylor: From the FSF's GPL FAQ: "You can legally use the GPL terms (possibly modified) in another license provided that you call your license by another name and do not include the GPL preamble, and provided you modify the instructions-for-use at the end enough to make it clearly different in wording and not mention GNU (though the actual procedure you describe may be similar)." – apsillers Apr 17 '13 at 12:08
  • It's questionable whether a copyright license is capable of having these requirements; a license cannot impose restrictions on the software, merely waive restrictions imposed by copyright law. If you could modify the software and publish the output of the modified version without any license, no copyright license can keep you from doing it. And the GPL isn't a contract at all; to make a contract, you'd have to force users to accept the contract before they could get the software. Basically, you really need to ask an actual lawyer, not a law student or someone with just contract experience. – cpast May 5 '15 at 1:17

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.