This is a single archived entry from Stefan Tilkov’s blog. For more up-to-date content, check out my author page at INNOQ, which has more information about me and also contains a list of published talks, podcasts, and articles. Or you can check out the full archive.

Tending to mediocrity

Stefan Tilkov,

Excellent stuff from BileBlogger Hani Suleiman. I totally agree that the vast majority of open source projects suck. One thing I’ve noticed in the past is that open source software written in more demanding programming languages — such as C or C++ — tends to generally be of higher quality (or remain totally unnoticed, most likely because all they do is crash), far different from Java, where nearly everybody who skimmed through the first few pages of “Learn Java in <take your pick> days” can invent some useless project get it to appear to be useful at first sight. In this case, it’s the newbie-off-turning programming environment that raises the barrier …

On November 17, 2004 1:48 AM, diego sevilla said:

Mmm… it seems that what the article says is not that you’re mentioning about C/C++ vs. Java… It just says “Open Source” as a whole leads to poor projects.

I don’t think he’s right, of course. If you join ALL the software that is under Linux (GNU) plus OpenOffice plus Evolution plus Firefox plus… the argument doesn’t sustain.

Also I’m curious to know where did he obtain the data to say that 50% of patches are not considered or are bad by nature… It may be that way, but where are the statistics?

On November 17, 2004 8:03 AM, Stefan Tilkov said:

Hani is focused on Java; the C/C++ issue is not mentioned in his article. But take a look at the list of examples you provided … it’s simply far too easy to set up another Java open source Web framework, persistence tool, whatever; the low barrier ensures a high rate of failure. Naturally it is entirely possible to build excellent open source software in Java … although I can’t really seem to think of an example from the top of my head.

On November 17, 2004 12:24 PM, diego sevilla said:

Oh, yes, sorry. I got confused. I thought you were saying that almost all C/C++ program crashed. You were refering to newbies trying to start a new project. Yeah, I agree completely that the low barrier leads to poor quality…

In java? Yes, you’re right. It’s not easy to find really good projects. Maybe Eclipse, and the Jakarta project from Apache.

Regards. PD. Nice weblog. I follow it regularly. :)

On November 17, 2004 1:02 PM, Stefan Tilkov said:

Thanks. I’d like to follow yours, but I’m somehow unable to :-)

On November 17, 2004 1:21 PM, diego sevilla said:

Haha, yeah, I love Spanish. However, I plan to maintain a category in English about the CORBA Component Model. I don’t know if you’re familiar with it, but I used to have a page that updated all the information available about it. Now it seems to be pretty much dead, with two or three projects over the world using or implementing it, but anyway I would like to rescue all the information in the CCM page and include it as entries in the log.

On November 17, 2004 2:08 PM, Stefan Tilkov said:

CCM — yes, I’m familiar with it, although admittedly I currently only use it as the perfect example of a failed “design by committee” standard :-)

On November 17, 2004 11:59 PM, Diego Sevilla said:

Well… being part of the “committee”, you’ll understand that my opinion is somewhat biased :) One of the forms of thinking about the CCM is just “EJB for CORBA”. EJB has been relatively successful, and giving CORBA a component model (either if the current spec. is good or not) is interesting “per se”. However, enterprises seemed to lose interest in CORBA, and of course in CCM, and change their focus on Web Services. I still don’t understand what is the good of them, at least in what are they better than CORBA, but that’s how life goes :)

As Tom Welsh said in a conference about CORBA vs. Web Services, if all the resources that companies put to serve Web Services would have been put to enhance CORBA and CCM, we would have a much better and practical specification (and implementations)…

Anyway, the effort failed, some lessons learned. And perhaps in some future time, the lessons learned here serve us to design better solutions (at least better than Web Services :)