Passion of the Open Sourcerer

Hello, my friend. Stay awhile and listen.

10 Years ago

I was sitting behind a regular office desk, perhaps the same type
as yours, as you are reading this, when I had the intention of documenting a Symfony 1 application I was working on.

I had freshly installed this incredible tool I had just learned about using PEAR and read up on how to use it. This was my first interaction with phpDocumentor. At that point in my professional life, it felt exciting to see Open Source applications do their magic, and this time was nothing different for me. I typed the commands that the documentation prescribed and hit the Enter key; anticipation built up while the first pieces of output darted across my screen. My typed incantation was working!

Never lose the feeling of wonder and magic; too many things in life are boring enough.

Unfortunately, my excitement did not last long for the fans on my laptop started to spin loudly. The darting output slowed down to the point where I could write faster and my O/S was alarming me that its memory was overflowing. My computer had become unusable and I was left without any documentation still.

At that point I was frustrated, the magic had gone and only an empty feeling remained. But I still believed. And as such I set out to contribute to this project that I believed in; I read its source, followed its logic and undertook to patch its core so that it would use less memory.

When you are confronted with a setback; turn the table and grow from that situation; if you can do that in a way that benefits others too, even better.

In the end, I failed. As I recall, I found the core architecture unsuitable for low memory consumption and in my youthful overconfidence I believed I could do better and started a new Open Source project called DocBlox. My aim with DocBlox was to do the same thing but ‘better’. I set out to create an architecture where memory consumption was low, speeds were high and I could feel the magic again. With that magic, my passion grew as I was creating something new of which I felt that it would benefit others like me.

At some point, I discovered that the original creators of phpDocumentor were unable to actively maintain the project. I felt uneasy in my decision to start a competing project while that one was struggling. This was the first time I discovered how few active contributors well-known projects frequently have. So I decided to reach out to Chuck Burgess, one of the core developers on phpDocumentor, to discuss whether DocBlox might instead merge with them and give birth to a new phpDocumentor: version 2. He was excited about the prospect and not long thereafter we merged the projects together and phpDocumentor 2 was a fact; arisen anew like a phoenix!

As a community we stand stronger; Open Source projects count few consistently active contributors; often it is more productive to work together than to work against one another.

Now, 10 years later

Jaap and I, the two active core contributors on the project at the time of writing, have spent many hours of our free time to get phpDocumentor 3 out there. We have dreams and initiatives to allow it to generate even more relevant documentation, including reference documentation.

As I reflect on how this all started, there are moments where it baffles me that the project is still active and improving after 10 years. I have seen contributors come and go, ideas and initiatives started, aborted and finished. But one thing was consistent:

The project is carried by the burning passion of a few.

Now, I can see that almost every Open Source project is carried by the passion of a few, often just one or two people. Some of these people have been active for a decade or more. This includes well-known and well-used projects like PHPUnit or Composer but also outside of PHP; for example, cURL and OpenSSL.

Are you one of these few? You are a magnificent hero and I thank you from the bottom of my heart.

Are you not? Don’t fret! If you can, pick a project and help out; even with just one pull request. You cannot imagine how much that means to many a maintainer.

Ever since I picked up my passion for phpDocumentor, I have also seen periods of stress, I have been burned out and sometimes even felt desperation or anxiety. I wondered whether working on phpDocumentor mattered, whether it really helps people. And sometimes, I still do. During these periods the passion is lower, and I am not able to put as much effort in the project as I would have liked.

If you have ever felt like this: it is OK. Let it be for a while, do what you need to re-energize and talk to your co-maintainers about it. Then, after a while, agree to meet somewhere in person and just talk about your project. If you are in a good place again, you will feel engaged and that passion flares up.

At the same time, I have felt great pride and felt humbled that so many
use phpDocumentor or its components. The community, both those who contribute and those who use phpDocumentor, have been a source of passion for making something worthwhile. The numerous talks there have been at conferences, online or just through a simple tweet; all of this keeps the candle burning and even reignites it again when it’s needed.

And then

Now, I want to thank those who went on this journey with me for all these years and for the years to come. And I hope, that if you didn’t know already, that you can feel that people working on Open Source need you to keep going. Your support, in whichever way you can, is vital to keep those few going who maintain these projects.

You can make a difference.