0:00:00.320,0:00:08.080
hello i'm richard stallman
0:00:03.280,0:00:09.200
founder of the gnu project in 1976 i
0:00:08.080,0:00:12.000
developed the first
0:00:09.200,0:00:13.440
emacs editor with some help from guy
0:00:12.000,0:00:15.839
steele
0:00:13.440,0:00:19.119
then shortly after starting to develop
0:00:15.839,0:00:22.240
the gnu operating system in 1984
0:00:19.119,0:00:24.640
i wanted an emacs editor for it
0:00:22.240,0:00:25.560
so i started writing gnu emacs in
0:00:24.640,0:00:28.560
september
0:00:25.560,0:00:28.560
1984.
0:00:29.519,0:00:35.920
several years ago we decided to move
0:00:32.640,0:00:36.559
many of the emacs list packages outside
0:00:35.920,0:00:39.760
the core
0:00:36.559,0:00:42.960
emacs distribution into a separate
0:00:39.760,0:00:43.280
package archive that we call the e-max
0:00:42.960,0:00:46.480
list
0:00:43.280,0:00:48.719
package arc elpa
0:00:46.480,0:00:51.520
there were two main reasons for this one
0:00:48.719,0:00:54.320
is to make the emax distribution smaller
0:00:51.520,0:00:55.680
so every user wouldn't have to get all
0:00:54.320,0:00:58.320
the packages
0:00:55.680,0:01:00.480
and install all the packages and the
0:00:58.320,0:01:01.520
other reason was to make it possible to
0:01:00.480,0:01:04.559
release
0:01:01.520,0:01:08.320
individual packages separately
0:01:04.559,0:01:08.320
from emacs releases
0:01:08.880,0:01:17.040
now at that point somehow we decided to
0:01:13.119,0:01:19.520
support loading packages from
0:01:17.040,0:01:21.119
a variety of different emacs list
0:01:19.520,0:01:25.520
package archives
0:01:21.119,0:01:29.280
and ours would be called the gnu elpa
0:01:25.520,0:01:32.079
but elpa could be any other
0:01:29.280,0:01:32.799
now i think that naming was a mistake we
0:01:32.079,0:01:35.119
should have
0:01:32.799,0:01:37.759
meant we should have decided that elpa
0:01:35.119,0:01:39.759
referred to our package archive
0:01:37.759,0:01:42.479
and any other package archive should be
0:01:39.759,0:01:46.079
called some other name
0:01:42.479,0:01:48.320
oh well uh this
0:01:46.079,0:01:50.240
is a mistake i believe because it leads
0:01:48.320,0:01:51.119
to a lot of confusion it would have been
0:01:50.240,0:01:55.759
clearer
0:01:51.119,0:01:59.600
if we had uh used the other naming
0:01:55.759,0:02:00.399
because the difference between having a
0:01:59.600,0:02:04.159
package in
0:02:00.399,0:02:07.840
core emacs and having it in gnu elpa
0:02:04.159,0:02:09.679
is purely a practical convenience matter
0:02:07.840,0:02:12.000
convenience of distribution and
0:02:09.679,0:02:14.879
convenience of maintenance
0:02:12.000,0:02:16.800
we wanted to be able to move packages
0:02:14.879,0:02:20.160
between the two
0:02:16.800,0:02:21.200
whenever that was convenient so to make
0:02:20.160,0:02:23.200
that possible
0:02:21.200,0:02:26.319
we insisted on getting copyright
0:02:23.200,0:02:28.800
assignments for packages in gnu elpa
0:02:26.319,0:02:31.360
just the same way we do for packages in
0:02:28.800,0:02:33.760
core emacs
0:02:31.360,0:02:36.239
having the facility for installing
0:02:33.760,0:02:39.440
packages from package archives
0:02:36.239,0:02:42.239
led to a tremendous boost in the
0:02:39.440,0:02:44.879
development and release of emax packages
0:02:42.239,0:02:46.560
unfortunately there was a problem with
0:02:44.879,0:02:49.120
the way that was done
0:02:46.560,0:02:50.000
for the most part the developers of
0:02:49.120,0:02:52.480
these packages
0:02:50.000,0:02:53.599
wouldn't even tell us about them they
0:02:52.480,0:02:56.720
posted them
0:02:53.599,0:02:58.480
in another package archive where we
0:02:56.720,0:03:02.000
didn't know about them
0:02:58.480,0:03:03.120
and where they no attempt was made to
0:03:02.000,0:03:06.560
try to fit them
0:03:03.120,0:03:10.879
into emacs so that they could make sense
0:03:06.560,0:03:14.480
as parts of the emacs distribution
0:03:10.879,0:03:16.959
this led to both moral problems
0:03:14.480,0:03:19.599
packages that depended on non-free
0:03:16.959,0:03:22.159
software in order to be usable
0:03:19.599,0:03:24.319
and technical problems because the
0:03:22.159,0:03:26.159
developers of those packages didn't
0:03:24.319,0:03:29.519
coordinate with us
0:03:26.159,0:03:33.040
about how to make it useful and
0:03:29.519,0:03:36.000
convenient and clean to have them
0:03:33.040,0:03:36.000
in emacs
0:03:36.560,0:03:44.840
so the idea of non-gdu elpa
0:03:41.120,0:03:48.319
is an effort to smooth these things
0:03:44.840,0:03:51.680
out the fundamental plan of
0:03:48.319,0:03:54.480
non-gnu eopa is that
0:03:51.680,0:03:56.159
we won't ask for copyright assignments
0:03:54.480,0:03:58.560
for those packages
0:03:56.159,0:04:00.000
so we won't be able to put them into
0:03:58.560,0:04:04.080
core emacs
0:04:00.000,0:04:06.959
at least not easily but we will
0:04:04.080,0:04:09.200
have some control over how we distribute
0:04:06.959,0:04:09.200
them
0:04:09.519,0:04:15.439
we can put any package into
0:04:12.640,0:04:16.320
non-gnu elpa as long as it's free
0:04:15.439,0:04:19.440
software
0:04:16.320,0:04:23.360
if we like it we can
0:04:19.440,0:04:25.919
set up that way for users to get it
0:04:23.360,0:04:26.720
we could put the package in exactly as
0:04:25.919,0:04:29.919
it is
0:04:26.720,0:04:32.160
if there's no problem at all with it
0:04:29.919,0:04:34.160
we can make an arrangement with the
0:04:32.160,0:04:38.000
packages developers
0:04:34.160,0:04:40.880
to work on it with us and maintain it
0:04:38.000,0:04:42.560
directly for distribution by non-gdu
0:04:40.880,0:04:45.280
elpa
0:04:42.560,0:04:46.080
but if they are not interested we can
0:04:45.280,0:04:49.680
put it in
0:04:46.080,0:04:52.000
ourselves and if we need to make any
0:04:49.680,0:04:55.120
changes we can do so
0:04:52.000,0:04:59.040
so non-gnu elpa
0:04:55.120,0:05:01.360
is not meant to be just a way
0:04:59.040,0:05:02.720
that others can distribute their
0:05:01.360,0:05:05.039
packages
0:05:02.720,0:05:06.000
it's meant at least in a minimal
0:05:05.039,0:05:10.479
technical
0:05:06.000,0:05:12.800
sense to work with gnu emacs and we'll
0:05:10.479,0:05:14.240
make changes if necessary so that it
0:05:12.800,0:05:18.080
works smoothly with
0:05:14.240,0:05:18.080
emacs and
0:05:18.720,0:05:23.280
this means that we're going to maintain
0:05:22.160,0:05:27.600
it differently
0:05:23.280,0:05:29.759
from gnu elpa well gnu elpa
0:05:27.600,0:05:31.520
is hosted in a way that is actually
0:05:29.759,0:05:35.600
rather inconvenient
0:05:31.520,0:05:38.639
it is one single git repository
0:05:35.600,0:05:39.039
and so anybody that has access to write
0:05:38.639,0:05:42.560
it
0:05:39.039,0:05:44.639
can write any part of it there are many
0:05:42.560,0:05:46.080
different packages in there maintained
0:05:44.639,0:05:48.080
by different people
0:05:46.080,0:05:50.960
and we have no way to give each one of
0:05:48.080,0:05:54.720
them access to per own package
0:05:50.960,0:05:58.400
and not to the others well with non-gnu
0:05:54.720,0:05:59.440
elpa we plan to fix that the idea is to
0:05:58.400,0:06:02.479
have
0:05:59.440,0:06:05.600
a single git repository where you can
0:06:02.479,0:06:08.800
download various packages from
0:06:05.600,0:06:10.800
but they won't be maintained there each
0:06:08.800,0:06:14.080
of those packages will be
0:06:10.800,0:06:15.280
copied automatically from some other
0:06:14.080,0:06:18.800
place
0:06:15.280,0:06:21.759
probably some other repository where
0:06:18.800,0:06:22.960
the right people have access to work on
0:06:21.759,0:06:26.479
it
0:06:22.960,0:06:28.160
and this way we can avoid giving a
0:06:26.479,0:06:32.000
gigantic number of people
0:06:28.160,0:06:32.000
access to every part of it
0:06:32.240,0:06:40.479
so far non-gnu elpa is just a plan
0:06:37.039,0:06:43.280
we need people to implement the plan
0:06:40.479,0:06:45.120
so if you would like to help please
0:06:43.280,0:06:47.759
write to me
0:06:45.120,0:06:49.520
i think this is a very important step
0:06:47.759,0:06:52.639
for progress
0:06:49.520,0:06:57.919
and it's got to be implemented
0:06:52.639,0:06:57.919
thanks and happy hacking