Finding That Perfect…

Finding that perfect open source project to contribute to — hopefully easier than finding your soul mate.

This week I went on the hunt for potential contribution candidates. My goal was to find some opensource projects that I’ve used in my day to day life and whom also have the activity of an unearthed ants nest. Simply enough I judged this by the amount of open issues as well as any sign of recent life. Today I will introduce you to my personal short list of projects I intend to contribute to sometime in the near future.


Metamask is a browser extension which allows you to interact with dApps without running a full ethereum node. Specifically I am interested in their main repository for the extension itself which is written in JavaScript. While the documentation is not the friendliest I’ve come across I believe it to be straightforward enough for me to work on.

The reason I chose this project is because I have used it as a tool is the past. It is not only great for real world use but also as a development tool while building dApps. Furthermore, I’ve never worked on a browser extension before and I believe it would be interesting to learn the inner workings of such a complex one. For now, I only intend on working on smaller issues as the complexity of the project is a bit daunting. In this case, it is probably best to start with baby steps.


Hyper is an open-source command line interface which is built on web technologies. It is an incredibly flexible command line as it supports plugins and themes. It uses standard HTML, CSS and JavaScript to render this. Unfortunately there does not appear to be any documentation available, I will have to learn as I go. Their repository on GitHub appears to be very active. It is possible also that I venture into the xTerm repository as this is what is used to emulate the console.

I’ve chosen this project as it is my currently command line of choice. I enjoy that it has the ability to be customized as well as having tabs. The community looks very inviting as well.


Leiningen automates the process of setting up and building a Clojure project. At the moment it is the most widely contributed to Clojure project on GitHub and therefore I believe it is a good candidate. I use it regularly and it definitely makes the process seamless. The project has a contribution page which is very friendly and for me displays they appreciate their contributors. Up until this point I have never worked in a large Clojure environment and my experience is limited to ClojureScript web development. I am hopeful this will take me out of my comfort zone and allow me to develop best practices in Clojure.

I intend to write about my success and shortcomings in the following weeks regarding my Open Source contributions. Wish me luck!