I'm a PhD candidate and part of my research project involves writing scientific software. I use that code to verify theoretical results and also as a proof of feasibility. It is usually not necessary for me to publish the source code, however I'd prefer to do so.

In order to do that, I'm looking for an open source software license that:

  • Allows free use to verify and reproduce my published results
  • Grants me co-authorship, if somebody uses my code for scientific publications
  • If possible I would prefer a strong copyleft

This follows the standards for scientific authorship by the German research association (see):

Authors of an original scientific publication shall be all those, and only those,who have made significant contributions to the conception of studies or experiments, to the generation, analysis and interpretation of the data, and to preparing the manuscript, and who have consented to its publication, thereby assuming responsibility for it.

So far I only found proprietary software with a license like that (see).
Is there any standard open software license out there doing this?

Update

I am aware that this a critical issue both regarding FLOSS licenses as well as scientific standards. The software in mind is able to generate almost immediately publishable results.
My reason for the co-authorship clause is only to protect myself (and my PhD) from somebody taking away the low hanging fruit after me publishing the source code.
So far, my (current) best solution for this issue seems to be to

  1. Publish the uncritical parts of the software at the The Journal of Open Source Software

  2. Add the remaining parts step by step accompanied by a separate publication and linking to the Joss paper and the updated version of the Code.

I'll also add friendly reminder in the readme and the gui that co authorship may be reasonable, depending on the softwares part in the publication.

closed as off-topic by ArtOfCode Oct 15 at 18:54

  • This question does not appear to relate to open source, within the scope defined in the help center.
If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    Why do you think that you're a co-author of a research paper because someone uses your software? If I write a really good paper and someone cites it, I don't become a co-author of their paper. If I use Microsoft Excel in my research, Microsoft doesn't become a co-author of my paper. – Greg Schmit Oct 15 at 14:49
  • I'm voting to close this question as off-topic because any license matching these criteria would not be a FLOSS license, which is therefore off-topic for this site. – ArtOfCode Oct 15 at 18:54
  • @ArtOfCode I now see that you are right! However, that in itself is the answer to my question, as I was interested in any FLOSS license offering this. I consider it a good idea to keep the post visible. It might be helpful to others with similar considerations. – Smudoxo Oct 16 at 11:08
up vote 10 down vote accepted

No common open source license grants co-authorship, in fact such a license could be incompatible with the Open Source Definition or the Free Software Definition.

It is also very dubious whether a separately developed software would be sufficient to reach academic standards of co-authorship. Usually, the software used for research would be cited, just like another paper that was used during research would be cited. Requiring co-authorship might even be considered unethical. Your interpretation of the DFG's policies seems excessive.

As for an open-source license choice, first consider whether you really want an open source license that grants broad freedoms to modify and share your software.

  • If you merely want to publish the software behind a paper as supplementary material, a non-free “academic” license may be more appropriate. However, such recommendations are off-topic here.
  • If your university and not you holds exclusive rights to your software (e.g. because it was developed as part of your employment), then you should consult your university's legal department for policies regarding publication of open-source software from your research.

Common open-source licenses for academic software include:

  • The GPL family. Note that version 3 includes an explicit patent grant. The GPL is appropriate if you want to require that modified versions must also be published under open-source licenses. More precisely, the GPL does not require publication of modifications, but only allows publication of modifications if those modifications are available under the terms of the GPL. The LGPL variant allows the software to be combined with non-free modules. The AGPL variant is appropriate for web-apps, as it requires modified versions to be offered to users even when they merely interact with the software over a network.

  • The Apache 2 license. It is a modern, permissive license with an explicit patent grant. It is compatible with GPLv3 but not GPLv2. Allows the software to be incorporated into non-free systems.

  • The MIT and BSD licenses. Older, simpler, but less clear, and less geared towards non-U.S. copyright laws than GPLv3 or Apache 2. Does not include an explicit patent grant.

  • Some universities or insititues also have individual licenses for historic reasons, but these are often incompatible with the wider open source ecosystem.

As open source licenses, all of these discussed licenses allow commercial use and allow modified versions to be published. However, they also require attribution. Attribution in the sense of these licenses and of copyright law is distinct from the academic concept of a citation, though.

  • Thank you for your answer! Is my understanding of the AGPL correct, that it forces any other parties to publish their changes to the Code on? My software does not run over a network, but it has potential military use and I'd like to restrict this as much as I possibly can. – Smudoxo Oct 16 at 12:10
  • 1
    @Smudoxo No GPL variant requires modifications to be published, but if a modified version is published it must be available under the terms of the same license. For your use case, the GPL and AGPL would then be equivalent. It is better to think of the GPL not as an anti-commercial license, but as a consumer protection effort so that end users can inspect & fix the software they use. No open source license will prohibit a particular field of use. Personally, I just hope that the good that comes from my open source contributions outweighs the bad. – amon Oct 16 at 13:03

I personally don't really understand the thinking that authoring software should earn you credit in someone else's scholarship, but several languages, most notably (to me) R, require you to reference a paper for each library you use in your own research. Requiring co-authorship seems unreasonable to me. But maybe you could get better answers at the Academia site.

I don't think a license will really be able to do this, because it's just not how the legalities of copyright work. While your code may be a derivative of the libraries you use, the research outcomes you produce would not be. Authorship and referencing here is a social issue, requiring a community to come to an agreement on their conventions, as the statistics community did for R.

This might not be classifiable as a FLOSS license, since academic authorship is substantially more consideration than mere attribution. Irrespective of whether this is legally possible, it would not be a good idea.

As I'm sure you're aware as a PhD candidate, the question of whether a person ought to be given co-authorship is a significant ethical question. It is wrong to exclude authorship when it is merited, and wrong to grant authorship when it is not merited. The social norms of your academic field either require authorship when using your software, or those norms deem it an insufficient contribution to merit authorship. To try to influence the authors of some future paper to act otherwise via a copyright license would be a significant ethical lapse as a researcher.

If you truly believe that the norms of your field would consider use of your software as sufficient grounds for co-authorship (N.B.: you may wish you consult about this with your advisor), then you are free to make a note to that effect alongside or within your software. However, making co-authorship a legal requirement would be a substantial misstep if you are wrong, and unfair to researchers in other fields, which may have different social norms regarding authorship criteria.

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