[Top][All Lists]

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

RE: Readings for an emacs package maintainer ?

From: Drew Adams
Subject: RE: Readings for an emacs package maintainer ?
Date: Mon, 1 Jun 2009 10:05:37 -0700

> > What do you, emacs developers, do in order to have the larger
> > backward compatibility spectrum ?
> I'm under the impression that most developers only worry 
> about backward compatibility when users complain.  Which is
> a fairly wise way of being lazy, no?

Sure, unless you also want to help potential users who might not complain.

It really depends what you're trying to do. I tend to make things work in older
releases when the thing I'm creating is possible (reasonable to implement) in
the older releases also. I don't bother, if it's unreasonable. If something
depends on Unicode support, for instance, then Emacs 23 is a must.

Most of the time, the coding difference is not great, however, so it's no big
deal to also make stuff available to users of old releases. 

It does mean testing in the older releases, so that you will realize it if
function `blah' is not available in an older version and must be worked around.
I implement using Emacs 20 some of the time, then test in recent releases. That
typically means fewer gotchas (functions and features that don't exist) than the
other way around.

Q. Why bother? A. Why do you write your code in the first place? If it's for use
by others in addition to yourself, then why not help more of them use it?

There are *lots* of people who use Emacs versions installed by their IT
department, sometimes on hosts where they cannot install alternative code (at
least not for widespread use). And those IT-installed versions are often quite
old (Emacs 21 at Oracle, for example). 

Two reasons: (1) IT doesn't care whether users have the latest and greatest, and
more frequent updates means more work. (2) IT thinks older means more stable,
which means less work. Unicode will likely be an exception, at least in some
countries, but most new Emacs features are not things that will make IT
departments rush to scoop up the latest. 

I would guess that 99% of the developers at Oracle use Emacs 21 (or vi), simply
because that's what's there. In most cases, they could build Emacs on their
machines, for their own use or shared use by colleagues, but (I assume) they
don't care enough to do that.

There are many actual and potential Emacs users who do not necessarily want to
build Emacs themselves (1+). They use what's already available, and that is
often *not* the latest and greatest.

If you are interested in helping such users take advantage of your code, then
typically the effort needed is no big deal. You will need (and will develop, if
you do this) some awareness of which releases introduce which new functions,
macros, and variables - and change which signatures or behaviors. That's not a
bad thing to be aware of, in any case.

I would _guess_ that the fact that *lots* of Emacs users use older releases is
something underrecognized or underrepresented in the Emacs mailing lists and Web
sites. What proportion? Dunno. Maybe it's the majority - I really have no idea.
Does anyone on emacs-devel have a good idea of the proportion who use something
before Emacs 22? Is it 10%? 80%? Is there a breakdown somewhere of existing
users and their releases?

If Emacs had a Support department or were receiving regular maintenance revenue
from users of old releases, we would have such an idea. ;-)

reply via email to

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