The Source for Java Technology Collaboration
User: Password:



Romain Guy

Romain Guy's Blog

Is an Open Source effort transferable?

Posted by gfx on August 12, 2005 at 02:34 PM | Comments (3)

In my previous entry I talked about Wicket, a cool Java web framework (I can't stress that enough it seems :). As I was writing my praises I was almost certain someone would raise the old and annoying subject of duplicate effort. It turns out that the very first post fulfilled my expectations.

In the case of Wicket, the point made by a some readers here was that Wicket's guys would better work on an existing framework like Tapestry instead of "reinventing the wheel".

First, creating a new and similar to another Open Source project is not reinventing the wheel. No matter how close two projects can be they'll never be exactly the same and they won't match the same requirements and goals from a user's perspective and from developers point of view. Don't think of wheels, but of tires. There are a lot of different sorts of car tires nowaday because they all suit a particular need. Every winter in France we change the tires on my dad's car to put snow tires. Why don't we complain about that and demand good tires for both steep and snowy roads as well as dry and hot freeways? Because that's not what you really want, you want a set of tires very good at one thing instead of clumsy at many purpose.

And I know what I'm talking about since I spent 5 years working on Jext, a free software source code editor. How sick is that, creating yet another source code editor? The same people who complain about Wicket being YAW (Yet Another Whatever) could tell me that I should have contributed to an existing project instead, like jEdit or vi or emacs. After all why would we need another editor? I did not, for instance, worked as a contributor (even though I did write quite a few plugins) on jEdit because I didn't like the UI and I still don't like it. That's silly but that's the only readon I wrote my own. It turns out that despite jEdit's numerous qualities (it's a wonderful editor, much more powerful and advanced than mine) many people chose Jext because they preferred my way of doing a source code editor. It can be all about details but in the end it is really about choice.

What would the OSS/FS landscape be if every contributor would be so narrow-minded that it would take the easy way and just subtmit some clunky patches to the only one or two existing applications in one particular domain? How would you feel if you couldn't choose your favorite Linux distribution (I go with Mandriva) or your favorite desktop and/or window manager (hmmm Gnooome)? Well, you would complain, whine and stampe your feet in anger until a bold mind would fork the stuff. We all want to have the choice because we're all different: we don't have the same habits, agendas, preferences, etc. To be truly honest I feel dumb to explain that because, eh, we all know that already...

Then OSS/FS efforts and competences are not transferable. Having a guy working on a given project for one month doesn't mean he could dedicate the same amount of time (if any) on another project, even a similar one. People contribute to Open Source and free software because they are thrilled and motivated or because they have a need to fulfill. Thus, they wouldn't do the same with another project. I remember writing a few patches for SpamBayes a bayesian spam filter written in Python. I would never have contributed to any other spam filter because SpamBayes was the one I liked and the one I wanted to dedicate time to. At this time we were seeing new spam filters blossoming all over the web. Would SpamBayes guys have contributed to SpamAssassin instead? I truly doubt so because both weren't exactly the same. Would I have contributed to another spam filter instead? No, never, because I wanted to code in Python, in wanted to implement those particular features and because SpamBayes was the only spam filter which attracted me.

Developers time is not interchangeable and never will... unless threatened by a weapon, a huge check or free sex - a fourth alternative is the Hollywood one, that is a combination of the first three.

I really think it's time we move forward and kill one of the most long-lived and dumbest myth ever. Learn this: duplicate efforts are natural, useful and sane.

There's much more to say on the topic but I'll let you continue this discussion now :)

Bookmark blog post: del.icio.us del.icio.us Digg Digg DZone DZone Furl Furl Reddit Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment

  • For a somewhat different perspective, please check out my blog on babies and bathwater.

    --John

    Posted by: johnreynolds on August 12, 2005 at 03:48 PM

  • I do agree with you but it's difficult to tell whether we'd have the same degree of freedom in our choices. How would a common base affect frameworks? Maybe server-side guys should follow the example of rich GUI toolkits developers. The toolkit is the set of common components, like JSF in your text, and we have frameworks on top of that (but not too many of them unfortunately) like Spring RCP or NetBeans Platform.

    Posted by: gfx on August 12, 2005 at 03:57 PM

  • Quote of the decade if not of the century: "Don't think of wheels, but of tires"
    ;-)

    I agree with your point of view. Beside, what would happen if such or such unique solution occured to be a huge load of crap?

    Posted by: poppleton on August 17, 2005 at 02:22 AM





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