Proposal for Community Fund DAO v2

Maintaining a competitive edge is necessary in business, and being a closed source is a way of protecting that. Good projects will turn down a grant if there is a restriction that they view as a hindrance to their success.

To work around this, there are several things I put into the DAO soft rules:

  1. Public funding implies public code. Every project that received grant funding must agree to open source the Nervos-specific portions of the project. This is typically smart contract code and transaction generation code. It does not include the project’s complete code base.

Many projects have already shown they are willing to open-source smart contract code since this is a relatively common practice in other ecosystems. This rule goes a step further to also require the transaction generation code, which is a stronger need with the Cell Model. While this is not the full project, this will help us to continue building up our public code base of reference code, while also helping to ensure accountability and security of the smart contract code itself.

  1. Projects that receive grant funding in excess of $50,000 USD must agree to provide a reasonable means for the Nervos community to persist the project if the team chooses to abandon it. In most cases, the most simple way to accomplish this is to transfer the full source code and all relevant data, accounts, and rights, to a community team that can take over the operation of the project. If a suitable team cannot be found, the project must be open-sourced completely.

This rule is aimed to directly address the problems we have had with the recovery of abandoned projects. I see this as being a harder sell to teams, but they may be willing to accept this on the basis that failure is not their intended goal.

For projects that have reasons that they will not agree to these terms, special exceptions can be made. These rules are being put in as soft rules specifically because they can be overturned by community vote.

I agree with the general concept of a community-owned upgradeable smart contract. However, there are a lot of considerations around this. It adds additional process and overhead and requires solutions that we don’t readily have answers for. This would be a good topic for further research and public debate.

3 Likes