a brief history of gimp

8
A Brief History of GIMP This history was written around the release of GIMP 1. 0 in 1998 and has act ually become a historical document all on its own. Some of the dates are not accurate (due to internet technology limitation (Google hadn't indexed Usenet yet). Yet still a good document with many o f the details perfectly intact. With all the talk and theorizing going on about Free Software development models, I thought that it might be a good idea to actually give an example. I've tried to keep it as accurate as  possible, and hope my e xperiences working on this team can be nefit other projects as well. Like current GIMP development, t his was not done alone. This is a co mpilation of knowledge from a lot of people o n #gimp, some of it predating my o wn experience. This history would not have been possible without, specifically, the help of josh, Raph, Adrian, Xach, yosh, and more generally all of the gu ys on #gimp. This is NOT inclusive - there are many sites and people that continue to contribute to t he success of GIMP that are not listed here. I suggest visitin g / for a more complete listing of gimp links. In the beginning: A couple of students at Berke ley , Spe ncer Kimball and Peter Mattis, decided they wanted to write an image manipulation program rather t han write a compiler in scheme/lisp for professor Fateman (CS164). Neither one had graphic arts experience, but it seemed like a neat project. They got enco uragement from professor Forsythe to implement some new features too - rumor has it intelligent scissors was Spencer's CS280 project. T hus Spencer and Peter begat t he General Image Manipulation Program, or GIMP for short. They worked on it for a quite awhile before letting it anyone else have a crack at it - probably about 9-10 months by current estimates. By their first public release, they had a functional product. GIMP had a lot o f neat stuff attached to its first public release, version 0.54 (January 1996). It had a plug-in system, so developers could make separate programs to add to GIMP without  breaking anything in the main distribution. It had some basic tools to do drawing, and channel operations. It had an undo feature the likes of which was not found in any known image manipulation program. It had loyal users swearing by it. It was protected by the GPL. And it had a cool name. But all was not well with GIMP. It had rather frequent crashes, that could be caused by plug-ins or problems in the main code. It had a dependency on Motif for its GUI toolkit, which made efficient distribution to a lot of users impossible. This restriction also alienated a lot of would-be  plug-in development. And GIMP had peo ple making absurd c laims that it was already more stable than Photoshop. So like a lot of projects, there was a rather humble beginning to a project that gathered a lot of support from the user community. Its beginnings were almost entirely self-contained. They didn't announce grandiose plans for vaporware - Spencer and Peter delivered a product that did

Upload: jtulay

Post on 09-Apr-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Brief History of GIMP

8/7/2019 A Brief History of GIMP

http://slidepdf.com/reader/full/a-brief-history-of-gimp 1/8

A Brief History of GIMPThis history was written around the release of GIMP 1.0 in 1998 and has actually become a

historical document all on its own. Some of the dates are not accurate (due to internet technologylimitation (Google hadn't indexed Usenet yet). Yet still a good document with many of the

details perfectly intact.

With all the talk and theorizing going on about Free Software development models, I thought

that it might be a good idea to actually give an example. I've tried to keep it as accurate as possible, and hope my experiences working on this team can benefit other projects as well.

Like current GIMP development, this was not done alone. This is a compilation of knowledge

from a lot of people on #gimp, some of it predating my own experience. This history would nothave been possible without, specifically, the help of josh, Raph, Adrian, Xach, yosh, and more

generally all of the guys on #gimp. This is NOT inclusive - there are many sites and people that

continue to contribute to the success of GIMP that are not listed here. I suggest visiting / for amore complete listing of gimp links.

In the beginning:

A couple of students at Berkeley, Spencer Kimball and Peter Mattis, decided they wanted towrite an image manipulation program rather than write a compiler in scheme/lisp for professor 

Fateman (CS164). Neither one had graphic arts experience, but it seemed like a neat project.They got encouragement from professor Forsythe to implement some new features too - rumor 

has it intelligent scissors was Spencer's CS280 project. Thus Spencer and Peter begat the GeneralImage Manipulation Program, or GIMP for short. They worked on it for a quite awhile before

letting it anyone else have a crack at it - probably about 9-10 months by current estimates. Bytheir first public release, they had a functional product.

GIMP had a lot of neat stuff attached to its first public release, version 0.54 (January 1996). Ithad a plug-in system, so developers could make separate programs to add to GIMP without

 breaking anything in the main distribution. It had some basic tools to do drawing, and channeloperations. It had an undo feature the likes of which was not found in any known image

manipulation program. It had loyal users swearing by it. It was protected by the GPL. And it hada cool name.

But all was not well with GIMP. It had rather frequent crashes, that could be caused by plug-ins

or problems in the main code. It had a dependency on Motif for its GUI toolkit, which madeefficient distribution to a lot of users impossible. This restriction also alienated a lot of would-be

 plug-in development. And GIMP had people making absurd claims that it was already morestable than Photoshop.

So like a lot of projects, there was a rather humble beginning to a project that gathered a lot of support from the user community. Its beginnings were almost entirely self-contained. They didn't

announce grandiose plans for vaporware - Spencer and Peter delivered a product that did

Page 2: A Brief History of GIMP

8/7/2019 A Brief History of GIMP

http://slidepdf.com/reader/full/a-brief-history-of-gimp 2/8

something. It was not perfect, but it was an amazing feat for two college programmers withoutany outside influence.

Enter the Users:

One of the first steps after the 0.54 release was to create a mailing list for developers. This probably sprung out of the fact that Peter and Spencer wanted feedback on their new program,and a mailing list was a convenient way for people to do this. It was also a method of letting

 people know about what was still going on with development easily and efficiently. Whatever the reasons behind the first mailing list, it enabled people with similar interests to communicate

on the project.

Mail was rather heavy on the list, but not all of the questions seemed really appropriate to ask thedevelopers. Their experience was not in how to use image multiplication effectively, but rather to

manipulate pointers and data structures. On July 5th, 1996, gimp-list split into gimp-user andgimp-developer.

Also shortly after its introduction, web sites started appearing. There was of course the maingimp site located at Berkeley, but what differentiated this program from many others is that a lot

of sites sprung up on how to use the program.

GIMP users, such as Zach Beane (Xach), started making tutorials for GIMP. Zach's page, for awhile, featured a new date created with gimp per day. Others followed suite, showing off 

artwork done and sharing techniques. It was clear that if you wanted to make something withGIMP, there were sites to help you get a jump start.

Federico Mena Quintero, also known as Quartic, authored a page pointing to all known GIMP

resources. His page because a focal point for new plug-in announcements and featured some pretty snazzy artwork too. He also showcased his own plug-ins.

Larry Ewing got GIMP some early publicity by creating his now famous Linux Penguin (somecall him Tux), in GIMP 0.54. He put a up showing some of the steps he took to do it. This was

 probably the first huge exposure GIMP received.

A New Toolkit - The 0.60 Series:

Peter got really fed up with Motif. So he decided to write his own. He called them gtk and gdk,for the Gimp Tool Kit, and the Gimp Drawing Kit. Peter tells us now that they never intended for 

it to become a general purpose toolkit - they just wanted something to use with GIMP, and it"seemed like a good idea at the time". A name change also occurred; The General Image

Manipulation Program became the GNU Image Manipulation Program.

Development was experimental and incomplete in the 0.6x series. The plug-ins were notcompatible with the large base of plug-ins developed for the 0.54 series. Authors were slow to

update their plug-ins to use the new protocols. People did not want to write documentation for 0.60, because the features were in such a state of flux.

Page 3: A Brief History of GIMP

8/7/2019 A Brief History of GIMP

http://slidepdf.com/reader/full/a-brief-history-of-gimp 3/8

Generally speaking, the 0.6x series was less usable than the previous 0.54 series. The crasheswere more random, and more frequent. Only people interested in moving the project forward

even downloaded the 0.6x series - so little user input added to the mix. Grand plans for usinglayers, tiled memory, a built in scripting ability, and a really neat transform tool were shown as

teasers on the Berkeley web page, but people most people rather have used a program that

worked to get things done (and to write plug-ins for).

The 0.60 series of snapshots was a developers chance to add features. If it was coded, and it

worked, it could make it in. A underlying push for stability began near the end of it, but gettingcool stuff into it was the first objective. This could be summed up by Andreas Dilger best:

"It's good to see that the next version of GIMP is here.

 Let the enhancing begin!"  

The 0.99 Series - The Long Road to 1.0:

On Feb 26, 1997, Spencer and Peter(S&P) released version 0.99. The main goals were to port plug-ins to the tile based memory scheme and new API, which wasn't done on a large scale for the 0.60 snapshots. There was a new version of gtk/gdk, called GTK+. It incorporated massive

changes to the previous model of gtk.

Sequential releases occurred up until 0.99.9, at a brisk rate. At 0.99.9, there was a long gap between releases - this was filled by Trent Jarvi offering a diff of all the current small diffs

floating around for 0.99.9 updated fairly frequently. S&P managed to release a new GTK+ and aGIMP 0.99.10 eventually on June 9th, 1997. It would be their last release.

S&P graduated, got real jobs, and didn't have the time to put into the project anymore. There was

no defined successor to S&P, and they neglected to tell anyone they were leaving.

The Pre-11 Releases:

Spencer and Peter had now left, without saying goodbye, but this did little to stop the now-rabid

users; several unofficial pre-releases were made while not a sound was heard from Spencer or Peter. It became such a problem to keep track of patches, that the pre-11 releases were made.

These were handled by Matt Hawkins, and helped us mere mortals cope until someone took thecenter stage again.

Federico Mena Quintero (Quartic) picked up the releases for awhile, Under his guidance, a

movement towards stability and a usable product became the primary objective. On release0.99.14, Quartic announced a feature freeze - no new features until 1.0. Some interesting

features, some of which are already largely coded, have been kept out to move towards a stablerelease.

Quartic kept GIMP going, until he was pulled away on other (related) projects. However, no

serious gap happened between Quartic's tenure and what came to replace it.

Page 4: A Brief History of GIMP

8/7/2019 A Brief History of GIMP

http://slidepdf.com/reader/full/a-brief-history-of-gimp 4/8

A New Development Model:

With project leaders Spencer and Peter, and now Quartic, gone, and GIMP now split into the

development of the toolkit and the development of the program, it was time for new leaders tocome to the foreground. Right? Thats what the bazaar model would indicate. However, as with

any model, there are situations that just aren't covered...

In the new system, there are designated team members; Manish Singh (yosh), for example, was

in charge of making releases. Adrian Likins, maintaining data. Larry Ewing (lewing), MatthewWilson (msw), and a host of others made bug fixes, and did other messier stuff. There's also a lot

of overlap between the developer community of GIMP and other related projects. But they work as a team - nobody was, or is, the project leader. Each person makes their own contributions, and

we all know who to refer to when we don't know how to do something, or want advice or options. Decisions that control the fate of GIMP are made primarily on #gimp, through this team

effort.

Differentiation:

In the past year or so, several very specific sites have sprung up that are meant to cater to a particular crowd of the GIMP user and developer base.

On April 13th, 1997, <http://xach.dorknet.com/gimp/news/>GIMP News was born. Zach headedthis effort. This site aimed to become a site to check daily if you wanted to stay on the bleeding

edge of GIMP development. If you made a plug-in, Zach found out and told the world about it. If a new release was made, it often beat the mailing list in getting the news to you. His tutorials and

a bug report form (added later) were linked off of the news page.

At about the same time, a huge help in keeping track of the large quantity of plug-ins and planned plug-ins appeared on the horizon. The GIMP Plug-In Registry allows authors to update

their plug-ins, and people to register their plans for future plug-ins. If you are a plug-in author,you register it here; it stays up-to-date this way, and as a user you can download and compile the

newest plug-ins that are not included in the distribution selectively. There's even a 'shopping list'that will tar up the ones you want and send them all at once.

In Late May 1997, I started GIMP Bugs. This took many of the bugs from developers list which

tended to get in the way of discussion, and organized them into an easy-to-read chart for perusal by the developers. I maintained the list "by hand", but with only a bug report or two a day, it was

not a big challenge to handle with a couple perl scripts. I assigned priorities to bugs, so that

different levels or specialties of developers could concentrate on different bugs. I also checkedeach bug against my own GIMP, and tried to clarify the report. This became an electronicchecklist of things that had to be done, that was updated by yours truly on a frequent basis.

An often overlooked and under-valued aspect of an major project is that of documentation. Wehave made do with small tutorials here and there until we got something much better, quite by

surprise. On October 7th, 1997, two users, Karin Kylander and Olof S., announced the<http://www.dtek.chalmers.se/~d95olofs/manual/gimpmana.html> Gimp Users Manual.

Page 5: A Brief History of GIMP

8/7/2019 A Brief History of GIMP

http://slidepdf.com/reader/full/a-brief-history-of-gimp 5/8

It is now a comprehensive listing of each bit of functionality in Gimp. This 200+ page monster represents a huge amount of work, and is an invaluable asset to anyone trying to figure out a

 particular tool. These users became true experts with the tools, possibly better than any singledeveloper. They gathered knowledge from anyone they could. They then chose to share that

knowledge with the world. It should be noted that a huge majority of this work was done on their 

own, well before any outside help or organization even knew of its existence.u

pdate Recentreports have the GUM coming in at 600+ pages!

A Different Release Model:

Because developers are impatient types, they don't want to wait around until the next release totinker with changing source code. CVS is the solution that GIMP uses. This versioning system

allows users and developers alike to download the bleeding edge GIMP, and developers tocommit changes. Further, it allows for easy removal of changes - every change is logged, and

can be reversed. While there have been some server difficulties with CVS, it has caught several bugs prior to another beta release. Its certainly better than trying to deal with the numerous

received patches by hand.

Commercial Involvement:

Contrary to most free software projects, there is a distinct commercial involvement in GIMP.Some GIMP developers (and possibly others) saw a chance for a profit in customizing the code

or writing custom plug-ins for commercial sale. They also want to sell CD-ROMs of the 1.0release of GIMP, loaded with related artwork and programs.

To this end, <http://www.wilberworks.com>WilberWorks is was formed. Several GIMPdevelopers and "support staff" now have a small amount of supplemental income for their work 

on the project, working as contractors - enough for a beer every now and then, but not enough tocall it a living.

Contrary to popular belief, this has not hurt GIMP development at all. All work done on GIMP is

still GPL. The money is not the main motivator for the work. It is simply a little something thatWilberWorks can say 'Thank You' with.

WilberWorks has put me out of the bug page business - they have set up a superior bug tracking

system on their server. WilberWorks 'staff' can log onto the web site, and respond to bugs.Multiple reports can be modified in the database simultaneously. Bugs are not forgotten on this

system - after they are closed, they stay around. Users can (though rarely do it seems) log on as a

guest and browse through the previous reports and replies.

It is currently WilberWorks policy to reply to all bug reports that aren't obviously junk mail or invalid email addresses. This extra little effort can often uncover a detail that may prove critical

to resolving the issue. WilberWorks has transformed my little bugs page into a support page.

Obviously, WilberWorks exists to make money. So why a bug tracking system? The answer issimple - it will make money and costs it nothing. In addition to making a better end product for 

Page 6: A Brief History of GIMP

8/7/2019 A Brief History of GIMP

http://slidepdf.com/reader/full/a-brief-history-of-gimp 6/8

<http://www.wilberworks.comproducts.html>pressing onto CD-ROMs, they offer to fix any bugin 10 days if you have a support contract. Because they have developers with intimate knowledge

of the system and a great deal of skill, WilberWorks feels that it can make this offer. You will behard-pressed to find a major commercial application that can offer anything similar.

Centralization:

In response to a need for a central repository for all these aspects of the program, Shawn

Amundson (Snorfle) secured the domain "gimp.org". The main server of this is www.gimp.org,which just about anyone should be able to guess and remember. Started on October 7th, 1997, it

contains a broad overview of things to get you going with gimp, from the source to to tips andtricks.

Publicity:

Michael J. Hammel wrote a four part series on GIMP for inclusion in Linux Journal (October 

1997 - January 1998). It went through some basics, but in reality barely skimmed the surface.But still, this well written and accurate set of articles exposed the Linux community (and anyonewho reads linux community literature) to GIMP. GIMP also receives publicity on a regular basis

from his Graphics Muse article appearing in the Linux Gazette.

Red Hat Linux has bundled GIMP in its distribution since version 5.0. This has turned out to besomething of a double edged sword - while it exposes the world to GIMP, it uses a now ancient

version. If you are using version 0.99.12 that comes with RedHat 5.0, please upgrade! Manyimprovements to the libraries, program, and plug-ins have taken place since 0.99.12.

www.gimp.org also uses the GIMP mascot, Wilber. Wilber is cool. Wilber's eyes move, and

thats kinda disturbing to some people, but I like him. Wilber is a GIMP. Created on Sept. 25,1997 by Tuomas Kuosmanen, Wilber has taken on a life of its own. For example, Wilber is

 pictured doing all sorts of stuff at the top left hand corner of the page at www.gimp.org (edit: theold web site now lives at classic.gimp.org ). Wilber has become a recognized icon associated with

GIMP, and may be seen at slashdot whenever GIMP is mentioned. He appears on the help screenwhen starting GIMP for the first time, offering useful advice. Now that GIMP is becoming more

ready to be seen by the general public, Wilber is helping get GIMP out to the masses much like(the penguin some call) Tux is for Linux.

And It Goes On:

Remember GTK+? Some developers got the crazy idea that it was a great toolkit and should beused in everything. And we can create a desktop based on the toolkit. Like many crazy ideas, this

is becoming a reality. The GNOME project is well underway, in the alpha stages. The GNOME project is being aggressively supported by Red Hat Labs. All of this may be seen as a byproduct

of GIMP. The success of this one project has spawned many.

On June 5th, 1998, at 17:17 CST, GIMP 1.0 was released. Great plans for the future are formingnow!

Page 7: A Brief History of GIMP

8/7/2019 A Brief History of GIMP

http://slidepdf.com/reader/full/a-brief-history-of-gimp 7/8

 

Page 8: A Brief History of GIMP

8/7/2019 A Brief History of GIMP

http://slidepdf.com/reader/full/a-brief-history-of-gimp 8/8