Why I Participate In Free/Open Source Software

Introduction

I am asked from time to time about how I became interested in and involved with Free/Open Source Software (F/OSS). This question comes from all sorts of people, ranging from those who think I am crazy to "work for free" to my fellow companions in the F/OSS community. This is the story of how and why I became involved in F/OSS.

In early 2000 I had completed my Microsoft Certified Systems Engineer for Windows NT and had been developing internal applications using Visual Basic 6.0 and Microsoft SQL Server for my employer. The certification was part of my process of transitioning into a full-time career in software development and IT consulting. In early Spring, I was developing my first commercial application that would be used by customers of my client in manufacturing plants. The project had very tight timelines and involved integration with embedded systems that performed high-resolution ink jet printing on commercial products.

The Way of The Proprietary Software World

I ran into a problem at a critical point in the project where the ActiveX Data Object (ADO) Hierarchical Recordsets were not appropriately populating ADO Data Controls properly. Certain that a trip to the Microsoft Knowledge Base would resolve my issue, I performed a search and eventually found Article 192805: Hierarchical Child Recordset and ADO Data Control. However, what I found in the workaround section of the article left me speechless:

Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.

Up to this point, I had been fairly satisfied with my relationship with Microsoft. I had spent my nights and weekends of self-study learning to program and how to build and administer networks, managing to keep the cost of software licenses, books, and certification down to just a few thousand US dollars. In exchange for my time and money, I was allowed to develop software on this platform that many people had and that was offering me an entry point into the world of full-time employment in information technology.

How could this company respond to a known technical issue by simply acknowledging, "yes, that is a problem"? I had paid quite a bit of money as an individual for this tool, and now that it had a glaring problem, I was left to simply figure out another way to do what I needed? I was using the way they had shown me; how could this be? On top of that, I didn't even have a way to report or share additional information about the problem, much less try to help solve it. This struck me as wrong at a fundamental level.

The next major to arise with Microsoft was when they announced that they were going to expire the certifications of an MCSE who certified on Windows NT 4.0. It was part of their attempt to push MCSEs into getting certified on Winodws 2000 as soon as possible. As many people in the industry remember, there was a massive outcry among Microsoft Certified Professionals. At that point I decided that Microsoft would not be getting another dollar from me for certification.

Growing Discontent With Proprietary Software

By late 2000 I had transitioned into my consulting career as a contractor. The longer I worked with Microsoft, the more convinced I was that our relationship was a very dysfunctional one. I gave them lots of money (MSDN Universal subscriptions out of your own pocket are quit a hit to take every year), they decided when and how the platforms and tools would change, and when and how they would fix any bugs and/or technical issues. Incidentally, the bug I had back in early 2000 eventually was fixed, years after I had to deliver my product. I suppose enough people with paid support contracts must have complained.

Getting Into Linux

I had played with Linux off and on since 1997. It was usually Red Hat Linux, bundled with a book on CD either from Que or O'Reilly. I was so sick of Windows and willing to try anything to get away from it that I didn't hesitate to by an Apple Titanium Powerbook when I heard that you could run Linux on it, even though the system only came with Mac OS 9 at the time. I had a subscription with PPC/Linux, and it was rough going getting X to work on that. It took my Linux skills to a whole new threshold, the hard way. It never did work out too well, and eventually I gave up.

With the advent of Mac OS X, I had an easy option for Unix functionality with unbelievable simplicity. In addition, Apple said they had an Open Source version of it; how cool! My subsequent reading of the Apple Public License greatly aided me in deciding to not become involved in that at all. The ultra-cool, slick and sexy graphics of OS X and excellent video and imaging tools were wonderful, but whenever I needed to do something that involved compiling something from source, I would often find that this or that library was not bundled with OS X, so it became this hit-and-miss experience. On top of that, Apple turned out to be quite the fickle partner, and several of their hardware choices were quite discouraging for prospects of dual-booting.

Getting Into Debian

I had purchased O'Reilly's Mac OS X Hacks, and in working through them, I saw one that was for installing Linux on your Mac using a distribution called Debian. They apparently had a quite vibrant powerpc port. I had first heard about Debian from a guy on an airplane flight.

I was amazed at how well Debian installed onto my Titanium PowerBook, and how many things "just worked", like sleep, for example. The community, while oftentimes harsh to newcomers, was still nonetheless vibrant and obviously had some really sharp people. Right away I recalled the names of Ben Herrenschmidt and Ethan Benson on the Debian PowerPC mailing list from my former PPC/Linux days.

The next several months consisted of periods of switching between Debian GNU/Linux and Mac OS X as my primary operating systems. This time served to highlight the differences between the two and clarify what I preferred in an operating system. Apple's operating system offered ease of installation and hardware usage; Debian was free and open for participation and input. There is something about running a free operating system and software, the concrete affirmation of the values that drive the movement, that appeals to me at a deep level. I eventually knew that I wanted to move to Debian for good, accepting the shortcomings in ease of use, presentation, and hardware support in order to embrace the freedom and community of Debian GNU/Linux

Becoming A Debian Developer

The thought of officially getting involved with Debian had been in the back of my mind for over a year, and by Summer of 2004 I was convinced that I wanted to pursue becoming a Debian Developer. I had been around Debian long enough to know that this was a heavy statement. I was working as a Java developer at the time, so I figured the first place to get involved would be with the Debian Java Packaging Project I had been hearing about on the Debian Java mailing list. So, when Jeff Breidenbach posted a message calling for someone to get involved with moving Debian's package of the Lucene library to main, I jumped at the chance. I have not regretted the decision at all. My work with the project has further bolstered my belief in and passion for the Debian community.

I am currently going through the Debian New Maintainer process. I have been very fortunate to have Andreas Barth as my Application Manager. Other areas of this site contain information on what I am currently doing in Debian. Thanks for taking the time to read my "conversion story".

barryhawkins – Wed, 2005 – 08 – 24 17:12