Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Additional Terms Strong Attribution tweaks #3617

Open
jaekwon opened this issue Jan 27, 2025 · 1 comment
Open

Additional Terms Strong Attribution tweaks #3617

jaekwon opened this issue Jan 27, 2025 · 1 comment
Assignees
Labels
don't merge Please don't merge this functionality temporarily

Comments

@jaekwon
Copy link
Contributor

jaekwon commented Jan 27, 2025

The Additional Terms for Strong Attribution for gnovm and gno.land should include wording to make clear that derived works must include strong attribution terms that preserve requirements to enforce the spirit of the Strong Attribution terms.

It should probably also include clarification example(s) such as how it should work for block explorers, wallets, and main websites.

"Primary point of entry" should be clarified to refer to the point of entry for each category, so that block explorers, wallets, and main websites adhere to the strong attribution policy.

All block explorers, all wallets, smart contract uploading tools, and main websites that interface with an applicable GnoVM powered chain (say) that are funded from a company, a partner of, or affiliate of said company should include in their agreement, the requirement to preserve language to adhere to the strong attribution policy. For example, if FooChain developed by Foo,Inc uses the GnoVM and allows smart contracts to be uploaded, any contracts with a foundation FooFoundation that develops wallets for FooChain must include terms that enforce adherence of the strong attribution terms, even if FooFoundation does not use the code of this repo for developing its website.

This is an extension of the "network" concept described in the original Affero GPL (https://github.com/gnolang/gno/blob/master/LICENSE.md#13-remote-network-interaction-use-with-the-gnu-general-public-license) under section titled "Remote Network Interaction; Use with the GNU General Public License.". This is a compelling innovation given the decentralized nature of blockchains.

The strong attribution terms should clarify that strong attribution requirements must be preserved in a copyleft viral fashion not only by the author of modifications when there is network interaction, but also when there is network interaction through inter-entity contractual interactions, such as when Foo,Inc comes into a contractual agreement with FooFoundation.

This additional viral element should only come into effect for strong attribution purposes and no more.

To the extent that this can be enforced without explicit contractual agreements, additional language should be considered, but this may be limited by fair use laws. However it might be possible to enforce this viral strong attribution via the implementation of software that conforms to APIs published under the GnoGPL. Note that this would not apply for software that conforms to Tendermint1/2 APIs because those are published under the Apache2 license.

We might want to consider restricting the definition of "primary point of entry" for block explorers that do not allow the uploading of smart contracts, and possibly multi-chain wallets (that are not specific to GNO) to make adherence simpler, but should first be discussed.

These points are not an admission that the existing license terms do not have enforce copyleft viral strong attribution terms.

@jaekwon jaekwon added the don't merge Please don't merge this functionality temporarily label Jan 27, 2025
@jaekwon jaekwon added this to the 🚀 Mainnet beta launch milestone Jan 27, 2025
@jaekwon
Copy link
Contributor Author

jaekwon commented Jan 27, 2025

Please wait for Jordan and myself before merging any changes; suggestions welcome here but we will work on it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
don't merge Please don't merge this functionality temporarily
Projects
Status: Triage
Development

No branches or pull requests

2 participants