Consider the following case:

  1. I write some code and place it online under License X.
  2. A researcher, or group of researchers, makes changes to the code and publishes a scientific paper based on the results obtained.
    • They used the code they modified (based on my code) to obtain the results, but make available neither binaries nor modified source code.¹

What license would be appropriate to ensure they are forced to release the modified version of the software?

Note a key difference from the general practice of releasing binaries without source code, is that in this case there may be no binaries available at all but only published results based on modified software.

  • I was looking into either the MPL-2.0 or the EUPL-1.2. They appear to be a middle ground between GPLv3 and MIT. Would these work, any major differences between the two one should be aware of? (one difference appears to be regarding something called state changes I ask about in this other question)
  • There seems to be some politics surrounding GPL. I don't know if this is true but was looking to staying away from these just in case.


¹ Usually when the code is not available they provide it on request, so this is more of a theoretical question.

  • 2
    Here is a GPL FAQ item about how this is legal impossibly in general: gnu.org/licenses/gpl-faq.en.html#GPLOutput -- There may also be a very close duplicate elsewhere on this site (about academic use requiring source disclosure), but I don't have time to look at the moment.
    – apsillers
    May 3, 2019 at 17:30
  • @apsillers – That answers my question.
    – Daniel
    May 4, 2019 at 14:55

1 Answer 1


This question seems to me to sit at the intersection of two sets of community norms: the scientific community's reproducibility and openness requirements, and the free software community's licensing requirements (the four freedoms).

I'm familiar with the scientific community's desire for reproducibility, and note with happiness your footnote that suggests that most scientists will, on request, part with the code they used. However, there is no free software licence that will require this. We have considered similar issues here previously, and a licence that requires re-distribution of modified versions is considered un-free by many. The Gnu GPL is very clear that it does not require redistribution of modified versions.

The FSF note that the EUPL1.2 is a copyleft license much like the GPL, save that it permits relicensing to certain other licences, some of which are weaker than the EUPL, and so does not provide the copyleft protections that the GPL does.

I'm not sure there's politics around the GPL per se. It's more that free licences lie on a spectrum from the almost-completely-unrestrictive (like CC0) to the strong-copyleft (like the GPL). Some prefer to use licences at one end of the spectrum to achieve one set of ends, and some prefer licences at the other to achieve a similar-but-different set of ends. While some of each group disagree very publicly, lots of highly-respected free software is distributed and widely used under the GPL, and lots of equally-respected free software is distributed and used under non-copyleft free licences. For most people, most of the time, this causes no issues.

My personal feeling is that you would do best with a strong copyleft licence, such as the GPL. As I have noted, you can't compel the release of modified versions of your software with any free software licence. But given the scientific tradition of release-on-demand you have noted, a strong copyleft licence will require that the modified version is itself released under strong copyleft, thus giving downstream users access to the modified sources. It will also prevent them in turn from taking any released sources and turning them into a proprietary product.

Your Answer

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

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