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