Open-source projects may be one of the greatest things that have happened during these last decades. We use or see them on a daily basis (e.g., Wikipedia, Android, and Linux), and sometimes we can’t imagine our lives without them. They are a great way to learn from experienced individuals, contribute to something bigger than oneself, and be part of a great community. But how do you manage such a project when contributors are not remunerated and scattered all over the globe? In this short article, I’ll describe my experience managing the Mooltipass Offline Password Keeper Project.
Mootlipass is a compact offline encrypted password keeper that remembers your credentials. I launched the project in December 2013 on Hackaday.com, which was the perfect place to promote such an idea and call for contributors. While there was ample interest and an appreciable number of applicants, it rapidly became apparent that people tend to overestimate their spare time and their ability to contribute. Only 40% of all applicants stayed with us until the end of the first stage: agreeing on the tools and conventions to use. After a month, the project infrastructure was based on GitHub (code versioning and management), Dropbox (file exchange), Trello (project management and task assignment), and Google groups (general and developer discussions).
A sense of community was one of the key aspects that helped us succeed, as contributors were not remunerated. We agreed on a consensus-based decision making process so that one person would not have too much control. I assigned tasks based on the contributors’ preferences and availabilities, which kept everyone motivated.
Once the development started, the strict rules we had agreed on were enforced and pull requests were always reviewed. This ensured that contributors could easily come and go as they pleased while reminding them that their code was part of a bigger code base. Feature and aesthetic design decisions were made by the Hackaday readers through online polls, and the name “Mooltipass” came from an avid project follower. We wanted to keep readers constantly involved in our project to make sure the final design would please everyone.
Overall, there were many key elements to our success: visibility, pragmatism, openness, and determination. Launching via an established online community gave us a great start and enabled us to build a strong backing. Individuals of all ages and backgrounds participated in our discussions.
— ADVERTISMENT—
—Advertise Here—
Taking the face-to-face aspect out of project management was tricky. Frank and honest conversations between developers were therefore highly encouraged. And we had to remind participants to not take negative or critical feedback personally. Fortunately, we quickly realized during the project development process that most contributors had exactly the same mindset.
In addition to the project contributors, it was also necessary to manage the general public. Patience was the key. We carefully addressed the many questions and concerns we received. Although several anonymous users had input that wasn’t helpful, on several occasions random people sent in tips that helped to improve our code and algorithms. We offered people the opportunity to implement the isolated features they wanted by contributing to our repository, which helped cut many Google group discussions short. After all, the entire development process was completely transparent.
Thinking about managing an open-source project of your own? It isn’t for the faint of heart. While running the project, I felt as though I was both a contributor and “benevolent dictator.” Fortunately, my engineering and managerial skills were strong enough to see the project through.
It was heartwarming to see that all 15 developers joined the adventure for the fun of it or to work on a device they wanted to use later on. Only one contributor was let go during the development process due to extremely slow progress. After 1,500 commits, a year of development, a $130,000 crowdfunding campaign, and delivering all units by August 2015, the Mooltipass project was a success. It is a fascinating testament to the efficacy of an open-source, crowdfunded project.
This essay appears in Circuit Cellar 306, January 2016.
— ADVERTISMENT—
—Advertise Here—
Mathieu Stephan is a Switzerland-based high-speed electronics engineer who develops and manufactures consumer products (www.limpkin.fr). Most of his projects are in the domotics domain, which is where he feels he can help people the most. Mathieu documents his open-source creations on his website in an effort to encourage others to get involved in the electronics world and share their work. He holds a BS in Electrical Engineering and Computer Science from ESIEE Paris and an MS in Informatics from EPFL in Switzerland.