I just realized that I have known about open source software for more than half of my life. Today, I look back to using open source software for 17 years and joining my first open source community 14 years ago. This blog post is about how I got started in open source and some early lessons learned.
I learned about open source software after I bought my first computer at the age of 13. I had made a deal with my parents that I would get money for a computer if I successfully spent one year in the USA. I went from not understanding English to having A’s and B’s in all subjects. Back in Germany, I found a computer I liked on eBay, bought a 19” CFT monitor, and Diablo II as my first video game. Oh, the memories.
Learning to develop software
At the time, I had a friend in school who was a few years ahead of me and already knew Delphi 6, a programming language taught in our school. I was amazed by the things he could make his computer do and my interest in software was born. I got a copy of the Delphi 6 and started combining recipes from an online cookbook to build software that was fun and entertaining. I still light up at the thought of an endless loop opening and closing the DVD drive — only today I don’t have a DVD drive anymore.
I found other friends who were interested in computers and software. One of them showed me web technologies and PHP specifically. On a youth group retreat, I devoured a PHP+MySQL book I had bought with my own money. I still remember creating one of my class project reports as a PHP application and having to explain XAMPP to my teacher. While learning more about PHP and web technologies, I was also learning about open source.
Joining my first open source community
I don’t recall reading The Cathedral and the Bazaar but I knew of the text and how it described the collaborative way that open source software was developed. As a high school student who was writing software for fun and sometimes to annoy my siblings, I was intrigued by the possibility to join a community that was developing software together.
I followed a recommendation to join an open source community of a software package that I was already using. This is how OpenOffice.org became my first open source community. I started by lurking on mailing lists. I learned that there were separate groups in the community. As a German boy, I decided to help with testing the German release of OpenOffice.org. I downloaded the release candidate, installed it, and reported issues when I found them.
Contributing non-code contributions
Testing a release candidate was my first contribution. The sense of being part of something bigger was exhilarating. I never contributed a single line of code to OpenOffice.org but found other ways that I could help. This first experience impressed on me the importance of having an open source community in which all types of contributions are welcomed and valued, not just code-contributions.
For example, I vividly remember rethinking mnemonics. What are mnemonics? They are the underlined letters in a menu that allow you to quickly select a menu entry by typing that letter on the keyboard. Over the years, menu entries had been added and in the German user interface, there was no apparent logic to the mnemonics. I volunteered to fix this situation. I printed all menus and while on vacation in Vermont, USA, I sat in the backyard and mulled over which letters would best be used for mnemonics. I was not the one implementing it but I provided a first draft that was accepted with few changes.
Learning from and experiencing an open source community
I’ll mention one last contribution to the OpenOffice.org community because I have a physical artifact and it taught me three important lessons. For the OpenOffice.org conference in Lyon in 2006, I designed the DVD label and cover.
The first lesson I learned from creating the DVD label and cover is the importance of attributing the work of others. I had taken a scalable vector graphic (SVG) image created by someone else and added specific information about the event. When I submitted my draft, I was called out for changing the “author” field in the SVG, because I had not created the original version but only modified it.
The second lesson I learned from creating the DVD label and cover is the value of iterating with the community. I went through several iterations of the design and always got good feedback from other community members. To be honest, I had never designed a DVD label and cover before and so I learned a lot in the process. To this day, I think of that same feedback when I am designing anything graphical.
The third lesson I learned from creating the DVD label is the power of thanking community members. I still know the name of the person who asked me for my address to send me a copy of the DVD and I still cherish this little trinket.
Moving on to other open source communities
A traumatic event occurred in the OpenOffice.org community when Oracle acquired Sun and with it the trademark and employed maintainers of the OpenOffice.org project. The fallout that followed and led to the founding of The Document Foundation and LibreOffice have impressed on me the power that a vibrant community has, even over a large corporation that basically “owned” an open source project. I first hand experienced and understood the implications of forking, a core feature resulting from the open source licensing model.
I will wrap up my journey into open source by highlighting other communities that I have been part of and what they have impressed on me.
I joined the Drupal community because I was developing web pages as a freelancer and I found Drupal to be a flexible platform that suited my needs. Drupal was the first open source project that I contributed code to and I was super excited to be involved in the development of Drupal 7.
Toolkit for YNAB is an unofficial browser plugin that adds features to the You Need A Budget (YNAB) web service. I had contacted the YNAB support about features I wanted and ways in which YNAB was not intuitive for me. The YNAB support kindly referred me to the open source community that was implementing those features in Toolkit for YNAB. The features are not part of the web service and break with new releases. I am amazed by the ingenuity of this project.
The Core Infrastructure Initiative (CII) Best Practices Badge Program is a self-certification that open source projects can obtain to signal that they have established best practices. I joined the conversation during the development of the Silver and Gold badges. Then, I started translating the CII Best Practices Badge web app to German. Funny story: When a friend of mine visited from Germany and asked for something to do, I recruited him to help with the translation. He ended up translating more than me. To this day, I maintain the translation and update it when the web app gets updated.
At the Open Source Summit North America 2017 in Los Angles, I spoke with Don Marti learned about Bugmark. I was intrigued by the idea to have a futures market for open source software issues as a way to provide sustainable funding to open source software contributors. I helped think through and shape the core elements of the futures marketplace. You can read more about it in the Journal of Cybersecurity and HMD Praxis der Wirtschaftsinformatik (German).
I joined the SustainOSS community after attending the summit in 2018 in London. This is not a typical open source community because it is not developing software but establishes a network of professionals around an important issue, the sustainability of open source communities. I volunteer to be a forum moderator.
Lastly, I am a co-founder and co-lead of the Linux Foundation CHAOSS project. This is a much larger story for a different blog post, one part already shared on The New Stack and mentioned here on my blog.
In closing, I am very fortunate to have learned early in my life important lessons about how open source software is developed and how open source communities work. Today, I am happy to have my professional home among the wonderful people who work in open source.