Scalability vs Maintainability

Author: fengtality 0x352

Original Post Date: 7 Jan 2022

Since voting is about to start on the first 3 proposals, I wanted to explain more about the rationale for HBOT governance and our plans ahead:

Hummingbot is open source client software, not a protocol. With many connectors and strategies being added all the time, it’s a constantly evolving and growing codebase with commits all the time from CoinAlpha and other contributors.

The main reason that the Hummingbot Foundation introduced HBOT token is that there is an inherent tradeoff between scalability and maintainability that Hummingbot as an open source project has to manage successfully in order to grow the user base, increase fees shared from exchanges, and ultimately sustain the project.

For instance, if Hummingbot adds too many connectors without ensuring consistent standards and performing robust testing, bugs will increase, and users may lose confidence in the software and decrease usage. However, if Hummingbot doesn’t keep up with the rapidly evolving crypto market by adding new exchange and asset types, as well as get faster, more powerful, and easier to use, it risks becoming obsolete eventually.

These are decisions that CoinAlpha used to make regularly as the original creator and maintainer of Hummingbot. But as more and more pull requests came from the community and the codebase got larger and more complex, it didn’t seem right that CoinAlpha was the sole decision maker on how the Hummingbot codebase could change. We ran a few past experiments with governance on Discord to engage the community to voting, but those experiments were plagued by bots, fake votes, and other issues inherent in centralized systems that blockchain-based systems of governance are designed to solve.

HBOT is an experiment in giving users full control over a mature open source codebase with a large user base and sustainable business model. The Foundation is just starting out, so not all the processes are fully baked yet. However, we anticipate the the HBOT voting process will be much more active than at other token projects, since every pull request needs to be approved.

We hope that voting lets the Hummingbot community prioritize the features/connectors/strategies they want, but also understand the tradeoffs between adding more features vs maintaining and improving existing ones. The first 3 pull requests up for voting are representative of the decisions CoinAlpha used to make as core maintainer of the Hummingbot codebase:

  • Connector to exchange, built by long-time contributor TheHolyRoger - Github
  • Enhancement to PMM price_source feature, built by dydx bounty winner leastchaos - Github
  • Refactor of BitMarket websockets library, from CoinAlpha - Github

Should the Foundation do the work to test and integrate these proposed changes into the Hummingbot codebase, which carries an also entails maintaining this new code for the foreseeable future, or should it prioritize other open pull requests?

Now, YOU have the power to decide! Vote at Snapshot now!