Hyperledger is the fast growing project of the Linux Foundation. It’s a global community building open source frameworks and tools for enterprise blockchain, so it’s building the foundations for a transformative new technology.
Just like with any open source project, if you get involved with Hyperledger, you can shape the direction of the project so it will fit your needs and use cases. And, if there’s something that’s particularly of interest to you coming up with Hyperledger, getting involved will accelerate the work that is happening and you’ll get that release that you want sooner.
Of course, if you haven’t been involved in an open source project before, there are a few things to know before you get started. It’s not like doing work where everybody’s in the same room and you can talk to somebody who’s sitting right next to you. It’s a distributed worldwide virtual online community, but that doesn’t mean you should be intimidated about getting involved!
One tip is feel free to lurk. Sign up to our mailing list or join a call and just observe. Watch how people interact. Once you get familiar with that, jump in. All our tools are open by default. You don’t have to wait for an invitation. If you want to come to a meeting and ask a question, that’s great. If you want to submit a bug, that’s great. If you want to send us some code, please do. You don’t have to wait to be asked.
And lastly, do know that we have a code of conduct. Give it a read to get comfortable with how things operate and know that there is an enforced set of standards of how people interact with each other.
Hyperledger Basics
The first thing to know about contributing to Hyperledger is that, while there are over 235 Hyperledger members, membership is optional. People and organizations are welcome to contribute without becoming members. To get you started, we have a set of online tools that are essential for all the different contribution opportunities. The get access to these tools, you need a Linux Foundation account. You can log in here to get one for free.
Here’s a rundown of ways to get involved once you’ve set up your account:
Email and Chat
Our chat server and mailing list are two different tools to help you interact with the community online. Both serve the same purpose, so it’s really a matter of preference. Some people prefer the real time chat interface and some people prefer the mailing list. Especially with a global community, the downside of chat is that there are people all around the world and time zones make it difficult. So, while chat’s great to get immediate feedback, only a subset of the people in the community is online at the same time. You’re welcome to talk to people on the mailing list. Again, don’t wait for an invitation. Subscribe, join a chat channel, then introduce yourself and ask questions.
Wiki.hyperledger.org is another place to connect with the community. You can see all of the different working groups have and there’s also a link to the community calendar with information about all of the different meetings occurring across Hyperledger.
Meetups/Events
For local community connections, we have more than a hundred different meetup groups all around the world. And that’s a great way to get started. There are meetups held every week. Find out where all the upcoming meetups are here.
Attending a meetup is a great thing to do but please also consider speaking. Meetup organizers are always looking for people ready to share what they are doing with the project and for demos and discussions about the interesting things that are being done with Hyperledger. Meetup organizers are also often in need of space and food for events so, if you have a meeting space that you want to offer up, that would be great.
And, if you go to the map and you see that there’s not a meetup in your area, we would love for you to organize a new meetup. If you are interested in getting a meetup effort going in your area, please email meetup@hyperledger.org.
You should also consider attending the Hyperledger Global Forum. At the end of the year in Basel, Switzerland, the community will gather to talking about everything Hyperledger. Get more details here. You have until until July 13 to submit a talk.
Social Media
We’re a small organization and so, to let the world know what we’re doing, we rely on community members like you telling your friends, telling your own networks, and helping us share in telling the story. We have a very active Twitter account. We’re also on Facebook, LinkedIn, and YouTube. Feel free to share the news that you’re seeing there and help us amplify the word.
Content
If you are doing something with Hyperledger and want to share it, we encourage guest posts here on the blog (see the guest blog guidelines here). You can also take part in our Developer Showcase Series.
Back in November of last year, we surveyed the Hyperledger technical community and asked, “How do you find answers to questions regarding Hyperledger and its various projects?”
Not surprisingly, 68 percent of the community members said that they found those answers looking at documentation. However, documentation is frequently overlooked. 93 percent of respondents to an open source survey observed that there is incomplete or outdated documentation across all of open source projects. 60 percent of contributors say that they rarely or never contribute to documentation.
So, since this is really the starting point for people who have questions and are just entering the community, contributing here is actually a really good place to get your first pull request accepted. It’s a great introduction into the same process as updating source code but with a lower technical bar for entry.
Our training and education working group is another place to help move the community forward. Like all of our working groups, this one in open to anyone who want to participate. It meets on a biweekly basis and is focused on developing open source training material to educate people who are interested in expanding their knowledge of Hyperledger and its projects.
Code
The next place where you can contribute is to the Hyperledger code base. Even though each of our projects uses slightly different tools, the steps for contributing to each of the projects are generally the same.
The first step is to explore the contributing guide for a project. All open source projects have a document at the root of their source directory called “contributing,” which is a guide to finding information about core activities like: how to file a bug, what are the project’s coding standards, where to find the code, where to look for issues that you might start working with, and what are requirements for a pull request. In addition it provides other information that allows to really be successful in each of these different communities.
Next you’ll need to get the code on your machine so that you can make the changes. If you’re working on a project that uses Gerrit (Fabric, Cello, and Explorer), you can clone the command from Gerrit to Hyperledger.com at Github.com/Hyperledger. You can also locate read only copies of the Gerrit repositories within GitHub.
The rest of the project uses GitHub and can be found at the Hyperledger organization of GitHub at Github.com/Hyperledger. For these projects, you’ll first want to force the repository and then clone your local repository.
The next step is to find something that you want to work on. A number of our projects have issues that are labeled with a help wanted tag or a good first bug tag. If this is your first time contributing, these are issues that are always good ones to start with.
Once you’ve found something that you want to work on, you make your changes. Of course, you’ll want to test and verify those changes before submitting a pull request. And then, no matter how small your pull request, you should expect comments. Comments are really a normal part of the process. Don’t let them scare you away. Instead, address the comments and resubmit your pull request. It may take a couple of times through this process, but eventually you’ll have your first merge pull request.
In many projects, we use JIRA for issue tracking. We also have some projects that use GitHub issues. For any project, if you spot a security bug, we ask that you report it in JIRA to make sure security issues are kept confidential. If you don’t want to use JIRA for security issues, you can always send the bug to security@hyperledger.org.
Ambassador Program
Once you become a pro at contributing to Hyperledger, you should consider becoming a Hyperledger Technical Ambassador! This is an official role we give to people in the community who have expertise in the different Hyperledger projects and are interested in helping new community get involved in the different projects.
Our technical ambassadors are really passionate about Hyperledger and blockchain and smart contracts. They have a high level understanding of all of the projects, but a deep technical understanding of at least one of project. They’re community influencers and evangelists, have really engaged with a project by contributing to the forum or the online groups and really just helping people out in general.
That’s it! We hope you join us in contributing to Hyperledger projects! As always, you can keep up with what’s new with Hyperledger on Twitter or email us with any questions: info@hyperledger.org.