At the start of an open source project, it is important to make the right decisions to gain a healthy contributor and user base. It can quickly be seen by comparing successful and failed open source projects, that the projects with many contributors and a thriving user base are the ones that are most successful. But how do we get there? What are the right decisions to create a successful open source community? These are the questions that this article addresses.
We believe there are at least five important properties that all constitute how well an open source project will succeed:
- Reliability and support; whom do you call if something breaks?
- Credibility; can you trust the product?
- Maintainability; is it easy to extend or fix the product?
- Marketing; do the intended users knows about it?
- Usability; does it answer a need?
The most important factor is likely reliance on support. If a product fails and there is nowhere to turn for help, any engineer knows that the product cannot be used unless providing the time and money needed to sort problems out their self. Arctic Core solves this potential show-stopper by providing support from community members and commercial support from the professionals behind the project.
Another factor playing an important role is the credibility of the project. Unless the product can be showcased in a successful implementation and relevant research, using the product becomes a risk of the implementing organization. Arctic Core has been used in academic research and is currently being prototyped in an electrical vehicle, hopefully with many more showcases coming up. Furthermore, the standard that the project relies on is widely tested and researched. In fact, the first cars using the standard, the BMW 7 Series, started rolling out already in the autumn of 2008.
Due to the many tampering hands of an open source project, the code base risks becoming kludged and documentation might fall behind. Maintainability, as with any software project, is a result of documentation and code structure, and reflects the ease for a potential contributor to dig in. Therefore, Arctic Core relies on a widely embraced automotive standard to provide the API documentation, and makes a big effort to aid and organize the development. All commits to the main branch are carefully reviewed for code standards.
In order to reach new users and reach more applications, some marketing is required. For traditional open source projects, software enthusiasts and academies have been the driving marketers. However, in a more hardware and industry oriented product, we believe that word of mouth, blogs and exhibitions all play an important role for growing a user base. And to gain and retain contributors, proper credits and acknowledgements play a key role in sustaining a healthy pool of developers; as does cooperation with industry partners.
The above factors are however useless if the product too lacks use. The most important, although trivial, factor for succeeding with an open source project is that the product answers a need and does its job. The need of a low-cost automotive standard for single ECUs as well as for complete systems is prominent for any developer targeting multiple OEMs, making Arctic Core the answer for future embedded development. We believe in our solution that frees the time to write drivers and more time to develop the actual application, significantly improving the quality and efficiency of the automotive industry for embedded systems.