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  

   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  

   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水木清华站∶精华区