Stack It:

by Tim O'Brien

Xfire vs. Axis2, Hibernate vs. iBatis, Spring vs. Plexus, Ant vs. Maven..... as James Turner blogs in The Virtues of Monoculture, this abundance of choice is both our strong point and our achilles heel. He writes:

We celebrate the diversity of choices available to solve a problem and call it freedom. IT managers and CIOs look at it and call it chaos, confusion and uncertainty.

Part of the problem is that we look at a collection of projects like Sourceforge, ASF, Codehaus, Tigris, JBoss,, and about a million other open source communities, and there is no central directory to compare project adoption or rate these components. To the uninitiated middle manager, open source is "chaos, confusion and uncertainty". If you are not familiar with the personalities and the communities, how do you sift through the noise without joining a million development mailing lists? Bringing Order to this Free-for-all

I've been using this service for a few days, and IMO it is part of the solution to this problem. If we all agreed to start using it right now, and to vote for the software that is currently in our stack, we're going to provide adoption numbers. If we encourage ongoing ohloh usage, we'll be able to see emerging trends and shifts. I encourage you to sign up....

Not everyone has enough time to figure out the difference between Hibernate and iBatis. Not everyone has the time to sift through the marketing, hype, blogs that surround every corporate sponsored open source project in Javaland. Not everyone adopting open source wants to "participate", or ever wants to be told to "look at the source" on a mailing list. Not every adopting open source is a "developer" capable of understanding the source code. So, we need some tool for people interested in comparing relative adoption and reading reviews. We need a tool that a working developer can use to distill the rocket science into real community data. I think that can provide this insight, but only if we start to use it.

Now, Stack These:


2007-04-27 02:49:52
Looking at Struts 1 thinks that Struts 1 has only been in existance for 7 months (rather than 6/7 years) - probably because of re-orgs in the repository when WebWork/Struts 2 was brought in.
Tim O'Brien
2007-04-27 07:02:44
Sure, I see some problems (or not problems but "issues") with some of the metrics - for example, look at XFire and you'll see that it is exhibiting year-over-year participation declines and there is a warning as such - that's little dubious.

But, what I more intersted in from isn't the metrics as much as it is the ability for people to say "These are the things I'm using" - I hope it catches on, but who knows - take a look at CodeZoo - that never really took off.

Jonathan Revusky
2007-04-29 14:50:10
You are not the first one to argue that the OSS world offers so much choice that it is hard for people to orient themselves. There is some truth to this, I suppose, but frankly, I think the case can easily be overstated.

One of the matchups you mention in your article is CVS vs. SubVersion. I think it may be illuminating to relate my own experience and conclusions regarding this particular "matchup". At some point last year, SubVersion became available as an option to
projects that use and I was wondering whether FreeMarker should use that instead of CVS. Though the only version control software I had ever used up until that point was CVS, I had
never really liked it that much; I always had the vague suspicion that something much better was possible and I was therefore quite favorably
predisposed to the idea that SubVersion would be better. However, there is no reason to fix what is not broken, and I felt the need to do some bit of "due dilligence" on this. Basically, my due dilligence consisted of two things. I googled around looking for opinions of developers on blogs and various forums and so on. I also asked people
in the FreeMarker community whether they had an opinion based on using the two things.

The results of this "investigation" were basically quite devastating. On the basis of my web searches and the feedback in our user community, I drew 2 basic conclusions:

(1) Everybody who bothered to write a blog article commenting on a switch from CVS to SVN was very happy at having switched. Everybody with experience
of both tools thinks that SVN is unequivocally better.

(2) There are no comments by anybody about having moved in the opposite direction. All migration is from CVS to SVN, period.

Let us consider the case of a project manager, in the very early stages of a project, who must perform due dilligence in selecting the various tools and basic infrastructure that the project will
use. Assuming that there is no baggage, and the project is not already using one tool or the other, it is really quite clear that SubVersion
is the obvious choice. The basic evidence is quite devastatingly in favor of SVN over CVS, and I do not believe that it requires very much effort on anybody's part to go through roughly the same steps I did to figure this out.

Another matchup you offer is FreeMarker vs. Velocity. It is harder for me to be objective about this, because I am so involved in FreeMarker. However, I am pretty certain that the same kind of minimal
due dilligence in tool selection that I described for CVS vs. SVN would also lead any evaluator with no previous stake in either tool, to opt for FreeMarker. Just googling around forums and blogs, one
would see quite quickly that all the migration was from Vel to FM, including high profile OSS projects such as Webwork and Hibernate. Just as in the case of CVS and SVN, one would be very hard pressed to find even a single case of anybody migrating their project
in the opposite direction, from FM to Velocity. All the migration is in the other direction.

So the basic idea that there is so much choice out there that it is hard for people to figure out which way is up as regards these things does not really ring true to me. I would add that, for all the huge
number of OSS projects out there, there are really only a small minority of them that have reached a critical mass of community such that a typical moderately conservative company -- and I'm talking
about one that is in principle favorably disposed towards using open source -- would care to depend on them as basic infrastructure.

Now, getting back to the topic of the website you mention, I really wonder whether so much value can really be extracted from all these automatically generated statistics. A project can, superficially look like it is active if there is a lot of nth order puttering about, in particular reorganization of packages and even just source code formatting and whatnot. But, I think, more importantly, the automatically generated statistics cannot replace a basic "nose", a kind of intuition of what is going on (or not going on.)

Anyway, much of the whole problem is not related to how hard it is to compare different things, it's really just not that hard -- quite frankly, it has a lot to do with the laziness of the people involved,
I mean in terms of evaluating, minimally investigating, the different options available in a space. Of course, it's not so much their
laziness (laziness is a human constant) but rather, for whatever exact reasons, people can indulge their laziness. If you were charged with buying computers for the local school district, would it not be
expected that you would compare proposals from at least a couple of different sources? What happens in this field is that there is often one choice that, for whatever reason, is much more visible in its
space than its competitors, people go for that, it basically works (after all, most everything basically works) and then they simply never do any minimally dilligent comparison with anything else. If
you're wondering, the archetypal situation I have in mind when I say this is Struts. Struts was so inferior to Webwork that the Struts
people eventually just accepted that Webwork, with mostly just a bit of relabelling, could be Struts 2.

Yet, Struts 1 could remain the dominant web app framework year after year despite that technical inferiority. (And this case is clear, I
would say, because you see the Struts developers themselves dumped Struts 1 in favor of Webwork.) Again, I don't think it really ever required that
much investigation to figure out what was really going on, that Struts was hardly the best option in its space.

But still, I think we recognize this for what it is, you know, the basic mechanism of this herding sheep-like behavior, of using some
quite inferior tool because everybody else seems to be using it. Another aspect of this whole phenomenon is that commentators such as you, Tim, are, for whatever exact reasons, extremely reluctant to
tell the unvarnished truth about an Apache project like that.

Of course, that's all part and parcel of the herding mechanism; it's just a lot easier to go with that whole flow, it's the path of least
resistance, I guess. I understand all that, but the results in the overall open source "ecology" are pretty suboptimal. I guess there needs to be more of a culture of some minimal due dilligence, at least
comparing the main things in a space rather than just adopting the first thing you try (typically the most visible thing) and never evaluating anything else. And also, the "commentariat" of which you are a part, Tim, really should have more of an ethic of brutal
honesty, telling the truth about things even if it does ruffle some feathers.

2007-05-12 11:52:17
This just goes to show, comparisons of this sort always seem to miss someting. Just as an example, what about XFire vs. Axis vs. Glassfish? Isn't the strength of Glassfish it's built in support for Web Services?
ny real estate sales license
2008-07-20 16:55:08
movies quotes love movies quotes love [link=]movies quotes love[/link] eminem and elton john stan video eminem and elton john stan video [link=]eminem and elton john stan video[/link] ny real estate sales license ny real estate sales license [link=]ny real estate sales license[/link]