BBS水木清华站∶精华区
发信人: reden (鱼 ~ 梦娜丽莎的微笑 流星的故事), 信区: Linux,
标 题: Where did Spencer Kimball and Peter Mattis go?
发信站: BBS 水木清华站 (Thu Jan 14 00:36:27 1999) WWW-POST
This is a really good interview, i agree some opinion of two authors
you can find the original one from:
http://www.linuxworld.com/linuxworld/lw-1999-01/lw-01-gimp.html
Where did Spencer Kimball and Peter Mattis go?
An interview with the authors of Gimp and Gtk
Summary
After bringing their Photoshop-like free software, Gimp, to the brink
of
1.0 release, creators Spencer Kimball and Peter Mattis left school,
ceased Gimp development, and took jobs in the private sector.
LinuxWorld's Stig Hackv鋘 caught up with them recently to find out
what
they've been up to and what they think of Gimp today, and to get
their
thoughts on open source developer attrition. (3,500 words)
By Stig Hackv鋘
he Gimp (GNU Image Manipulation Program) image editor is one of the
newest shining stars in the open source firmament. It bears more than
a
passing resemblance to Adobe Photoshop and has served as the
proof-of-concept that the open source community can write applications
suitable
for use by nonhackers. Gtk (Gimp Toolkit), the windowing toolkit that now
lies at the
core of the Gnome desktop, was originally written as part of Gimp.
Gimp and Gtk were primarily developed by Spencer Kimball and Peter Mattis
over
several years while the two were students at University of California,
Berkeley.
In the spring of 1997, however, they graduated, leaving their work on Gimp
behind
to start their careers. The wildly popular (amongst open source hackers,
at least)
Photoshop-like image editor was left unfinished, crash-prone, and
unmaintained at
version 0.99.10. New developers eventually stepped in to take
responsibility for it,
but only after the software's development had been frozen for many months,
leaving
eager Gimp users in the lurch.
The cost of turnover
The most vocal open source proponents contend that open source software
can
flourish on the strength of globally-distributed volunteerism alone; but
Gimp and Gtk
weren't the product of either Internet-based collaboration or bazaar-style
software
development.
When Spencer and Peter left, progress on Gimp screeched to a halt,
resuming
slowly as new volunteers picked up where the Berkeley developers had left
off.
After 19 months, Gimp is more stable, but it still crashes and its
Intelligent Scissors
tool still doesn't work quite right.
If the story of Gimp's development represents an emerging pattern, then
all is not
well for open source software.
According to Tom Demarco and Timothy Lister's 1987 book Peopleware, which
addresses a wide range of important workplace and productivity issues, a
typical
technology company has an annual turnover rate somewhere between 33 and
80
percent. That's two years between job changes for the average engineer.
For the free software community, the rate of turnover for both volunteer
and fulltime
contributors is probably higher, and the resulting losses to productivity
and
momentum are probably more severe. New developers have the source code,
but
usually they can't rely upon local experts for assistance with their
learning curves.
E-mail and IRC are great, but they're not the same as having another
human
looking over your shoulder or scribbling on the same whiteboard.
Linux and many other open source projects are thriving now, but could they
be
doing better?
The answer to this question may lie in the economics of open source: can
the
rewards (both tangible and intangible) of open source hacking approach
those
available elsewhere in the computer industry? If so, then the open source
community won't have to bid farewell to some of its most talented
contributors. By
now, Spencer and Peter would probably want to be working on something
besides
Gimp anyhow, but they could still be working for us.
LinuxWorld: You both stopped working on Gimp after your
graduation from Berkeley in spring, 1997. What have you
been doing since then and how do you like it?
Mattis: I graduated from Berkeley in May of 1997. My work on
the Gimp had slowly been declining that semester. Since that
time I've worked at Inktomi.
Inktomi is fun. The project I work on is nothing at all like
working on a graphics program. Traffic server is a big,
multithreaded proxy cache. In college I had mostly stayed put
in the little sphere of graphics programming. I felt the desire to
branch out to other areas when getting a real job, which is part of the
reason I took
the job at Inktomi.
Kimball: I've been working at a small company called
Delphi
Structured Finance Corp. that provides the quantitative
analyses necessary to value complex financial
transactions.
About three-quarters of what I do is in the US; the
other
one-quarter is in Europe, primarily Denmark, Germany,
and
France. I like the field, but it may soon be time to
move to a
different job. I'm leaning strongly towards Wall Street,
and
would probably already be there if the markets didn't
blow up
recently.
I've also been working on a new project that's
completely
outside of work. It's called the Online PhotoLab and it
is
essentially a [Web] interface to much of the Gimp's functionality. It is
very high level,
with a visual interface to the editing operations. Notions such as
transparency,
selections, and layers are hidden. The target date for a working demo is
"soon."
LinuxWorld: How much has the Gimp grown in the last year and a half,
relative to
where you left off? How long has it taken the new maintainers to learn
their way
around your code, and how are they doing nowadays?
Kimball: Since we stopped new development at version 0.99.10, the Gimp
development community focused almost exclusively on stability. As of
release 1.0,
the Gimp looks almost identical to 0.99.10 in terms of core features. New
features
are now being added, as I understand, to the unstable development source
tree
and will be released in time. I'm not sure how long it took the new
maintainers to
"learn their way around the code," but judging by the stability of the
product, they
seem to be doing quite well.
Mattis: Gimp has stabilized immensely. The 0.99 version had quite a few
stability
problems and some of them were due to design issues. The new maintainers
started slowly and there was a down period where there wasn't a lot of
obvious
development. Nowadays it looks like they are doing great. The best thing
about the
Gimp is that it works. Yes, there are design mistakes, but a lot (probably
all) of
those were due to inexperience. You get experience by trying and, at
times, failing.
It is a mistake to expect to get a design correct the first time.
I'm impressed that the current maintainers have kept an open mind and have
been
willing to change fundamental decisions because those decisions were
flawed.
LinuxWorld: What percentage of the Gimp and Gtk code in the 0.99.10
release
was written by you? How would you characterize the changes to Gimp and
Gtk
since then?
Kimball: Probably 95 to 98 percent of the code in 0.99.10 was written by
Pete or
myself. The major exception was the code for the Fabulous Gradient
Editor,
contributed by Federico Mena Quintero. As I mentioned above, the changes
to
Gimp and Gtk seem to have focused on stability and are now turning to
incorporating new features.
Mattis: Spencer did much more work on the Gimp proper while I did much
more on
Gtk. This provided a fairly clean break that allowed us to work in
parallel fairly
easily. I probably wrote 95 percent of the original Gtk code. The only
widgets I
didn't write were the file-selection widget, the text widget, and the
rulers. I'm not
sure how much of the original Gimp code was mine. There, I mostly worked
on the
plug-in architecture.
Of course, according to the copyrights, Spencer and I wrote all of the
Gimp and
Gtk.
The changes to the Gimp and Gtk since I worked on them are basically
indistinguishable from how I would have done it. I'll admit that there has
been a lot
more thought going into changes and new features than I originally made.
LinuxWorld: How much time did you invest in the Gimp?
Mattis: I have no idea. A lot? Anything I answer will be wrong.
Kimball: I spent the better part of two years on
the Gimp, typically at the expense of other
pressing obligations (school, work, life).
Heading in the right direction
LinuxWorld: In what ways do you feel it's most
important for Gimp to improve?
Mattis: I think the Gimp needs to expand its
use of plug-ins to basically make almost
everything a plug-in. Spencer and I talked
about this, but we didn't know how to implement it properly. Basically, I
think Gimp
should just be a program for displaying images and providing some basic
functionality. Everything else, painting, toolbars, etcetera, should be
provided by
plug-ins.
The great thing about plug-ins is that they allow people to add to a
program without
understanding all the nitty-gritty details of the program. They enforce
modularity.
Kimball: I'm incredibly happy with the direction Gimp and Gtk have taken,
and its
newfound stability has made my life easy. But, if you've read any of the
criticism of
Gimp in recent press, you already know the most obvious area where
improvement
is required: pre-press work. This is something I know nothing about and
didn't have
time to learn. In fact, when Pete and I decided to initiate the Gimp
project, I knew
absolutely nothing about image manipulation programs. In fact, I had only
seen
Photoshop being used once before during my freshman year at Berkeley.
Some
deviant was attempting -- with remarkable success -- to remove Cindy
Crawford's
bikini using the clone tool.
LinuxWorld: Was there anything special about the Berkeley XCF
(experimental
computing facility) environment that helped you to be so productive?
Mattis: Not really. Very little of the development I did occurred at the
XCF. Most of it
occurred on my home machine and the lab machines at Berkeley. This is true
for
Spencer as well. I'm not bashing the XCF, but it didn't really provide
much direct
support for Gimp development.
Kimball: The XCF environment helped me to be markedly less productive than
I
otherwise would have been. Luckily, I derived more satisfaction from
contributing to
the free software movement than from playing Quake; otherwise, there
wouldn't
have been a Gimp version past 0.6. Still, the XCF was a cool place to work
and
share ideas. Other members helped refine ideas and in some cases
contribute
their particular expertise to the project. Josh MacDonald, author of PRCS,
wrote
the Gtk text widget. Ali Rahimi, another XCFer, contributed to the project
by
authoring the "Gimp sucks" page, which enjoyed limited success in its
mission to
deflate the combined S&P [Spencer and Peter] ego.
How hard can a UI toolkit be?
LinuxWorld: Why did you write Gtk as part of Gimp?
Mattis: The original version of the Gimp (0.5) used Motif. At the time,
LessTif
wasn't usable. I think the Motif name is tarnished in the open source
community and
no one has really stood up to defend it. The original impetus for Gtk was
simply my
wanting to understand how to write a UI toolkit. I figured it couldn't be
that difficult.
Kimball: I can't adequately convey the pain suffered while programming
with Motif.
It's a bloated and inflexible toolkit. I'm sure that anyone who's familiar
with it would
agree that trying to make it conform to your idea of the perfect UI is an
exercise in
futility. Instead, your UI will simply conform to what you can actually
manage to put
together that doesn't seg fault when you breathe on it.
In light of these issues, LessTif is still undesirable; Gtk was the chosen
path not
only because it would be free, but because it would have a friendlier API.
Mattis: You should understand that the
Gimp and Gtk weren't written to fill
holes in
the software available under the GPL
(GNU General Public License) and LGPL
(GNU Library General Public License).
The
Gimp was started because I wanted to
make a Web page. Gtk was started
because I was dissatisfied with Motif
and
wanted to see what it took to write a
UI
toolkit. These are purely selfish
reasons.
That is probably why the projects
progressed so far and eventually
succeeded. I find it much more difficult
to
work on something for extended periods
of
time for selfless reasons.
Think about how many vaporware projects have started because someone
said,
"the open source community needs X to succeed." Now think about how many
open source software packages are available in which the author states, "I
wrote Y
because I needed to be able to do Z" or "I wrote Y because I wanted to
learn how
to do Z."
LinuxWorld: Gtk isn't based upon Xt and so it doesn't have access to the
X11
resource database, which is the traditional mechanism for customizing X11
applications. Work has gone into making Gtk customizable. Do you like
what's
been done?
Mattis: The biggest flaw in most of my programming is that I like to start
from
scratch. When looking at the big picture, it might have been a mistake to
not use
Xt. But for what I was trying to accomplish with Gtk, not using Xt was the
right
decision. I wanted to learn every detail of how a UI toolkit is
constructed. Xt hides a
lot of problems and provides a lot of functionality.
Yes, I like the work that has gone into making Gtk customizable. I haven't
actually
seen the code, but the screenshots look nice. And I know Owen Taylor is a
fairly
disciplined designer. I can't say anything about Rasterman because I've
never
looked at any of his code. My only comment about Raster is that he should
learn to
spell.
The Gimp Plug-In Registry
LinuxWorld: How much do you think the plug-in architecture and the Gimp
Plug-In
Registry served to help Gimp succeed? Did the independent releases of
plug-ins
smooth out release cycles for Gimp? Could you tell what impact the
repository had
on the other developers?
Kimball: The plug-in architecture of the Gimp had a tremendous impact on
its
success, especially in the early stages of development (version 0.54). It
allowed
interested developers to add the functionality they desired without having
to dig into
the Gimp core. In those early days, I probably redesigned the entire
application five
times over when the current paradigm would become too outdated to
accommodate the constant addition of new features. I can't imagine the
headache
of having to coordinate those massive upheavals with a community of
developers.
Without the ability to add features independently, early developers would
most
likely have been alienated in the midst of these constant changes.
Mattis: I think the plug-in architecture was immensely important in
allowing other
people to contribute to the Gimp and get a feeling of ownership. It's a
wonderful
feeling for someone to write a small plug-in and then get it included in
the next
"official" distribution.
Tied into the plug-ins is Gtk. Gimp originally used Motif and so did the
plug-ins. The
result was that the UI for plug-ins was very limited. When Gtk came along,
a lot of
very complex plug-ins with nice user interfaces started popping up. The
switch from
Motif to Gtk also opened up the Gimp core to a lot more developers who
didn't
have source for Motif.
The repository was nice from my perspective in that it allowed me to find
the latest
versions of plug-ins easily when I wanted to make a new release. It's not
terribly
easy to coordinate dozens of developers via e-mail, but if all they have
to do is put
the most up-to-date version of their plug-in on a Web site they will
usually do it.
LinuxWorld: I've been wondering about the demographics of free software
hackers. My guesstimate is that about 50 percent of the time spent working
on free
software comes from university environments, about 20 percent somehow fits
into
a job description, and about 30 percent is "other." You must have some
ideas
about this. What are they?
The GIMP (v. 1.0.2). Click for full-size image: 58 KB.
Kimball: I'd say that 60 percent of the free software hackers are from
university
environments.
Mattis: From personal experience, I'd say that 90 to 95 percent of the
time that I
worked on Gtk and the Gimp was personal time. The other 5 to 10 percent of
the
time was stolen from part-time jobs -- shhh! -- or done for a few college
credits. I
guess most of my time fits into the "other" category with a small
percentage being
blessed by the university.
LinuxWorld: It seems likely that you both would have been offered jobs in
the Linux
community. Why didn't you take any of them or create your own business
centered
around Gimp?
Mattis: I wanted to explore other areas of programming besides graphics.
I felt I had "done my duty" for free software and wanted to move into the
commercial
sector to see what it was like.
I still have the opportunity to take a job in the Linux community if I
want. That bridge
has not been burned.
I still have the opportunity to create a business centered around the
Gimp. It just
wasn't something I wanted to do immediately after leaving school. The
biggest
reason being that I don't feel I'm qualified to run such a business and I
wouldn't want
to let someone else run it either.
Kimball: Although Gimp was probably my most enjoyable pursuit in the past
four
years, even it lost some of its appeal with time. As for other jobs in the
Linux
community: I'd gladly have taken one if it could offer reasonable upside.
LinuxWorld: Would you like to say anything about WilberWorks?
Kimball: I hope they do well. It's flattering to have a company which came
into
existence to support a product you created...even if it is to fix your
buggy code.
LinuxWorld: Peter, you earlier mentioned "purely selfish reasons" as an
important
part of the recipe for a successful project. It would have been very, very
nice, from
the purely selfish perspectives of many eager Gimp users, if you and
Spencer had
waited until after the Gimp 1.0 release to take other jobs.
I'm wondering if there might have been a magic conduit through which the
gratitude
of the open source community could have been transformed into reasons
"purely
selfish" enough to make you stick around a little bit longer. What would
have
worked to retain your skills for Gimp (or other open source projects)?
Mattis: I'm really not sure what it would have taken. Hell, if the timing
had been
different I might have gone to work at RHAD Labs. They just happened to
offer me
a job after I had taken a job at Inktomi. I think it is important for a
job in the free
software community to provide an equivalent compensation to a job in the
commercial world. That means salary and stock options and benefits.
Kimball: Your implied question is: how can the OSS movement retain
high-yield
individuals who eventually move on to lucrative jobs in the commercial
sector? I
don't know a good answer to that question. It obviously depends on the
individual
and their personal career goals. After school was done, I was far more
interested
in pursuing a career which diverged from hacking, making it unlikely that
I could
have been persuaded to continue Gimp work. However, in the time that has
passed, I've followed Gimp progress closely, and have been steadily at
work on the
Online PhotoLab.
LinuxWorld: What would you consider to be the
ideal relationship between the open source
community and money? How would you like to
influence the community's balance of idealism
and pragmatism? How you think the open source
economy should work?
Kimball: From the first line of source code to the
last, Gimp was always my "dues" paid to the free
software movement. After years of using emacs,
gcc, Linux, etcetera, I really felt that I owed a debt
to the community which had, to a large degree, shaped my computing
development.
Mattis: My view of free software has always been that you don't need to
make it
your life's work. I may never work on free software again, but I've still
contributed
dramatically. If the free software world can keep using the college
students and
graduate students of the world, then I don't see a huge need for lifelong
free
software programmers.
I think I like what Red Hat is doing in subsidizing some of the free
software
development. As far as I know, they have Alan Cox on the payroll so that
he can
use his time as he sees fit to do kernel development. And there are a host
of
Gnome folks at RHAD Labs. I like that.
Discuss this article in the LinuxWorld forums (2 postings)
(Read our forums FAQ to learn more.)
About the author
Stig Hackv鋘 is an open source developer who has served as a
core
XEmacs developer and has been an active participant in the
Linux
community since before the 1.0 kernel. Currently, Stig is
writing a book on
open source licensing, to be published by O'Reilly & Associates
this spring.
--
白马带著她一步步的回到中原。白马已经老了,只能慢慢的走,
但终是能回到中原的。江南有杨柳、桃花,有燕子、金鱼……
汉人中有的是英俊勇武的少年,倜傥潇洒的少年……但这个美
丽的姑娘就像古高昌国人那样固执:
「那都是很好很好的,可是我偏不喜欢。」
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 202.99.18.67]
BBS水木清华站∶精华区