Re: Decisions we didn't intend to make [Was: Minutes of the meeting (2006-07-31)]



On 8/2/06, Federico Mena Quintero <federico ximian com> wrote:
On Tue, 2006-08-01 at 22:16 -0600, Elijah Newren wrote:

> Yes, I know -- things changed later.  Sawfish has been used as a
> common example over the past couple years as an argument for not
> allowing desktop apps to depend on bindings particularly because of
> the maintainability issue.  The idea is that since everyone is
> familiar with C, it's vastly easier for someone else to take over
> maintainence if needed.  (Although it's quite possible that the
> example has been misused, including by me -- it may have been that the
> difficulty in finding others to take over was more related to the
> inherent complexity in the flexibility that Sawfish had.  I'm not
> sure.)  This was also related to one of the arguments used to get
> python in -- tons of people know it and are using it so we should be
> able to relatively easily find new maintainers if needed.

Sawfish didn't die because of Lisp.

- Sawfish tried to be the union of all the features in all other window
managers.  Workspaces/viewports (a huge mistake; read
http://mail.gnome.org/archives/desktop-devel-list/2002-April/msg00643.html) Then, John Harper decided to stop certain subsets of features (but left the code in place!!!) when it became too cumbersome to support everything.

- Sawfish did not have a simple configuration program for the two
options that people commonly want to change in their window manager.  It
had a machine-generated GUI for most of its options, which was unusable.

- Havoc was into his "simplify everything" spree.  He had a lot of
mindshare in the GNOME community, and a lot of visibility and maintainer
power.  So he wrote Metacity, declared it to be the Window Manager For
GNOME(tm), and it was a very crappy window manager at first (just like
all other new window managers are at first, since they don't reuse code
and break with weird X clients).  But it was good enough to use, and it
was simple to configure.  Never mind that the code was a far cry from
the elegance of certain parts of Sawfish:  people didn't care about the
language; they cared about the user interface.

While all that is true, it also died because of LISP.  We got tons of
bug reports for Sawfish after John left for Apple, but no patches. Sun
had problems finding anyone who could cope with the codebase, so they
couldn't maintain their a11y stuff for it, and we couldn't use an
unmaintained and unaccessible WM. That lack of maintainership (which I
believe *was* because of LISP, in large part- there just weren't any
other LISP hackers around) was the single biggest reason for the
switch between 2.0 and 2.2. Havoc, usability, etc., were never
substantial issues in release team discussions around that time
(though of course all were mentioned.)

Luis



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]