When I first came across Hyperledger Aries, I was still a student at the University of Applied Sciences in Utrecht. I had never contributed to open source, and only minimally understood how the process of contributing and maintaining even functioned. Now, only two years later, my company (Animo) specializes in building SSI solutions using Hyperledger Aries and other SSI technologies, and I am one of the core contributors to a lot of the open source libraries built on top of it.
In this blogpost I’m going to share what it’s like to be a maintainer for the Hyperledger Aries project. You’ll learn how you can start contributing and maybe even set yourself on a path to becoming a maintainer.
Hyperledger Aries provides standards and protocols focused on holding and exchanging verifiable credentials, but it is much more than that. Hyperledger Aries provides the foundation for peer-to-peer interactions, exchange of verifiable credentials and secure messaging. It provides standards through the so-called Aries RFCs and has open source implementations in Go, JavaScript, Python, Rust and .NET.
Aries uses DIDComm for a secure messaging protocol, but DIDComm is a lot more than just a way to exchange credentials. Once you start getting a sense of the enormous potential of DIDComm, it’s difficult not to get excited. Aries provides you with an agent that helps you manage your digital interactions, just like your browser helps you interact with the web.
At Animo, we’re leveraging Aries at the core of almost all of our projects. We contribute to several open source frameworks, develop applications on top of these frameworks and build end-to-end solutions using verifiable credentials. For example, we recently started a pilot with the Centre for Emergency Control Room Innovation that leverages DIDComm for secure communication and exchange of location between the emergency call centre staff and a qualified volunteer. Although we are involved with several Aries frameworks, we have a particular expertise in (and fondness for) Aries Framework JavaScript (AFJ).
We use AFJ for most of our projects. We’ve contributed a lot to it because, simply put, we saw the potential of the framework and someone needed to do the work to get it there. Being a maintainer of a project means more than just contributing code.It means you’re responsible for the overall direction and vision of the project. Maintainers concern themselves with the roadmap, the place of the project within the ecosystem and coordination of working group efforts and calls. On a more operational level, there’s also a lot of reviewing pull requests, addressing github issues, answering questions on Rocket.Chat and writing documentation. If this sounds time consuming, that’s because it is. But putting in the effort is essential to creating long lasting, structurally sound code that can be freely used by anyone to build amazing things.
Contributing to a project hosted by Hyperledger, specifically, means you get a lot of the needed infrastructure other projects might not have. There is a wiki for meeting notes, a Zoom account for our meetings, GitHub repos, unlimited CI minutes, a chat platform, and assistance from the Hyperledger staff when needed.
I can recommend that every developer be involved with open source, and every company invest in open source software. Open source software provides the foundation for almost all software in the world, and is essential for a world where self-sovereign identity becomes a standard.
Besides, working on open source software can be a really good learning experience. You get to work with some of the greatest minds of the industry on the future of digital identity. Maintaining and contributing to Hyperledger, and open source in general, has been really valuable for me. There is something magical about how open source works, and how we can work together towards a shared goal, even if you’re halfway across the world.
I can imagine that sounds a bit intimidating. Luckily, you don’t have to start out this way. You can start the way we all do, by quietly listening to working group calls until you find something you want to participate in. Once you decide you’d like to become a contributor or a maintainer, you’ll find that communities will be happy to help you get started.
Here are some of my personal tips to get involved with a Hyperledger project. I’ve used the AFJ community as an example throughout.
My best advice is to experience it yourself. Even the smallest pull request is valuable to a project and can give you the confidence to keep going. And, before you know it, you’re the maintainer of a project yourself.
If you have any questions, or if you’d like to make contributing to open source software your job, you can reach me at timo@animo.id. We’re always looking for motivated and ambitious people to join our team and are always happy to help new contributors get started.