Skip to content

Latest commit

 

History

History
74 lines (55 loc) · 3.63 KB

FORKING.md

File metadata and controls

74 lines (55 loc) · 3.63 KB

Forking Guide

"The secret of change is to focus all of your energy, not on fighting the old, but on building the new." - Socrates.

In a similar fashion to the CONTRIBUTING.md, the FORKING.md file helps people understand when and how they should fork. This isn't a common practice, so let's dive into the specifics.

For context, you can refer to this issue: Proposal: ‘How-to-Fork’ Guide #64.

What is this repository about?

This 'genesis' repository is about branching (which is like forking software but chains and communities), specifically forking and branching cosmoshub-4 aka Gaia. The primary objective here is to help people switch from the perception that forking and branching is necessarily bad, to the understanding that it could be useful and eventually the best thing to do.

Forking and branching are not necessarily about competition with the original. It can also be about exploring alternative paths that could potentially merge or be used in parallel. A fork or branch is also, by nature, something that can fail and just be an experiment. But even in failure, the goal is to learn lessons.

Forking and branching are not necessarily bad, but the goal is to avoid making bad ones. We aim to optimize the forking and branching processes to maximize chances of success and efficiency.

This repository was created with the expectation that it will be forked, a lot, and probably recursively with many descendants.

What to Fork or Branch?

You can fork the software of a chain, or more broadly you can branch the chain itself (with the same software, or with a fork of the software, or even a different choice of the software altogether; but always with some meaningful subset of the original community and token distribution, and possibly with new external members and air-drops included). When the chain branches itself, they need to have a plan; this repo is that emergent plan to fork and branch Gaia to AtomOne. You can also fork this genesis repository to propose an alternative plan.

Once our Founding Documents and Plan are finished, the goal is for blockchain(s) to be run using those documents. The Plan is intended to become finished at some point, so those who want to change the plan must either get a Constitutional Majority to update the Plan and perhaps other parts of the Founding Documents including the Constitution; or they must create a new branch of AtomOne (or Gaia) and they can do so by first forking this repository.

Why to Fork this Repo?

You can fork this genesis repository for multiple reasons:

  1. Contributing: If you want to contribute to the development of this project, forking is the first step.
  2. Maintaining a branch: You might want to maintain a branch for an alternate plan for a fork of gaia in the spirit of this repository.
  3. Splitting another project: If you want to discuss the genesis of a split for another project.

How to Fork?

If you want to fork this repo, make sure:

  • the vision/mission statements and the development/growth/maintenance plans in the README are substantially different (you should explain why the fork is needed).
  • Branding, trademark, tickers also need to be unique.
  • XXX

About Trademark Terms and Token Names

GovGen may be used for any chain, if it is preceded by your chain's name, such as "Osmosis GovGen". Likewise "Osmosis GovGenA" to include abstainers, is acceptable.

AtomOne and Atone, and $ATONE are reserved for the AtomOne branch of Gaia. Unless you are proposing a contribution to the github.com/atomone-hub/genesis repository, please choose distinct names for your project name, repo, and token. XXX