Monday, October 06, 2014

10+ years on the Red Pill

I've started writing this blog entry in April 2014 when I received by post the item in the picture, along with a "Congratulations on your ten-year anniversary with Red Hat!" note. As it is common in our work I've got distracted by the immediate needs of yet another JBoss EAP product release, so I've left the blog post in a draft state (and basically forgot about it), only to rediscover it on a Sunday night, six month later.

I guess, it's now or never: a quick recount of how it all started.

Time flies and this has been the longest period in my life working on any single project: the JBoss Application Server recently renamed to WildFly and also known by its commercial counterpart the Red Hat JBoss Enterprise Application Platform (EAP). Even my older daughter is less than ten years old; in fact, both my daughters belong to the Professional OpenSource era of my life, grown up probably thinking it is perfectly normal to come back from school and find your dad at home, locked in a room in front of his computer, working strange hours and having conference calls at 11pm with his geek colleagues.

My involvement with the JBoss Application Server project has been a long one. I have been a heavy user of JBoss since v2.2 around 2001. I was always fascinated by the technology behind JBoss and I received great pleasure in analyzing the code, understanding how the system works, rip out the parts that were of interest to me and extend them to work in different ways than the software was originally intended for.

That was part of the magic of OpenSource software: the code was out there and it was the ultimate truth. If you had a good grasp of programming and the will and persistence to dig deeper, you could learn more things than any Computer Science course could ever teach you. And you didn't have to physically be at California or Seattle to take part in this technological party: you could do it from your bedroom at some distant and less privileged part of our planet where computer-wannabe-geeks wouldn't normally get a chance to work on something truly advanced. Working for a popular opensource project was like getting a chance to work for NASA from home. Or at least, it felt like this.

And it wasn't just the technology, it was also the people behind it. Tech geniuses of the likes of Adrian Brock and Scott Stark and (angry) Bill Burke and Gavin King and many others. People who's intellect you'd come to appreciate through their code and designs. And of course, visionaries, leaders and marketing geniuses, like Marc Fleury; the guy who lead the JBoss effort and could make everything seem possible. Undoubtedly JBoss Rock Stars, all of them.

I guess the turning point for me came in the summer of 2003. I had followed closely JBoss developments for a good two years and back in my previous company we had used JBoss to base our own products and create an advanced service provisioning platform for telcos. Then, in June 2003 I was fortunate enough to attend a JBoss training in Amsterdam with instructors (guess who?), Sacha Labourey and Juha Lindfors, both of them serial entrepreneurs and good friends by now.

Sacha, the restless Swiss with the French accent, director of JBoss Europe (and EJB Clustering guy at the time, who moved on later on to start Cloudbees), and Juha from Finland (#1 employee of Marc if I recall, and now founder of OpenRemote) with his slow pace and a perfect command of the English language acting as director of training. At the time JBoss Ltd. was basically a bunch of people so everyone was a director of some sort. But there was a common theme among them: extremely sharp and intelligent, both in business and technology. They knew exactly what they were doing and they seemed to be onto something, something big.

At the training I realized that I knew this "JBoss stuff" a lot better than I had thought of. Certainly more than the other trainees and in one or two areas that I had previously delved into, I was probably at least as good as the instructors themselves. I have already had an active role in the JBoss community as a user, but not so much as a code contributor. In any case, we have barely had the time to do our day job, so who would actually consider spending their nights at home to contribute code, for free?

Nevertheless, the training was a blast and I've managed to even contribute a bug fix before the class was over. At which point the thought naturally occurred to me: this stuff is way cooler than anything else I've seen. And those guys are way smarter than anyone else I've known. Should I try to become a code contributor. Do I actually have what it takes to be one of them?

The following months I've set about to find out. I would come back home after work and I would try to make code contributions. Given the limited spare time after the usual 10h work day with the long commute times and the slow 14.4Kbps modem line, things weren't exactly easy. But I still remember the day after Scott Stark gave me CVS write-access to the code repository and I was about to check-in a good chunk of code. Adrenaline was high as I pressed the Enter key that very first time. The code was in the repository for hundreds of eyes to see.

It's a common misunderstanding that opensource projects written by volunteers is of inferior quality. In an ordinary corporate environment it's very easy to write bad code that no-one but you will ever see, except maybe for that poor guy that will have to maintain it a few years down the road. But in the opensource universe, chances are that at least some people will see your code, often people more capable than you. And many more will actually test it. If it's crap, they are going to tell you right in your face. So you better double and triple check the code you've produced before you commit. And if you manage to break the testsuite or the built be prepared for some swift and harsh reaction.

The summer passed, and the fall, too. It was the time where things started becoming serious for that transformed itself from a training and consultancy shop selling development support, to JBoss Inc. with the aspiration of becoming a scalable business who's main revenue stream would be selling production support for the JEMS product line. JBoss received $10M of venture capital and that meant it could expand more aggressively and start hiring people. I.e. hiring the best from the existing pool of volunteer contributors (a strategy that we still follow in Red Hat, BTW).

So February came and it was another ordinary Thursday in the office. Most people were gone by 5pm and I was working late, as usual when I received the following email in my mailbox. That was one of the two reasons that made that day unforgettable.

-----Original Message-----
From: Marc Fleury
Sent: Thursday, 12 February 2004 6:22 pm
Subject: JBoss employment

Hello dimitris,
You seem fairly motivated, what is your professional situation today?
Are you open to discuss possibilities with JBoss EU? I think you may be
a fit for "professional open source".

Marc Fleury himself had just offered me the red pill. That was a common phrase in JBoss speak who often borrowed concepts from the Matrix series. It meant leaving the ordinary world of proprietary software development to enter the magic world of opensource software; and make a living out of it. Nothing would be the same after taking the red pill which signified the point of no return. Or alternatively, you could take the blue pill and forget all about it, be normal like everyone else.

Was I dreaming? It took me exactly 9 minutes to reply to Marc that I am very-very much interested but we obviously had to discuss in detail before I could make up my mind and commit to anything. For a moment I'd felt I had just entered "The Matrix" until the phone suddenly rang and brought me back to reality. As if they were calling me from the mother ship Nebuchadnezzar :

Home: "Are you crazy to still be at the office at that time? Take a look outside your window!"

So I looked outside the window and lo and behold, there was snow; actually a lot of it. That's the 2nd reason that day will remain unforgettable. The most unusual and heavy snowstorm in decades had just hit Athens and I was one of the last people in the office, 57 km away from home, far away from civilization, me and my Honda Transalp 600cc. I put on my gear quickly and rushed out in the snowstorm. I was hopping I could manage to get away before it was too late.

Apparently, that was a bad idea as I ended up heading right into the storm which only got worse. We had about a record 40 cm of snow in less than an hour. I took the 3-lane ring road that goes around Athens but after about 9 km I just couldn't drive anymore. I was knee-deep into the snow, the motorbike had very little grip and I couldn't see a thing through the helmet. There were almost no cars around, and if there were any, they most probably wouldn't see me either, I had to stop.

I found refuge under a bridge where I left the bike and started to evaluate my options. The roads where completely blocked, there was not a living soul around and the battery of my mobile phone was dead. I was almost laughing with myself about the situation: I had just got the best job offer in my life and I might instead freeze and die out there in the cold, without anyone knowing about this, ever. And this taking place in Athens, where a snowstorm of this size is as common as a rainfall in the Zahara desert. D'oh!

But then the open source survival instinct of being thrown into an unknown project suddenly kicked in: where am I? What do I know about this place? Nothing much except that my long lasting friend and colleague at the time, Spyros Pollatos, (and JBoss contributor, too, we had written together the SNMP adapter for JBoss)  lives somewhere around here. Maybe I could find his place and hopefully he will be there, too. But I had very little knowledge of the streets and I had only been at Spyro's place once. Will I remember the house or was that a long shot? Probably as a long shot as me working for JBoss!

So I left the safety of the bridge and walked in the snow for more than an hour, if I remember correctly, with all the motorbike gear on including the helmet. I surely got lost and went in circles a couple of times. But I did find the house in the end and Spyros with Tonia happened to be inside, totally surprised by the stranger who knocked at their door at night. As it happened, I didn't have to think too hard about taking that red pill, I was already living in the Matrix.

Fast forward two months later and here I am setting up my home office to become officially the first (and only) JBoss employee in Greece at the time. I was lucky enough that ADSL had just come to my area offering the impressive speed of 384/128kbs. With a fast Internet connection and my brand new Dell laptop with docking station and 20" monitor (still in use!) that had just arrived I was ready to roll.

And who would have guessed that as part of the welcome package I would also get a mention (with a picture of me under the Parthenon in Acropolis) in the BusinessWeek magazine. Which wasn't really something I had asked for or I could brag about since no-one from my friends actually read BusinessWeek, however, it did serve me well as something I could show my dad to prove that this JBoss thing actually existed and it wasn't a scum to get people working for free from their homes!

But it all worked out remarkably well and JBoss and later Red Hat proved to be the most reliable employer I've ever had. I got to meet some extremely smart and interesting people and got to work on a series of challenging releases, each one advancing the state of the art in application server technology. And doing all that by offering source code and software for free, while making a decent living and helping build the first billion-dollar opensource company.

10+ years living and breathing OpenSource changed my life in ways I would have never thought when this adventure started. And not just my life but the lives of many of my fellow colleagues and developers, some of whom I have offered them, as a hiring manager now, the red pill myself.

Any takers?



Rick said...

Thanks for sharing, this is a good read.


Unknown said...

I finally understood everything!!!
Thanks for sharing.
Kostis Grispos

Dimitris Andreadis said...

I'd thought I ought to record this somewhere, before it's forgotten.

KostasC said...

Inspiring story Dimitris, thanks for sharing...

Andrig T Miller said...

Nice story. I had never heard you talk about how you came to JBoss before. It made me think about how I ended up a JBoss too, but that's for another time.

Unknown said...

Thank you for sharing. I really enjoyed reading your story. Awesome...

Dimitris Andreadis said...

Thanks everyone, it does look magic when you think about it. But I am sure there are other JBossians around with similar stories, so looking forward to reading them :)

Unknown said...

Thanks a lot for sharing this ... For me (Computer Science Student) this story gives me a lot of inspiration and motivation.

Thanks from Mexico.

Nassos Kourentas said...

Really inspiring and motivating story that needs to be recorded to ensure that the JBOSS contributors community will remain hyper active and alive for many years to come!