MSI engages in software development under the auspices of the Regents of the University of Minnesota. To serve the broad scope of applications at the University, MSI maintains a portfolio of open-source code that is employed on many of our projects.
What Types of Software Licenses Can Be Used?
Software licenses can be split into two broad categories: open source and closed source. The vast majority of development at MSI focuses on open-source products.
- Open-source software refers to code that can be modified and shared because it is publicly accessible. Most MSI projects build off of open-source tools so that we don’t have to write everything from scratch. There are several types of open-source licenses. Additional information about open-source software can be found here: What is Open Source?
- Closed-source software refers to applications that are distributed as binaries and the source code is not publicly available. Licenses may also be applied to closed-source software projects. These are common for applications where the parties have no interest in outside collaboration. It is still a common model for many commercial applications.
Most software applications are made from a collection of components. The diagram above illustrates a generic application and its dependencies.
- The components in green are unmodified dependencies. They are typically open source and can be used with very few restrictions. Some of the green components require license fees if they are bundled as part of a distribution.
- The components in blue are those written by MSI. The blue components are developed under a very permissive license that only maintains the attribution. The copyright belongs to the Regents of the University of Minnesota.
- The components in red are more specialized. They contain domain-specific features with intellectual contributions from researchers and developers. The license that governs the components in red are agreed upon before starting the project. The copyright is held by the Regents of the University of Minnesota, and possibly the researcher.
How Is Software Licensed at MSI?
By default, software written at MSI will use an MIT license. This is a permissive open-source license. The code is free to be used and modified by anyone for any purpose. The copyright notice is maintained in the code, however the authors and the Regents do not retain the rights to restrict use.
If requested, MSI will work with the Office for Technology Commercialization (OTC) to choose the appropriate commercial licensing path. The source code is viewable by the public, but commercial use would be licensed through OTC. In this case, MSI should be considered co-inventors as defined by Board of Regents policy. The Regents will retain the right to continue development of the code for research use. The Regents policy on commercialization of IP has additional details on this.
MSI can also evaluate special requirements for development projects. MSI can write closed-source code and accommodate unique licensing challenges in a researcher’s software project. MSI will work with the researchers and the appropriate University offices to create a plan for development. Please allow for at least two months to finalize an agreement with specialized license requirements.
What To Do if My Software Algorithm Is Patented or May Be Patented in the Future?
For software algorithms that are patented or may be patented in the future, MSI will not use an open source license. Researchers need to highlight this requirement before beginning a project with MSI. For this case, the source code for the components shown in red in the figure above will not be made public.
What Additional Information Is Available?
For further information on software licensing for collaborations with MSI send email to firstname.lastname@example.org. The University Office for Technology Commercialization maintains useful information on Open Source Software, when to use Open Source for a project, business models for Open Source projects, and how the University Technology Transfer Office can help commercialize software.