A point of pride here at Algorand is our devotion and commitment to being an open-source blockchain. The code behind the Algorand blockchain is open-sourced and publicly available for anyone to audit, use, and build upon.

In order to achieve a blockchain maintained by a dedicated and decentralized-minded community, we want to encourage more external collaboration. Since our initial launch in June, we’ve been working diligently to expand Algorand’s core feature set (see our latest release here). While we’ve been hard at work developing the most sought after features and tools, we’ve also been collecting a healthy backlog of innovative ideas, features, enhancements, and tools that would be perfect for community collaboration.

If you’re interested in browsing our github backlog for an idea that inspires you, the best place to start would be our contribution guide. From there, you’ll be able to see how we work as an organization, how to navigate our many repos, and how we incorporate external collaboration. Without going too deeply, the ideal flows (in a nutshell) look something like the following:

Creating an issue

Scenario: You want to share an exciting idea or bring attention to a certain bug. This idea may have come up from reading the code, identifying tech debt on your own, finding bugs, finding typos, etc.

Navigate to an Algorand GitHub repository (repo). For general issues, head to our main algorand repo. If you want to create an issue specific to a certain SDK or tool (such as Algorand Python SDK), browse or search our repos first from our GitHub homepage. Create a GitHub issue (from the appropriate issue template if available) You can also try to tag your issue with any applicable labels such as bug, enhancement, feature request, etc.

That’s it! Internally, we have frequent engineering triage meetings where we look over new issues and pull-requests and review/prioritize them accordingly. Because you created the issue, you’ll be notified of all activity on the issue.

Walkthrough of creating an issue.

Contributing code

Scenario: You see an open and unassigned issue in one of our GitHub repos and want to contribute code to resolve/implement that issue.

You modify Algorand code based on an existing enhancement or bug issue. Hint: Keep an eye out for issues tagged as “good first issue” if you aren’t sure where to start. You create a pull request.

Other than potential back and forth with suggestions or questions, that’s it! The internal Algorand team reviews all PRs, and if your change passes our guidelines (as documented in our contribution guide) we will merge it. Keep in mind that the smaller the changes, the quicker we can review and accept those changes into the codebase!