LWN.net Logo

Multiple implementations a good thing

Multiple implementations a good thing

Posted Jan 1, 2008 13:23 UTC (Tue) by tialaramex (subscriber, #21167)
In reply to: Multiple implementations a good thing by tuna
Parent article: A Perl 6 status update

Suppose, hypothetically, that there's a very important piece of work that you know needs to be
done on a project. It needs buttons.

But, the project's leaders and main contributors are sure their new plan makes that work
unnecessary. They have a six month plan to build a framework for general fastening, including
a heuristic zip-and-velcro system that should render buttons obsolete. So they tell you not to
even bother writing a patch, because hey in six months they'll just have to rip it out again.

Several years later the six month plan has been "delayed" because it turns out that solving
the general problem of fastening isn't as trivial as it seemed when they were drunk at a
conference. But there's now a timeline, a schedule, two new source code repositories and a
paid bounty system. But there still aren't any buttons, and buttons were all the users
actually asked for in the first place.

Now, what exactly do you win by standing up and saying "I told you so" when that's already
what everyone except a few deluded developers is thinking? Do you fork, causing a year long
flamewar in which many people will decide that it's better to abandon the entire project than
to put up with so much childish spite ?

Sometimes projects, whether Free Software projects, or just the project of redecorating the
bathroom, get mired down somehow and should rightly be abandoned. You can always move home
instead.


(Log in to post comments)

Multiple implementations a good thing

Posted Jan 1, 2008 21:10 UTC (Tue) by tuna (guest, #44480) [Link]

So write the patch and have the main authors yank it out later. Or write a "libbutton" for
whatever you need.

Your argument would be much better if you could point to a real example where this has
happened.

And as always, you can ask other people to do stuff as much as you want, but if no one wants
to actually do the work, the stuff won't get done.

Here's your example

Posted Jan 2, 2008 17:43 UTC (Wed) by tialaramex (subscriber, #21167) [Link]

Not that I'm bitter or anything, but take a look at how the GIMP is still waiting, years later
in 2008, for "GEGL integration" that's supposed to finally deliver the features slated for
GIMP 2.0 all those years ago.

What the users wanted, more than anything*, was high dynamic range. It wouldn't have been
trivial to do it, maybe several of the old hands would have to spend a few weeks hacking on
dirty low-level code in the GIMP core, in addition to all the work from lesser mortals like
myself - but it was definitely possible, and it could have been delivered in GIMP 2.0 if the
will had existed.

But not only did the will not exist, there was a specific argument that this work was not
merely unnecessary but actively counter-productive. All that effort was supposed instead to be
directed to GEGL. Which rotted slowly in a corner for years because no-one really had the
combination of time and enthusiasm to work on something so completely abstract and unconnected
with reality.

* OK, the thing users actually wanted more than anything was a tool that drew straight lines,
but that's because users don't read, don't want to read, and particularly don't want to read
manuals. Once they'd read the manual or been told politely what it says about drawing a
straight line they generally settled on wanting high dynamic range.

Copyright © 2012, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds