Guide: What license should I use for my software project?

You realize having no license does not make your project usable by others. If not, please read the entry about "No license" in the FSF license list and this study about licenses on GitHub.

There are so many choices out there and the open source license world is complex. We strongly recommend to go with one of the most used and established licenses. These are divided into three broad categories and briefly explained by GitHub folks at choosealicense.com. They don't suggest any license in parcticular and even explain the "no license" option. Choosing a license is now a two-minute-task.

Based on our experience, we recommend the Apache License. It is closer to the real world, as compared to the "short" licenses (MIT, BSD). It takes into consideration that the real world is a bad place with software patents, but also allows any commercial application to integrate and extend a software project. Your own ideas, third-party libraries, i.e. software that you use or extend, have an important impact on choosing a license.

The minimum number of steps required for choosing a license for software resulting from a research project are as follows.

  1. Create a comprehensive list of your "third-party licenses" - software that you strictly rely on or directly extend and their licenses.
  2. Go to choosealicense.com and pick a license that fits your goals.
  3. Check all third-party licenses for compatibility with your chosen license.
    This requires web searches and potential involvement of a lawyer specializing in open source if the dependencies' licenses are not typical ones. Sadly, we are NOT lawyers and can NOT make clear recommendations here. Check the following websites, but judge for yourself if the recommendations apply to you. In 90% of the cases, the answer is straightforward, but due diligence is required.
  4. Make sure ALL software contributors are ok with the chosen license.
  5. Check with guidelines or agreements accompanying the funding for your development, e.g. research grants.
  6. Revise your decision if any of 3. to 5. result in issues. If choosealicense.com is not detailed enough, answer seven questions in the OSSWATCH licence differentiator.
  7. Done.