Source code permissions
Determine whether users can inspect, modify, and redistribute your source code.
Compare popular open-source and proprietary licenses. Answer a few questions about your project to explore licensing options that may fit your development goals.
A software license establishes the permissions and conditions under which other people can use, modify, copy, and distribute your software. Choosing one affects collaboration, commercial distribution, contributions, and future development.
Determine whether users can inspect, modify, and redistribute your source code.
Understand whether a license permits commercial use, redistribution, and inclusion in commercial products.
Compare attribution, notice, source-code, patent, and copyleft-related conditions.
Describe how you plan to develop and distribute your software. The advisor will identify licenses worth examining and explain the reasoning behind its suggestions.
Compare common licensing models and understand their general characteristics before selecting one for your project.
The MIT License allows users to use, copy, modify, distribute, sublicense, and sell copies of the software, provided the copyright notice and permission notice are included.
Apache License 2.0 permits commercial use, modification, distribution, and sublicensing. It includes express patent licensing provisions and conditions concerning notices and contributions.
GPL version 3 permits use, modification, and distribution. When distributing covered derivative works, corresponding source code and GPL licensing obligations generally apply.
AGPL version 3 includes GPL-style obligations and an additional requirement concerning users interacting remotely with modified versions over a network.
LGPL version 3 permits use and distribution of libraries under conditions intended to allow certain applications to link with the library under different terms.
MPL 2.0 requires covered modifications to MPL-covered files to remain available under MPL terms when distributed, while allowing those files to be combined with differently licensed files.
BSD 3-Clause permits redistribution and use in source and binary forms, with or without modification, subject to copyright, disclaimer, and non-endorsement conditions.
EPL 2.0 allows commercial use and distribution while applying copyleft obligations to certain modifications and contributions covered by the license.
A proprietary license defines the permissions granted by the copyright owner. The terms can restrict redistribution, modification, commercial use, or access to source code.
This overview highlights general differences. Exact obligations depend on the full license text and the way software is used, modified, combined, and distributed.
| License | Model | Commercial use | Closed derivatives | Patent grant | Network source requirement |
|---|---|---|---|---|---|
|
MIT License
MIT
|
Permissive | Yes | Generally yes | No explicit patent grant | No network source disclosure requirement |
|
Apache License 2.0
Apache-2.0
|
Permissive | Yes | Generally yes | Yes, express patent grant | No network source disclosure requirement |
|
GNU GPL v3
GPL-3.0-only
|
Strong copyleft | Yes | Generally no for covered derivatives | Yes | No special network-use source disclosure requirement |
|
GNU AGPL v3
AGPL-3.0-only
|
Network copyleft | Yes | Generally no for covered derivatives | Yes | Source offer requirement for modified versions used over a network |
|
GNU LGPL v3
LGPL-3.0-only
|
Weak copyleft | Yes | Possible for certain applications | Yes, through GPLv3-based provisions | No AGPL-style network requirement |
|
Mozilla Public License 2.0
MPL-2.0
|
File-level copyleft | Yes | Possible for separate files | Yes, express patent grant | No AGPL-style network requirement |
|
BSD 3-Clause
BSD-3-Clause
|
Permissive | Yes | Generally yes | No express patent grant | No network source disclosure requirement |
|
Eclipse Public License 2.0
EPL-2.0
|
Weak copyleft | Yes | Possible for certain combined works | Yes | No AGPL-style network requirement |
|
Proprietary License
LicenseRef-Proprietary
|
Closed source | According to your terms | Yes | Depends on contract | Depends on contract |
The table is a simplified educational comparison, not a substitute for reviewing the actual license text.
Start with the permissions and obligations you want to grant. These are broad starting points rather than universal rules.
Consider MIT, Apache 2.0, or BSD when you want to allow broad reuse, including use in commercial products, subject to the license conditions.
Consider GPL when you want covered distributed derivative works to remain under GPL-compatible terms.
Consider AGPL when the network-use obligations for modified software are important to your project.
Consider LGPL or MPL when you want a more specific copyleft approach for reusable components or files.
Review these items before publishing a repository or distributing a software product.
Continue exploring software development and technology planning resources on Droope.org.
Answers to common questions about software licensing and open-source project distribution.
Contact Droope.org with feedback, corrections, or suggestions for additional developer tools.