While I am generally a huge proponent of FOSS (free and open source software), and the transparency of open source code is critical to the security of blockchain projects, I think we should release all future smart contact code under a license similar to the Uniswap v3 License1.
Motivation
With projects like MetaVault2 creating direct forks of the GMX protocol smart contracts, and creating carbon copies of the the front end UI. I think the GMX project should be able to profit from the amazing and innovative IP created @xdev_10 and team when used outside the GMX ecosystem.
Background & Justification
Early GMX and GLP holders, and platform users (traders), have battle tested the innovative liquidity pool and perpetual futures trading contracts. These users took on a significant risk being early in a project.
Now, other projects can benefit from this extensive testing and development by forking the project and creating clones on other chains. New projects benefit immensely by not taking on the opportunity cost of novel development, and users don’t have the same level of risk of failed project economics or smart contract bugs for a novel trading platform.
With the upcoming work on the X4: Protocol Controlled Exchange3, now seems like a prudent time to evaluate updating the project’s code licensing.
Solution
I would recommend releasing all future code under a license similar to the Uniswap v3 License1. It is critical to keep code opensource, but opensource doesn’t necessarily mean free to use. The Uniswap license restricts anyone from copying the code for 2 years after publication. This is similar to the way patents give an inventor/company the right to solely benefit from the work required to create IP for a short period.
Ideas for Licensing:
There are a few ways the GMX project could benefit from a more restrictive license, beyond just outright preventing competition.
-
Anyone who wants to use the GMX smart contract code for their own projects could pay a licensing fee to GMX. This could be:
a. one-time,
b. monthly,
c. based on monthly active users,
d. or volume-based (% of platform fees) -
We could reduce or wave the licensing fee for project who provide certain thresholds of GLP liquidity.
Example: a project must hold a minimum of 10 GLP for each monthly active user of their platform, or pay 10% of gross trading fees. (I also don’t think licensees should get esGMX rewards on staked GLP.)
I would love to hear what others think. Please share other licensing ideas and ways the GMX community could benefit from the use of the porject’s code outside the GMX ecosystem.
Maybe I’m being greedy but I truly think GMX has created massive and valuable innovation in the DeFi space, the benefits of which are only barely being realized. GMX contracts provide the basic building blocks for other projects to build DeFi derivative product on top of, and GMX could be the foundation of future trillion dollar DeFi markets. I think GMX and its early supporters should be rewarded for the value that has been created.
Links
(I can only add 2 links because I’m a new user, mods please feel free to edit):
- github [dot] com/Uniswap/v3-core/blob/main/LICENSE
- metavault [dot] trade/earn
- medium [dot] com/@gmx.io/x4-protocol-controlled-exchange-c931cd9a1ae9