When Uniswap v3 was deployed in May 2021, it was done under a Business Source License 1.1 (BSL). The BSL is an important topic within Uniswap governance, relevant to discussions of cross-chain deployments and other production uses of BSL-protected v3 code.
In order to provide more information about the BSL, what it means for those looking to use v3 code and libraries, and how to receive an exemption to the BSL, the Uniswap Foundation has compiled this FAQ.
What is the Business Source License (BSL)?
The BSL balances the benefits of open source with protection and support for the communities which created and contributed to the code. It was chosen for the Uniswap v3 deployment to ensure the Uniswap community could be the first to build an ecosystem around the code, prior to it being completely open sourced.
The full text for the Uniswap v3 BSL can be found here.
Uniswap’s BSL has the following characteristics:
Anyone can view or access the code here.
Non-production and non-commercial use of the code is allowed and free.
Additional Use Grants may be given to allow production use of the code. For example, teams who would like to deploy Uniswap v3 on other chains or use BSL-protected smart contracts, libraries, or other code in their projects must receive an Additional Use Grant to do so. Find more about Additional Use Grants below.
It guarantees the software will become open source no later than the Change Date, April 1, 2023. At this point, all BSL-protected code will be open source under GPL Version 2.0 or later.
Because it remains unclear whether the Uniswap DAO can legally receive and hold Intellectual Property, the licensor (aka, owner of the copyright) is Uniswap Labs. However, Uniswap Labs has structured the license such that the Uniswap DAO can directly grant Additional Use Grants and accelerate the Change Date through the community governance process.
You can read more about the BSL here.
Is all of Uniswap v3 code covered by the BSL?
No. The Business Source License 1.1 is the primary license for the Uniswap v3 Core repo, however portions of Uniswap v3 are available under the General Public License (GPL) and the MIT License.
Basic integrations of Uniswap v3 by wallets, interfaces, mobile apps, protocols, or other projects should not be impacted by the BSL. In other words, all code that may be needed for these external integrations has been licensed under GPL or MIT.
More information about the specifics of v3 Core repo licensing can be found here.
When do I need an Additional Use Grant?
If your project uses code from the Uniswap v3 Core repo that is licensed under the BSL, and if you want to use it in a production environment, you must get an Additional Use Grant.
This post should not be treated as legal advice, and you should consult with a lawyer to discuss your specific situation and licensing needs, as well as any additional details (i.e., the language in the Additional Use Grant). If you are interested in being connected to an IP lawyer who is familiar with the Uniswap v3 BSL, you can reach out to the Uniswap Foundation.
How does my project get an Additional Use Grant?
Additional Use Grants may be granted by the Uniswap DAO. For an exception to be considered by the DAO, you and your team should put together a governance proposal and go through the Uniswap community governance process (summary covered here).
If you are proposing an Additional Use Grant for a cross-chain deployment, review and leverage the template proposed here. This template might also be a useful guide for other kinds of Additional Use Grant requests.
You should include the language you are proposing for the Additional Use Grant in your proposal. The language should specify the entity that would receive the Additional Use Grant. It is important that the exception is not for anyone to deploy on chain - but rather a specific entity or team. You can refer to the language used in previous Grants here.
Some sample language that could be used is as follows: "Team [or Company] X may use the Licensed Work to deploy it on Y, a layer 2 solution for Ethereum, provided that the deployment is subject to Ethereum layer 1 Uniswap Protocol governance and control.”
License changes by the DAO are enacted via the ENS domain uniswap.eth. Specifically, approved Additional Use Grants are specified at v3-core-license-grants.uniswap.eth.
If your proposal proceeds to a final governance vote, you can review how to put together the on-chain proposal to associate the Additional Use Grant language with the ENS subdomain here or here.
This post should not be treated as legal advice, and you should consult with a lawyer to discuss your specific situation and licensing needs, as well as any additional details (i.e., the language in the Additional Use Grant). If you are interested in being connected to an IP lawyer who is familiar with the Uniswap v3 BSL, you can reach out to the Uniswap Foundation.