Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am working on an academic research project whose results and some code we intend to publish. Research journals and conferences explicitly require that the authors have copyright over the work done in a paper. However, I would like to share the code with the community as it progresses using an open source license.

Is there a license that explicitly retains copyright while allowing sharing, redistribution and derivative works based on the original work?

Alternatively, which license would be suitable for such projects?

share|improve this question
All licenses retain the copyright of the author. They're all about establishing various different sets of things that others are allowed to do in addition. To sign over your copyright to someone else, like GNU demands, you need to sign an agreement or contract. – Kilian Foth Mar 7 '14 at 13:43
There are many such licenses; this link mentions some popular ones: – paj28 Mar 7 '14 at 13:56
up vote 2 down vote accepted

If you wrote the code, you are the copyright owner. If you are writing the code in a "work for hire" situation, they are the copyright owners. As of 1989, copyright ownership is automatic, and stating it is optional. I believe it is also prudent.

As a copyright owner, you can (according to Wikipedia):

  1. produce copies or reproductions of the work and to sell those copies (including, typically, electronic copies)
  2. import or export the work
  3. create derivative works (works that adapt the original work)
  4. perform or display the work publicly
  5. sell or cede these rights to others
  6. transmit or display by radio or video.

You may license your work to somebody else, and in the license, you can grant any or all of the rights of copyright to the licensee. You can also make these copyright grants free, or conditional upon payment of license fees. Licenses can also be time-limited.

In your case, you want to share. Assuming that there are no patents involved in your work, I would go with:

  1. the GPLv2 license if you want your code to be forever free to study and improve, and all derivative works to also be free to study and improve. (Programmers and academics usually prefer this one).
  2. the MIT license if you want anybody to be able to freely use your code, but allow them to keep their derivative works secret. (Commercial software vendors tend to like this one better).

If there are patents involved, the licensee is responsible for also acquiring patent licenses for relevant patents.

If there are patents (which you own) which you also want to freely release with this software, use:

  1. the GPLv3 license - For the same reasons as GPLv2.
  2. the Apache 2.0 license - For the same reasons as the MIT license.

In all of these cases you retain copyright ownership, and the code can be shared.

share|improve this answer

The only "license" where you don't retain copyright is when you release a work as public domain. With all other copyright licenses, you retain copyright to your work.

Additionally, you are also allowed to publish your own work under multiple licenses, so you can distribute the source under one license to the magazine and under a different license to the general public.

The only thing you have to keep in mind is, if you accept contributions from the public to your code, the copyright on those contributions is retained by the respective contributers, unless they explicitly assign the copyright over to you. This means that you might not be able to use the contributions in your article.

share|improve this answer
Also remember to reference any authors of 3rd party source code you use and honour their request that you keep any copyright headers in the source code. – ywm Mar 7 '14 at 14:24

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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