Hello, I'm Richard Stallman,
founder of the GNU project. In 1976, I
developed the first
Emacs editor with some help from Guy
Steele.
Then, shortly after starting to develop
the GNU operating system in 1984,
I wanted an Emacs editor for it.
So I started writing GNU Emacs in
September
1984.
Several years ago we decided to move
many of the Emacs Lisp packages outside
the core
Emacs distribution into a separate
package archive that we call the Emacs
Lisp
package archive ELPA.
There were two main reasons for this. One
is to make the Emacs distribution smaller
so every user wouldn't have to get all
the packages
and install all the packages. And the
other reason was to make it possible to
release
individual packages separately
from Emacs releases.
Now, at that point somehow we decided to
support loading packages from
a variety of different Emacs Lisp
package archives
and ours would be called the GNU ELPA,
but ELPA could be any other.
Now, I think that naming was a mistake. We
should have
meant, we should have decided that ELPA
referred to our package archive
and any other package archive should be
called some other name.
Oh, well! Uh this
is a mistake I believe, because it leads
to a lot of confusion it would have been
clearer
if we had uh used the other naming.
Because the difference between having a
package in
core Emacs and having it in GNU ELPA,
is purely a practical convenience matter.
Convenience of distribution and
convenience of maintenance.
We wanted to be able to move packages
between the two
whenever that was convenient. So, to make
that possible
we insisted on getting copyright
assignments for packages in GNU ELPA
just the same way we do for packages in
core Emacs.
Having the facility for installing
packages from package archives,
led to a tremendous boost in the
development and release of Emacs packages.
Unfortunately there was a problem with
the way that was done.
For the most part, the developers of
these packages
wouldn't even tell us about them. They
posted them
in another package archive where we
didn't know about them
and (where they) no attempt was made to
try to fit them
into Emacs so that they could make sense
as parts of the Emacs distribution.
This led to both moral problems,
packages that depended on non-free
software in order to be usable
and technical problems because the
developers of those packages didn't
coordinate with us
about how to make it useful and
convenient and clean to have them
in Emacs.
So, the idea of NonGNU ELPA
is an effort to smooth these things
out. The fundamental plan of
NonGNU ELPA is that,
we won't ask for copyright assignments
for those packages.
So, we won't be able to put them into
core Emacs;
at least not easily, but we will
have some control over how we distribute
them.
We can put any package into
NonGNU ELPA as long as it's free
software.
If we like it we can
set up that way for users to get it.
We could put the package in exactly as
it is
if there's no problem at all with it.
We can make an arrangement with the
package's developers
to work on it with us and maintain it
directly for distribution by NonGNU
ELPA
but if they are not interested we can
put it in
ourselves and if we need to make any
changes we can do so.
So, NonGNU ELPA
is not meant to be just a way
that others can distribute their
packages.
It's meant at least in a minimal
technical
sense to work with GNU Emacs, and we'll
make changes if necessary so that it
works smoothly with
Emacs. And
this means that we're going to maintain
it differently
from GNU ELPA. Well, GNU ELPA
is hosted in a way that is actually
rather inconvenient.
It is one single Git repository.
And so anybody that has access to write
it
can write any part of it. There are many
different packages in there maintained
by different people,
and we have no way to give each one of
them access to per own package
and not to the others. Well, with NonGNU
ELPA we plan to fix that. The idea is to
have
a single Git repository where you can
download various packages from.
But, they won't be maintained there. Each
of those packages will be
copied automatically from some other
place.
Probably some other repository where
the right people have access to work on
it.
And this way we can avoid giving a
gigantic number of people
access to every part of it.
So far NonGNU ELPA is just a plan,
we need people to implement the plan.
So, if you would like to help please
write to me.
I think this is a very important step
for progress
and it's got to be implemented.
Thanks and happy hacking!