This page is meant to collect some resources you can use to choose an open source license for your project as well as FAQs that you might encounter during the open sourcing process. For any questions about open source licensing, please reach out to us at the OSPO via email here.
The Open Source Program Office (OSPO) provides best practice guidelines for how and when to release your code as open source software (OSS). Note that these guidelines are not official legal advice – we can refer you to Legal Affairs for specific legal questions. Additionally, we recommend that you refer to Georgia Tech’s Office of Technology Licensing for any questions or issues related to software IP or patents. You may also want to refer to Georgia Tech’s IP Policy to better understand when GTRC manages your IP and when you retain IP rights.
Acknowledgments: We are appreciative of feedback from Georgia Tech’s OTL and the University of Minnesota RIO for the format and some of the content of this page.
Contents
High-level Steps to Open Sourcing Your Code
- If you are a Georgia Tech employee or are working on sponsored research, file a software disclosure form with Georgia Tech OTL to discuss possibilities for patents, get general advice about software IP, and confirm that all the authors of the code wish to open source.
- Check the requirements of your project funding with respect to open source licensing by referring to funding contract.
- Note any requirements or restrictions on open sourcing your software.
- Decide on the appropriate license for your codebase. Contact OSPO if you have questions on the correct license to use.
- Review whether any open source dependencies for your project have licenses that need to be included in your open source release.
- Release your code via an appropriate public repository.
- GT does not require a specific public repository, but we suggest posting your repository under a GitHub organization for your group or a Gitlab group. Related open source projects can then be colocated for easier findability.
- Share your open source code with the broader research community using tools like the GT OSS Project Explorer.
- Note that while you can change your license later on, it becomes more complicated, especially as you have more contributors.
Questions to Ask When Licensing Your Code
- What are the requirements of your funding for open sourcing and open source licenses?
- Some sponsors like NSF and NIH encourage open source releases of software developed from research funding.
- Who is the target audience for your code? Do they normally use a specific license?
- For example, the widely used NumPy project uses a modified BSD license, so related work may want to consider a similar license.
- How do you want others to contribute back to your codebase?
- Do you want to include as many contributors as possible? Do you want to restrict companies from using your open source code in their internal products?
- Answering these questions may determine whether you select a permissive or less permissive license.
- Do you prefer contributions from government and industry partners?
- US government and many industry partners may only be able to contribute to a project with a permissive rather than a strong copyleft license.
License Recommendations for Software
Preferred: MIT License, BSD License, Apache 2.0 License, LGPL v3.0 License
See TL;DR Legal for a summary of these licenses. You can also use Choose A License to evaluate which license might be the best fit for your project.
Not Preferred: GNU General Public License version 3, GNU AGPL
See TL;DR Legal for a summary of the GPL v3.0 license and AGPL.
Why don’t we recommend GPLv3?
You are free to choose whichever license you want to apply to your open source project – Georgia Tech and especially the GT OSPO does not specifically restrict your license choice. That said, strong copyleft licenses like GPLv3 can restrict external involvement with your project due to their requirements that all derivative works be released under the same license. These provisions help to keep your work and any improvements in the open source domain for others to use. However, collaborators at companies and some US government agencies may find that they cannot contribute to your codebase due to their organizational policies if your project uses a strong copyleft license. LGPL provides a middle ground between permissive and strong copyleft licenses because it only requires that modifications to the licensed code remain open source, rather than all software that uses the licensed code.
As with many decisions for open source software, there may not be a “right” answer for your project. We encourage you to review all the license options and reach out to the OSPO with any questions.
License Recommendations for Creative Works
Preferred: Creative Commons-Noncommercial-ShareAlike
Acceptable: Any Creative Commons License
Open Source Resources
These resources can be used to help you better understand your options for selecting a license along with the potential advantages and disadvantages of the many different open source license options.
Georgia Tech Resources
- How to Select a Software License Workflow – GT OSPO workflow diagram that shares the steps for picking a license for OSS
- How to Select a Data License Workflow – GT OSPO workflow diagram that shares the steps for picking a license for open source data releases
External Resources
- Open Source Software Frequently Asked Questions – Open Source Initiative page that details some common questions about open source software
- OSS Watch—provides unbiased advice and guidance on the use, development, and licensing of open source software.
- Creative Commons—helps you legally share your knowledge and creativity, with a focus on open data and other non-software work.
- TL; DR Legal—software licenses presented in plain, easy-to-comprehend language.
- Choose a License – another helpful site that allows you to review the terms of specific licenses.
Frequently Asked Questions
I’ve written a software program I believe has commercial value—is it patentable?
Software is protected by copyright and sometimes can also be patented. We encourage you to file a software disclosure with Georgia Tech’s Office of Technology Licensing to discuss your options for patenting your software.
What type of open source provisions can be included in sponsored agreements with relation to software development?
The PI and Georgia Tech’s Office of Sponsored Programs can explicitly note whether software developed under a funded research agreement can or cannot be released via an open source license. Discussing these provisions with your local contracting officer during the grant proposal and award process is a recommended step, especially if you expect to make an open source release of software. Please feel free to contact us at the OSPO if we can help to provide any suggestions on licenses your situation.
I am releasing a software package as open source that includes several other open source projects. Which license should I use?
When you combine multiple open source (and potentially proprietary) software packages, you will want to check for license compatibility. That is, your software package must be distributed in a fashion that it properly acknowledges all the different licenses that are included. The Turing Way has an excellent guide on license compatibility using xtas as an example, and we encourage you to review the different examples on their page.