The Skynet License is our attempt to address a timeless problem in open source: how can you generate revenue off of something that costs tens of millions of dollars to develop while also ensuring that you are fully respecting the rights and freedoms of users?

The Skynet License is heavily inspired by the MIT license, and in all situations possible has attempted to mirror the rights afforded to users by the MIT license. Anyone can fork the code, anyone can make (nearly) any modification to the code, anyone can combine the code with other softwares, and anyone can redistribute the code with their new modifications.

The major difference between the Skynet License and the MIT license is the inclusion of a monetization section. The Skynet License demands that all outbound financial transactions be subject to a 20% fee that gets paid to the Skynet Labs team. For example, if a portal operator receives $100 from a user, and then subsequently spends $50 buying storage from the Sia network using the Skynet code, the portal operator must pay $10 total to the Skynet Labs team, because the purchase of storage qualifies as an outbound financial transaction.

This fee needs to be applied even to novel transactions introduced by modifications to the code. For example, if a third party were to fork the Skynet codebase and add a new type of transaction that buys computation from a decentralized compute network, the money exchanged in that transaction is also subject to a 20% fee that must be sent to the Skynet Labs team. This fee of course only applies if the purchase is made inside of the Skynet software. If some other body of software is purchasing the compute and then relaying the results to the Skynet software, no fee needs to be applied.

As long as the 20% fee is honored, the Skynet codebase can be used, modified, and redistributed without permission from the Skynet Labs team. This is a novel feature enabled by the world of decentralized payments. Thanks to the blockchain, we can ensure a payment address is always available, enabling people to comply with the terms of the license even if the Skynet team cannot be contacted, and ensuring that no third party payment processor can prevent the transaction.

Heather Meeker, who helped draft the Skynet license, says “The Skynet license is part of a growing trend of source code licenses that set modest limitations on use, to enable the developers to maintain a sustainable business model.” She added, “I was fortunate to have the chance to assist Skynet to create a license that met these needs.”

We will only be moving two of our repositories to the Skynet license, skyd and skynet-webportal. All other repositories, such as skynet-js, are going to remain under the MIT license. Furthermore, the core Sia codebase — including all consensus code, wallet code, and mining code — is going to remain under the MIT license.

In making these changes to our license, we have done our absolute best to ensure that we are still writing software that empowers freedom, while also building a sustainable model for continuing to incentivize and fund development. And if builders agree that this license does a good job of that, we openly encourage others to adopt this license within their own software.

This article was originally published on the Sia Blog.