We hosted a Passover Seder for almost fifteen people at our house early this month. We went to friends on the second night, and they had about the same number. Common to both was the singing of Dayenu.
Dayenu means “it would have been enough.” Here is part of the song:
Five Stanzas of Miracles
If He had split the sea for us.
If He had led us through on dry land.
If He had drowned our oppressors.
If He had provided for our needs in the wilderness for 40 years.
If He had fed us manna.
The theme of “it would have been enough” also applies to open source. When I try to explain why one should start a new open source project, as Philippe Charles and I did when Jikes was released as IBM’s first open source project, I make the following argument.
- Start with code that is “good enough.”
- It is not about the code, it is about the community that forms around the code.
- If is not about the community, it is about the people in that community.
- It is not about the people, it is about the relationships you can build with them.
- It is not about the relationships, it is about the opportunities that may come your way because of those relationships.
- It is because of these opportunities that you should engage in open source.
For example, because of Jikes it is fair to say that for most of 1999 I was known as the “open source programmer at IBM.” A few months into the year I got an email from someone who worked for one of the world’s largest banks. He said they had thought of a new project based on XML and thought IBM might be interested in collaborating on it.
I forwarded the email to someone in IBM who I though might be interested. I thought that was the end of it. However, a few years later, when I went to work for the Open Source Steering Committee, the group established to manage IBM’s open source activities, I went through the archives. I learned that one of the first proposals ever presented was that of the bank.
I could find no record of how the matter was resolved, but that is not important. What is important it that an opportunity came IBM’s way only because of our work on Jikes.
Another example came in 2004, when I was able to save the job of an IBM colleague who was a well-known open source developer, by finding him a place on the Cloudscape/Derby team.
Early on in the Cloudscape/Derby days I got a note from someone at Zend, asking for the loan of a few surplus machines so that Zend could establish a professional development/certification program for PHP. Though I soon learned that IBM did not usually give away machines for this purpose, I knew that Steve Mills, head of IBM’s Software Group (SWG), was a strong believer in professional education. I also knew that PHP could play an important role in the Cloudscape/Derby effort. WIth the help of a colleague from SWG marketing I was able to secure the loan of five old laptops, and sent them on their way to Zend. At the time Cloudscape/Derby was still in progress, so I didn’t tell Zend my real motivation. I just said their request made sense and that they were welcome to the machines, and that IBM didn’t expect to get them back. 
In mid-July I learned the Doron Gerstel, then CEO of Zend, would be in New York City in a few days, and arranged to have breakfast with him in Manhattan. He began by saying he had been trying to establish a relationship between Zend and IBM for over a year, but had not known whom to approach. I said I was the person he was looking for, and then I told him about Cloudscape/Derby. He — or perhaps someone else from Zend — was present when IBM announced Derby at a conference a few weeks later.
Doron is now at another firm. I recently re-connected with him when I started to build out my LinkedIN network. I came to know many of the people now in my network through my open source activities, and I fully expect more opportunities will come my way because of them. Of course, I will also try to apprise them of new opportunities. For example, I learned a few days back that a company was looking for someone with expertise in compilers for VLIW machines, and sent a heads-up to one of my colleagues in the LinkedIN “Compiler Experts” group.
I could give many other examples, though I trust these few suffice to prove my point.
Here is an Open Source Dayenu:
- If they had given us the code, it would have sufficed;
- If they had built a community around the code, it would have sufficed;
- If they had built relationships with people in the community, it would have sufficed;
- If they had brought new opportunities because of those relationships, it would have sufficed;
1. As the Jikes days drew to a close, I said to myself, “Dave, you are lucky that Jikes was IBM’s first open source project, for IBM will probably establish some sort of process for future projects, and you won’t have to deal with it.”
Little did I realize I would become part of that process within a few years.
Having written “little did I realize,” I was reminded of the opening of a short story by V. S. Pritchett. It begins something like this: “I set sail for Ireland on a Monday morning. Little did I realize I was sailing into the fifteenth century.”
2. Zend never did send them back. One of my last acts at IBM was to explain why I could not return the five old laptops listed on the IBM property that I was responsible for.