help-gnu-emacs
[Top][All Lists]
Advanced

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

Re: GNU Emacs and Xemacs Schism


From: Fren Zeee
Subject: Re: GNU Emacs and Xemacs Schism
Date: Wed, 08 Dec 2010 15:16:24 -0000
User-agent: G2/1.0

On Jun 29, 7:08 am, Xah Lee <xah...@gmail.com> wrote:
> • GNU Emacs and Xemacs Schism, by Ben Wing
>  http://xahlee.org/emacs/gnu_emacs_xemacs_schism_Ben_Wing.html
>
> plain text version follows.
>
> --------------------------------------------------
> GNU Emacs and Xemacs Schism, by Ben Wing
>
> Ben Wing, 2001?
>
> Many people look at the split between GNU Emacs and XEmacs and are
> convinced that the XEmacs team is being needlessly divisive and just
> needs to cooperate a bit with RMS, and the two versions of Emacs will
> merge. In fact there have been six to seven major attempts at merging,
> each running hundreds of messages long and all of them coming from the
> XEmacs side. All have failed because they have eventually come to the
> same conclusion, which is that RMS has no real interest in cooperation
> at all. If you work with him, you have to do it his way — “my way or
> the highway”. Specifically:
>
> 1. RMS insists on having legal papers signed for every bit of code
> that goes into GNU Emacs. RMS's lawyers have told him that every

[snip]

> 2. RMS does not like abstract data structures. Abstract data
> structures are the foundation of XEmacs and most other modern
> programming projects. In my opinion, is difficult to impossible to
> write maintainable and expandable code without using abstract data
> structures. In merging talks with RMS he has said we can have any
> abstract data structures we want in a merged version but must allow
> direct access to the implementation as well, which defeats the primary
> purpose of having abstract data structures.

What does he mean by ADT ? I thought any struct in C is the ADT. If
the emacs is written in C then it has struct in it. If the lisp has a
certain structure of dotted pairs or two cells, then it is a
structure, ie a tree with special nodes to void.

> 3. RMS is very unwilling to compromise when it comes to divergent
> implementations of the same functionality, which is very common
> between XEmacs and GNU Emacs. Rather than taking the better interface
> on technical grounds, RMS insists that both interfaces must be
> implemented in C at the same level (rather than implementing one in C
> and the other on top if it), so that code that uses either interface
> is just as fast. This means that the resulting merged Emacs would be
> filled with a lot of very complicated code to simultaneously support
> two divergent interfaces, and would be difficult to maintain in this
> state.

Can anyone explain this concept in detail ?

"RMS insists that both interfaces must be implemented in C at the same
level"


> 4. RMS’s idea of compromise and cooperation is almost purely political
> rather than technical. The XEmacs maintainers would like to have
> issues resolved by examining them technically and deciding what makes
> the most sense from a technical prospective. RMS however, wants to
> proceed on a tit for tat kind of basis, which is to say, “If we
> support this feature of yours, we also get to support this other
> feature of mine.” The result of such a process is typically a big
> mess, because there is no overarching design but instead a great deal
> of incompatible things hodgepodged together.
>

[snip]

I have lots of respect for RMS, the Xemacs group and I take no sides.
These people gave a lot to the public.

> The fact that few if any people share his principles is meaningless to
> him.
>
> Ben Wing
>
> --------------------------------------------------
> Notes from XahLee.org
>
> This article, was orginially at “http://www.666.com/xemacs/xemacs-
> split-bens-opinion.htm” as of mid 2000, but is gone as of 2010-06-28.
> The content is retrived from web.archive.org on 2010-06-28.
>
> The article is probably written in 2001. Because web.archive.org's
> first archived content of the url is dated 2001-12.
>
> Ben Wing was one of the main developer of Xemacs, after Jamie W
> Zawinski. However, Ben Wing got Repetitive Strain Injury and i think
> he exited the programing field in early 2000s. For more detail about
> this, see: Famous Emacs People With Hand Injuries.
>
> For more detail and resources on history, see Wikipedia: XEmacs. Also,
> Richard Gabriel, the founder of Lucid Inc, wrote a book named Patterns
> Of Software, published 1996, which accounts some XEmacs vs GNU Emacs
> history. I wrote a review in 1998, see: Book Review: Patterns of
> Software.
>
> See also:
>
>     * Emacs Timeline (1999, 2007), by Jamie Zawinski. jwz.org
>     * The Lemacs/FSFmacs Schism (2000), by Jamie W Zawinski. jwz.org
>     * XEmacs vs. GNU Emacs, edited by Stephen J Turnbull. xemacs.org
>
> After reading them carefully, you'll see that what's called Emacs,
> starting with TECMAC and TMACS, are really different software with
> different implementations, by different people, on different operating
> systems, for about 5 or more years starting in 1976. When reading
> about these, you need to put your mind on what computers are like at
> those times. Typically, a monochrome text terminal, with screen size
> of some 80 characters with 24 lines. (See: Computer terminal) The
> typical “editor” at the time operate by modes. That is, you type the
> command to delete a word, then another command to update the screen to
> see the word deleted. This is where vi's operation method originated,
> and also why these emacs editors call themselves as “real-time”, and
> “DISPLAY” editor, meaning what you typed is updated in real time and
> in a display, a forerunner concept similar to “what you see is what
> you get” (WYSIWYG).
>
> I'm guessing that Richard Stallman's GNU Emacs didn't become the main
> emacs till mid 1980s, Then, Xemacs become widely popular and
> competitor to GNU Emacs in the 1990s.
>
> All these are before my time. I started using a computer daily in
> 1990. I started to use emacs in 1998 and quickly switched to Xemacs as
> my choice out of practicality. See: My Experience of Emacs vs XEmacs.
> But since mid 2000s, Xemacs has fallen due to many reasons. (it'd be
> too much to write on why, but here's a summary of what i think: due to
> the popularity of Internet/Web in the 1990s together with Apache,
> Perl, Linux, and the whole Open Source and FSF movement with presses
> from the mainstream media, Richard Stallman and his main work the GNU
> Emacs gets the prime attention than a derivative such as Xemacs, so
> gradually, GNU Emacs gets more developers, got unicode support,
> largely caught up with Xemacs by early 2000s, and Xemacs, since long
> de-coupled with a commercial sponsor, just gradually languished.)

Xah can you give a link to the summary of why one was ahead of the
other ?

> It is unfortunate, since Xemacs really is ahead of emacs in many
> technical ways. However, its semi-dead status is well relfected from
> its website xemacs.org. Pages there haven't been updated for 5 or 10
> years. Its current maintainer, Stephen Turnbull, is a regular
> participant on GNU Emacs dev forum.
>
> Here's a comprehensive document on Multics Emacs, written by Bernard S
> Greenberg, around the same time GNU Emacs of Richard Stallman was
> written. Bernard Greenberg is one of the lispers at the time, who is a
> founder of Symbolics.
>
> Multics Emacs: The History, Design and Implementation (1996), by
> Bernard S Greenberg. At multicians.org.
>
> Another founder of Symbolics, Dan Weinreb, has also written a article
> related to history of the time. Dan is also the author of another
> emacs at the time, called EINE (EINE Is Not Emacs):
>
> Rebuttal to Stallman's Story About The Formation of Symbolics and LMI
> (2007-11), by Dan Weinreb. At danweinreb.org
>
>   Xah
>http://xahlee.org/
>
>

Nice article. Perhaps, someone should resurrect all of Ben Wing's
archives as a single website or a pdf or a zip since he is no longer
around. I expanded the post to a few more groups where it might help
others.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]