2009-08-20

When the Contribution Model Fails

I'm a big advocate of Open Source software. I feel that there really is no reason to close software source for the most part, and in general, closed libraries are very frustrating for me as a developer. However Open Source has it's flaws. The contribution model may be one of it's greatest strengths, but is also a big weakness.

What leads me to this "revelation" is an issue which i've been considering getting involved in and fixing. It's a Gimp enhancement request, which is probably the thing that annoys me most about Gimp at this moment. The "bug" is the lack of grouped layers in Gimp. Obviously, not having groups for layers can make a large document really convoluted, but more than that, i often find myself wanting to make modifications to multiple layers at once, such as opacity or translations. So what's the problem? Surely if they know about it and it's in their list, i should either do it myself or just be patient?

It's a 7 year old feature request.

I do understand that "implementing this feature is not trivial", but 7 years is not even close to acceptable. I realise they are suggesting it might make it to version 2.10, possibly in 2011 or 2012? Before the end of the world i'd hope. But seriously, in the commercial world, people lose their jobs for taking over a month to implement features like this. This is not easy to do, but in that time the KDE guys have written Krita from scratch, which may end up soon overtaking Gimp in features, and already has grouped layers. To me it almost seems like no one wants to take on the task.

What happened to open source being the cradle of innovation, instead of lagging behind commercial competitors? In Gimp, you have the Open Source stereotype. It's not as good as commercial counterparts, and lags several years behind in features. Some Open Source projects really seem to suffer from this. I'd suggest that X.org is another that just can't keep up with feature requests. Is it because of a poor codebase that people struggle to build on? Is it because of lack of interest in the project from outside devs? I'm not sure, but it really does bring down the quality of some big Open Source projects. 

On the other hand you have the entire KDE team as an example of real innovation. The KDE desktop is years ahead of any competitor, the codebase is beautifully clean, and they are churning out major features in just a few weeks. My example of Krita is a very pertinent one. It may turn out to be a big threat to Gimp in the long run, especially because it is now cross platform. The pace of development is clearly much faster, and it seems that it already has some of the modern features Gimp lacks.

In the end this does highlight some of the problems with the contribution model of Open Source software. Some projects fall behind, potentially become aged, while others forge ahead. How do you prevent a split like this? Should similar projects collaborate? Does that then remove an element of choice? The way i see it is that if it is needed enough, someone will do it. Maybe thats why Krita is moving so quickly, compensating for Gimp's inadequacies? It's probably also why Google are going to replace X.org in Chrome OS. After all sometimes its good to do some spring cleaning.

5 comments:

  1. I expect those few lonely outright volunteer developers are working on whatever feature most appeals to them while corporate employees are assigned to work on specific features. The features you most want may simply be suffering from the luck of the draw. ShowFoto is sufficient for 99% of my needs because I'm not 'into' image editing beyond the occasional need to downsize an image for the web. The computer is, to me, a hobby. I actively avoid any commercialism or commercial activity online so, to me, Linux offers an amazing alternative to Windows. I have a host of terrific software at my disposal and I wasn't required to buy, or bootleg any of it. Anytime I'm not happy, I need only check Amazon for the current price of MS Office and Photoshop to restore my rosy smile. :)

    You're a pretty sharp fellow and, by your own words, it's occurred to you that this dilemma may require a DIY solution. One of my favorite quotations begins 'If you're not part of the solution...'

    I'm happy you managed to update your blog. That's such a problem isn't it? One doesn't wish to babble on about some mundane nonsense but serious issues seem to be few and far between so we constantly feel guilty for having failed to update our blogs. Perish forbid we admit to being mostly content with our lives. Where's the interest in that? When the guilt becomes too much for me I give in and babble something regardless. :)

    ReplyDelete
  2. Keep in mind that it's a feature request.
    What is, in your estimation, a simply essential feature may not generate enough interest from developers and other users for any specific developer to have deemed it worth her time.

    Given that many contributors to projects like The Gimp participate on a free-time basis, there is likely a deliberation made before every task begun: which of these outstanding tasks is going to result in the most (user satisfaction | annoyance reduction | functionality augmentation | other metric) per unit of time the task completion is likely to take?

    Feature requests tend to receive an automatic disadvantage in this sort of comparison, and a feature which affects a very specific usage, will only make a difference to a small number of users, and will be difficult and time-consuming to implement will rarely fare well.

    ReplyDelete
  3. @Don, thanks for the nice comment :)

    @Tak, this particular feature is a big one, and something admitted by the developers in the bug tracker. They admit how important it is to everyone, and that it isn't minor to them.

    ReplyDelete
  4. There are quite a few feature requests in GIMP that have been waiting a long time, but on the other hand recently GIMP has over the last few years improved the existing tools and interface.

    *menu was moved out of the toolbox
    *selection is much nicer than it was previously
    *dockables
    *an improved text tool
    *the new image window
    *the free polygon tool
    *save and export
    *sane image panning
    *many other changes

    GIMPs old tools and interface is being rennovated, to get rid of that horrid old beast.

    Polishing existing GIMP features = 7+ year old feature requests.
    knowing that some tools are better than in any other app = priceless.

    "Life is better with GIMP and uhh... master card" :)

    ReplyDelete