AGPL License Overview
The following OpenZeppelin off-chain tools are made available under the GNU Affero General Public License (Version 3) (“AGPL”):
Is AGPL Open Source?
AGPL is an OSI-approved license that meets all criteria for Free and Open Source Software.
What are some of the key terms of AGPL?
AGPL is an open source license that grants anyone the freedom to use, modify, and redistribute software - including for commercial purposes. If the software is distributed, or it is modified and run over a network, then AGPL requires that the source code of that version must be made available under AGPL (and original notices must stay intact).
For additional information, the Free Software Foundation provides a comprehensive Frequently Asked Questions regarding the GNU licenses.
Why does OpenZeppelin offer certain software under AGPL?
AGPL ensures that the blockchain development community has free and open access to software that helps developers build and operate decentralized technology. It ensures transparency into how the software operates and incentivises a strong developer community that showcases advancements in the software by ensuring improvements are made available to all.
OpenZeppelin and its ecosystem partners believe that the AGPL license will improve the state-of-the-art of developer tools and related software for the benefit of the entire blockchain industry.
How does AGPL apply if I work for a large enterprise or a financial institution?
Software licensed by OpenZeppelin under AGPL is intended to be used internally in order to assist enterprises and financial institutions to develop and operate their blockchain applications. Unless your company intends to distribute the software or offer access to third-parties over a network, no restrictions in AGPL should apply to your use.
Many large enterprises and financial institutions prefer to purchase a commercial license instead of utilising the software under AGPL. Please contact legal@openzeppelin.com for any commercial license requests or to discuss particular use cases.
What OpenZeppelin software is licensed under AGPL and what’s not?
OpenZeppelin uses two main approaches to licensing. We generally license software that is intended to be incorporated directly into an application that will be deployed on-chain under the MIT license. For software that is intended to assist developers to build and operate their applications, but is not expected to be incorporated into their applications’ production codebase, we generally license such software under AGPL.
You can see the list of software that we license under AGPL at the top of this page, which we will do our best to keep updated over time. However, you will always be able to find the relevant licensing information in our GitHub repositories.
How does AGPL affect me if my company is using AGPL software for internal development, deployment or operations related to our own project?
AGPL should not affect you or your company because AGPL does not impose additional requirements if you are using the software for internal purposes and not distributing it or offering it to third-parties over a network. AGPL allows you to use the software freely to assist your company’s own development, deployment or operations without restrictions.
Can I modify the AGPL software I use?
Yes. You can modify the software and integrate the software into your internal systems without restriction under AGPL. Further requirements only apply if you distribute the software or modify it and offer access over a network to third parties. If you prefer to purchase a commercial license instead of utilising the software under AGPL, please contact legal@openzeppelin.com.
I built an application that incorporates AGPL code; how does this affect me?
Certain requirements apply if you or your company distribute the AGPL software or modify it and make it available to third-parties over a network, for example by offering it to others as part of a product or service offering (such as to assist end users with their smart contract development, deployment or operations). If you or your company distribute the software or modify it and make access available over a network, then AGPL requires that the source code of that version must be published and made available under AGPL (and original notices must stay intact).
Please contact legal@openzeppelin.com for any commercial license requests or to discuss particular use cases.
Can I provide commercial support for AGPL software or use it to build or deploy smart contracts and decentralized applications for third-party clients?
Yes - the goal of using the AGPL license is to help grow the blockchain development ecosystem. Providing commercial support for OpenZeppelin AGPL software or utilising AGPL software to assist your development of software for a third party is more than welcome in this spirit. However, the AGPL does enforce conditions if you or your company make the AGPL software available to others as part of a product or service offering, such as in an application that assists end users with their smart contract development, deployment or operations.
I want to contribute to AGPL-licensed software; how does this affect me?
First, a big thank you for contributing! As long as you sign our Contributor License Agreement (“CLA”), you can contribute to the AGPL libraries as you otherwise would. The process for signing our CLA is typically automated into the process of submitting a pull request to any AGPL repository in the OpenZeppelin Github.
Can I continue to use versions of software that was originally provided under a different license, for example MIT?
Yes. Any license change is not retroactive. This means all source code and releases prior to the change are still available under the previous license. For example, if a license changed from MIT to AGPL, you can still use the previous versions’ MIT license. You may continue to use those versions indefinitely under the original license, as long as you abide by its terms and conditions. However, please note that OpenZeppelin may not continue to maintain these releases.
Will OpenZeppelin give users guidance on how to comply with AGPL?
While we won’t be in a position to provide legal advice, we are committed to ensuring wide adoption of our open-source software and will seek to address any questions that our users have, and over time, we will continue to provide guidance and clarifications on what can and can’t be done with our software specific to the AGPL license. Please contact legal@openzeppelin.com for any commercial license requests or to discuss particular use cases.
Can I distribute or make available my own version of your AGPL software?
Yes, AGPL is an open source license that allows free redistribution and use, subject to its source code sharing requirements. If you make changes, be sure to follow our Trademark Guidelines.