Kernel Traffic
Latest | Archives | People | Topics
Wine
Latest | Archives | People | Topics
GNUe
Latest | Archives | People | Topics
Czech
Home | News | RSS Feeds | Mailing Lists | Authors Info | Mirrors | Stalled Traffic
 

Gimp Traffic #43 For 22 May 2001

By Cris Flagg

The GIMP Homepage | The GIMP News Archive | The GIMP Mailing Lists | The GIMP FAQ

Table Of Contents

1. The Future of the Gimp

 

People: Michael NattererSven Neumann

(ed. [Cris Flagg] The following is from http://developer.gimp.org.)

The future of The GIMP

December 2000 by Sven Neumann & Michael Natterer

This document is meant to be a RFC (Request For Comments). Nothing described in here is a fixed decision, everything can and should be discussed. The reason for writing this document now is that the final release of gimp-1.2 is very close and we need a roadmap for the time thereafter. We will propose our ideas for the future of The GIMP here. A lot of these ideas are based upon the discussions we had at the 1st GIMP Developers Conference which was held in Berlin earlier this year (see http://www.gimp.org/gimpcon/).

Our core proposal is to have three branches after the 1.2 release. We'll tell you later why we think this is a good idea. First let's have a look at the branches and see what they provide:


The 1.2.x "Maintainance" branch

This is the usual maintainance branch. Only bug-fixes go in here and only if serious bugs are found and fixed, there will be a gimp-1.2.x release. We will also consider putting upcoming stable releases of important plug-ins (like Gimp-Print) into the stable branch. Hopefully not too many releases will be necessary. Probably someone will port GIMP-1.2 to GTK+-2.0 once this becomes available and an 1.2.x release will be made supporting GTK+-2.0. This would be similar to what happended with gimp-1.0.3. Actually we think that it makes more sense to do the port to GTK+-2.0 entirely in the 1.3.x branch as described below.


The 1.3.x "Cleanup for 2.0" branch

This is a development branch, which means that new features go in here. As the name suggests, we would like not to include too many new features here but to focus on other goals:

Once this work is done there will be an 1.4 release. This release will work with GTK+-2.0 and will provide a backwards-compatible plug-in API. Probably we can not achieve this goal due to unavoidable changes to the plug-ins' Gtk+-code but it shouldn't be hard to port plug-ins to gimp-1.4.


The 1.9.x "Building GIMP 2.0" branch

This branch will start in a clean gimp-2.0 module on CVS. After setting up a directory structure (which should be much finer grained than what we work with now), work will begin to implement the design as discussed at the GIMP developers conference. Fortunately some work has already been done:

Since we haven't yet managed to write down all our ideas developed at the conference this June, I can only point you to the gimpcon website located at http://www.gimp.org/gimpcon/ which has a review that explains some of our ideas. We will certainly have to outline the new design in more details before we can actually start to implement it.


Our reasons

It's now time to explain why we think that having three branches is a good idea and why we think development should continue as outlined above:

We believe that the gimp-1.2 codebase is very hard to understand and to work with. A lot of the internal structures date back to a time when the GTK+ object system was not available. During the last years some code has been migrated to make use of the GTK+ object system and at some place you can even notice some design principles like model-view (only if you look very close). Most of the code however is still pretty crappy and full of side-effects. This has led to a lot of problems and unexpected bugs during the last development cycle. We have learned that adding new features to this codebase most likely breaks code at places you didn't (and probably couldn't) think of. This is the main reason why we propose to develop gimp-2.0 from a clean tree. On the other hand, starting from scratch will mean that for some time there will be no real application to test changes in. That's why we believe it makes sense to perform a lot of the code cleanup in the old tree. By limiting ourselves to a small set of new features we could manage to bring out gimp-1.4 not too long after GTK+-2.0 was released.


Links

http://www.gimp.org/ GIMP homepage
http://www.gimp.org/gimpcon/ GIMP Developers Conference
http://www.gegl.org/ GIMP 'E' Graphical Library
http://www.convergence.de/ convergence integrated media GmbH

Feel free to send updates/comments/fixes/flames/whatever. We will keep this document up-to-date and post new versions when neccessary.

Sven & Mitch

 

 

 

 

 

 

Sharon And Joy
 

Kernel Traffic is grateful to be developed on a computer donated by Professor Greg Benson and Professor Allan Cruse in the Department of Computer Science at the University of San Francisco. This is the same department that invented FlashMob Computing. Kernel Traffic is hosted by the generous folks at kernel.org. All pages on this site are copyright their original authors, and distributed under the terms of the GNU General Public License version 2.0.