summaryrefslogblamecommitdiffstats
path: root/2020/subtitles/emacsconf-2020--39-nongnu-elpa--richard-stallman-autogen.sbv
blob: be32dcc3656726fe57e8e737d9356e04fa6bbf57 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
                       
                          

                       
                                    




                       
                                    










                                      
                               

                       
                                 










                                    
                                       




                       
                                  


































                                        
                   







                                       
                                 










                                     
                                        



















                                       
                                       
















                                        
                                    































                                        
          











































                                        
                                        

                       
                                  

























                                   
        






















                                      
          















































































                                        
                                      







                                    
         

































































































                                       
                                     









                              
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