Harmony Is Now Officially Open Source

Our very own, Eugene Kim, presenting at our open source launch party. Watch the full presentation here.

We are thrilled to announce that Harmony is now officially open source! Our github is open for anyone to browse, examine, and review. This is a historic moment for our protocol and we couldn’t be more excited to embark on this new chapter with our community.

Please take our codebase for a test drive with some of the testing scripts we’ve included. You can spin up your own simulated Harmony network on your local computer and watch transactions be processed.

We welcome and cherish your feedback and most of all your commits! If you’re keen to dive in and help us build, please see our guidelines on contributing for a background on our coding standards and how to make a pull request.

Most importantly, if you want to be part of our ongoing development, dive into our discord channel. We are happy to help you get acquainted with our codebase and discuss what we’re developing. Come chat with us! Or if you’re more keen to discuss the technical aspects of our protocol, hop onto our forum and ask us a question.

Last but not least, we intend to have bounty programs for our development process. Fill in our survey to get notified of upcoming bounties so you can jump on them and get rewarded!

Harmony core repository

The importance of open source

The Harmony team have collectively been part of the open source community for several decades. Open source is something very near and dear to our hearts — and for good reason.

As Eugene explained in his presentation, open source is important because of people, ecosystem, robustness, transparency, and sustainability. Open source brings more people into the project, allowing them to become part of the team so that they have ownership and can contribute. This speeds up development and extends the Harmony family.

Open source is also critical to building an ecosystem. If we want other people to use Harmony to create decentralized applications or to build additional services that integrate with Harmony such as wallets, they need to be able to look inside and see how it works. Open source makes it easy for people to extend the protocol and create an entire ecosystem around it.

Robustness comes from code being examined and tested by as many people as possible. By making our code open source, we will locate any bugs faster and fix them. It’s always great to have a second pair of eyes. We sincerely hope that people will pore over our code to find errors and point them out to us. It will make Harmony more resilient. Thanks in advance!

Open source is also key for transparency. Transparency is in turn key for trust. We want people to be able to trust Harmony, so we want our development and our code to be completely transparent. We’ve got nothing to hide.

Finally, open source provides sustainability. We hope that Harmony lives on long after us. This means that at some point we need others to take responsibility. Open sourcing our codebase enables others to become custodians of our code and makes Harmony sustainable.

Features included:

  • Basic consensus protocol with O(n) complexity
  • Basic validator server
  • P2p network connection and unicast
  • Account model and support for Solidity
  • Simple wallet program
  • Mock beacon chain with static sharding
  • Information disposal algorithm using erasure encoding (to be integrated)
  • Blockchain explorer with performance report and transaction lookup
  • Transaction generator for loadtesting

Still to be implemented:

  • Full beacon chain with multiple validators
  • Resharding
  • Staking on beacon chain
  • Fast state synchronization
  • Distributed randomness generation with VRF and VDF
  • Kademlia routing
  • P2P network and gossiping
  • Full protocol of consensus with BLS multi-sig and view-change protocol
  • Integration with WASM
  • Cross-shard transactions

A Note on Licensing

We have chosen to release our code under the MIT license. We chose MIT over the many other common software licenses for one simple reason: the MIT license is the most permissive. This means that we allow anyone to do practically anything with our code, so long as you give us credit.

This freedom even goes for selling things that incorporate our software or businesses that use our software to generate profit. Under MIT license, no one needs to be worried about any legal issues from using our code. The have freedom to build out our ecosystem and leverage the technology that we have built. In the end, the more permissive we can be, the faster our ecosystem can emerge and evolve, and that’s exactly what we want.

Outro

Once again, we’re ecstatic to be open source. This is a big moment for us and we couldn’t be more excited for what’s to come as we build out the remaining components of Harmony. Being open source is the key to the health, strength, and long-term success of our project.

So, please join us and let’s build the decentralized future together.

Cheers and happy hacking!

-The Harmony Team