The Source for Java Technology Collaboration
User: Password:



John Catherino's Blog

June 2004 Archives


A treatise on open source development

Posted by cajo on June 27, 2004 at 04:21 PM | Permalink | Comments (0)

Why become an open source developer? I think there are probably as many answers to this question as there are developers. I can only tell you about my decisions. I have been actively developing software professionally for nearly twenty years. I feel, as it is with many of us; it is not only my profession, but also my passion, and my hobby. I delight in learning useful new technologies. In the mid-90's, Java struck me like nothing I had seen before. I began to realize that the network could actually become the computer! (If anyone still remembers that slogan)

I was a very enthusiastic, and early adopter of the nascent 'object-oriented' technology. Having done a lot of assembly language network programming, I immediately saw the benefits it offered in many cases, compared to modular 'procedurally-oriented' programming. I saw in the Java environment, an opportunity to turn networked physical machines, into logical 'objects'. I spent several years actively exploring, and developing the concept; and it steadily continued to astound me. I searched the net exhaustively: did such an approach to simple dynamic clustering of machines already exist? As far as I could tell, it did not. For a moment, selfishness set in; I thought hey, I could lock this down, and cash in!

However, after a lot of consideration, my personal motivation to open the source was that the benefit realized by greater cooperation, was more valuable to me than financial gain. I thought I was already a lucky guy, enjoying an excellent standard of living, and standing on the shoulders of giants. I felt a need to 'give-back', and to help advance the state of the art. I also thought community input would make the framework even better; as I certainly do not have a monopoly on good ideas. Besides, I personally knew I wouldn't have the heart to exclude users of this technology, though I could willingly fight to keep it free for everyone.

Once I decided to create a project; a strange multitude of concerns set in. First I felt a strong sense of urgency. I worried that if I delayed, some company might come up with a similar technique, and assert proprietary rights. I worked day and night, on my most dreaded of tasks: thorough documentation. I knew without that, the project stood no chance at all. Next I realized that even more importantly; people would need an example: simple, extensive, and fully functional. I found this to be even more challenging than the documentation!

Finally: My project site was ready.

Next came fears to which I think every open source project leader can relate:
  • Would people flame my work?
  • Even worse; would some company steal it?
  • Much worse; would no one care?
Fortunately, I can say none of these came to pass. To my delight, initial reception was very positive. However, the challenges were far from over. At times, community input was so active; I worried that I would not be able to keep up. I was after all, doing this on my personal time, and for no money. These typically seemed followed by periods of such light activity; I thought the project had died altogether.

My next issue was how to get the word out; especially with no marketing budget. Every successful design requires mindshare, every bit as much as innovation. Adopting a framework requires not only awareness, but effort on the part of developers. Here I believe open source excels on both sides of the equation: Projects have to be genuinely interesting to justify so much effort, and the community is actively looking for good new ideas.

Developing an open source project requires a lot of time and effort. It certainly is not for everyone. I believe it is as challenging as bringing a commercial product to market. However, if you have an interesting idea, and community spirit, I unhesitatingly urge you to do it. I strongly encourage everyone to investigate, use, and contribute to open source software. I think it is both a social responsibility, and our legacy. As a project owner, I feel deeply indebted to my project's contributors, members, and users.

Rest assured, you will find me working on my project, for the long haul.





Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds