A practical guide for research software and platforms
Why does the license matter?
An open-source license answers a simple question:
What are other people legally allowed to do with my software?
It determines whether others can:
use the software
modify it
redistribute it
use it commercially
incorporate it into proprietary products
Three questions to ask first
1. Use
Can anyone use the software?
Academic? Non-profit? Commercial?
2. Modify
Can users change the code?
If so, do they have to share those changes?
3. Commercialize
Can a company take the software and build a commercial product?
And can that product remain closed-source?
Open source does not mean “do whatever you want”
A license gives permissions subject to conditions.
For example, a license can require:
attribution or preservation of copyright notices
inclusion of the license text
disclosure of source code for certain derivative works
preservation of the same license for covered code
compliance with patent-related provisions
The real choice is how much freedom you give downstream users—and how much reciprocity you require.
Two broad families
Permissive
MIT Apache 2.0 BSD
Generally allow:
commercial use
modification
redistribution
proprietary derivatives
Copyleft
GPL v3 AGPL v3 LGPL
Impose stronger conditions on certain redistribution or derivative uses.
The goal is to preserve openness for covered code.
MIT: maximum simplicity
What it allows
Use the software
Modify it
Redistribute it
Use it commercially
Combine it with proprietary software
What it requires
Primarily preservation of the copyright notice and license terms.
Choose this direction when: your main objective is broad adoption with minimal licensing friction.
Apache 2.0: permissive + explicit patent terms
Apache 2.0 is also permissive.
It allows:
commercial use
modification
redistribution
proprietary derivatives
But it includes more explicit provisions around patent rights and patent litigation than MIT.
Choose this direction when: you want permissive licensing but consider patent provisions important.
GPL v3: strong copyleft
GPL v3 allows commercial use, modification, and redistribution.
But when GPL-covered software is distributed under circumstances covered by the license, the corresponding source code and licensing obligations apply.
The philosophy
You can use and improve the software—but downstream distribution should preserve the same freedoms.
Would you rather maximize proprietary reuse, or maximize the likelihood that distributed derivatives remain open?
AGPL v3: copyleft for networked software
AGPL is closely related to GPL.
Its distinctive feature is designed to address a common modern scenario:
A company takes open-source software → modifies it → runs it as a network service → users interact with it over the internet.
AGPL adds conditions aimed at this type of network use.
Particularly relevant for: web platforms, APIs, cloud services, and software delivered as a service.
LGPL and MPL: middle-ground approaches
LGPL
Designed especially for libraries.
It generally permits proprietary applications to link to an LGPL library while imposing stronger obligations on modifications to the library itself.
MPL 2.0
A file-level copyleft approach.
Modified MPL-covered files generally remain under the MPL, while larger works can contain proprietary code.
The landscape at a glance
MIT
Apache 2.0
GPL v3
AGPL v3
LGPL
MPL 2.0
Commercial use
✓
✓
✓
✓
✓
✓
Proprietary derivatives possible
✓
✓
Limited by copyleft obligations
Limited by copyleft obligations
Generally ✓
Generally ✓
Strong copyleft
—
—
✓
✓
Partial
File-level
Network/SaaS focus
—
—
—
✓
—
—
Patent provisions
Basic
Explicit
Yes
Yes
Yes
Yes
This is a conceptual comparison, not a substitute for reviewing the license terms for a particular software architecture.
A practical decision tree
Do you want proprietary products to be able to build on your code?
→ Yes → Consider MIT / Apache 2.0 / BSD
→ No / want stronger reciprocity → Consider GPL
Is preventing closed modifications in network services especially important?
→ Yes → Consider AGPL
Is it primarily a library?
→ Consider LGPL or another library-appropriate license.
Want file-level copyleft rather than project-wide copyleft?
→ Consider MPL 2.0
Research software changes the question
For academic software, ask:
Adoption
Do we want researchers everywhere to use it with minimal friction?
Collaboration
Do we want improvements to come back to the community?
Translation into products
Should companies be able to build commercial products from it?
Long-term stewardship
Who will maintain the infrastructure and pay for it?
What is the primary objective: adoption, openness of derivatives, or a path to commercialization?
Software license ≠ data license
A platform may contain several distinct things:
Software → open-source software license
Datasets → data license / data-sharing terms
Models → potentially a separate model license
Documentation → potentially a documentation license
Third-party dependencies → their existing licenses still apply
Licensing the code does not automatically give you the right to redistribute the data inside the project.
University and research IP
Before choosing a license, establish:
Who owns the copyright?
Were university employees involved?
Were students involved?
Was sponsored research involved?
Are there third-party components?
Are there patent considerations?
Are there institutional open-source policies?
Are there contractual restrictions on the data?
The person who wrote the code is not necessarily the person who has authority to license it.
A possible strategy for a research platform
One possible architecture is:
Open-source core → Apache 2.0
Selected components where reciprocity matters → AGPL / GPL, where appropriate
Research datasets → separate data-sharing terms
Commercial hosted service → separate commercial offering
The license strategy can be designed around the project’s ecosystem—not necessarily one license for everything.
What should you choose?
Start with the outcome—not the license name.
If your priority is…
Maximum adoption and minimum friction
→ permissive license such as MIT or Apache 2.0
Keeping distributed derivatives open
→ GPL family
Addressing network-service use
→ AGPL
Library reuse with some copyleft
→ LGPL
File-level copyleft
→ MPL 2.0
Five take-home messages
Open source is not one licensing model.
Permissive and copyleft licenses make different trade-offs.
Commercial use can be allowed under both permissive and copyleft licenses.
AGPL deserves special attention for networked platforms.
For research software, resolve ownership and data rights before publishing.
The key question
What do you want someone else to be able to do with your code five years from now?