diff options
Diffstat (limited to '2020/subtitles/emacsconf-2020--39-nongnu-elpa--richard-stallman.vtt')
-rw-r--r-- | 2020/subtitles/emacsconf-2020--39-nongnu-elpa--richard-stallman.vtt | 400 |
1 files changed, 400 insertions, 0 deletions
diff --git a/2020/subtitles/emacsconf-2020--39-nongnu-elpa--richard-stallman.vtt b/2020/subtitles/emacsconf-2020--39-nongnu-elpa--richard-stallman.vtt new file mode 100644 index 00000000..89dc142e --- /dev/null +++ b/2020/subtitles/emacsconf-2020--39-nongnu-elpa--richard-stallman.vtt @@ -0,0 +1,400 @@ +WEBVTT + +00:00:00.320 --> 00:00:03.280 +Hello, I'm Richard Stallman, + +00:00:03.280 --> 00:00:07.816 +founder of the GNU project. + +00:00:07.816 --> 00:00:09.200 +In 1976, I developed the first + +00:00:09.200 --> 00:00:12.320 +Emacs editor with some help + +00:00:12.320 --> 00:00:13.440 +from Guy Steele. + +00:00:13.440 --> 00:00:15.839 +Then, shortly after starting to develop + +00:00:15.839 --> 00:00:19.119 +the GNU operating system in 1984, + +00:00:19.119 --> 00:00:22.240 +I wanted an Emacs editor for it. + +00:00:22.240 --> 00:00:29.519 +So I started writing GNU Emacs in +September 1984. + +00:00:29.519 --> 00:00:32.640 +Several years ago we decided to move + +00:00:32.640 --> 00:00:35.920 +many of the Emacs Lisp packages outside + +00:00:35.920 --> 00:00:39.866 +the core Emacs distribution into + +00:00:39.866 --> 00:00:46.480 +a separate package archive that we call +the Emacs Lisp package archive ELPA. + +00:00:46.480 --> 00:00:49.555 +There were two main reasons for this. + +00:00:49.555 --> 00:00:51.520 +One is to make the Emacs +distribution smaller + +00:00:51.520 --> 00:00:54.870 +so every user wouldn't have to + +00:00:54.870 --> 00:00:55.680 +get all the packages + +00:00:55.680 --> 00:00:58.820 +and install all the packages. + +00:00:58.820 --> 00:01:00.480 +And the other reason was to make it +possible to + +00:01:00.480 --> 00:01:03.485 +release individual packages + +00:01:03.485 --> 00:01:08.880 +separately from Emacs releases. + +00:01:08.880 --> 00:01:13.119 +Now, at that point somehow we decided to + +00:01:13.119 --> 00:01:17.040 +support loading packages from + +00:01:17.040 --> 00:01:21.119 +a variety of different Emacs Lisp +package archives + +00:01:21.119 --> 00:01:25.520 +and ours would be called the GNU ELPA, + +00:01:25.520 --> 00:01:29.280 +but ELPA could be any other. + +00:01:29.280 --> 00:01:32.945 +Now, I think that naming was a mistake. + +00:01:32.945 --> 00:01:35.119 +We should have meant, we should have +decided that ELPA + +00:01:35.119 --> 00:01:37.759 +referred to our package archive + +00:01:37.759 --> 00:01:39.297 +and any other package archive + +00:01:39.297 --> 00:01:42.479 +should be called some other name. + +00:01:42.479 --> 00:01:46.128 +Oh, well! Uh this is a mistake, + +00:01:46.128 --> 00:01:48.320 +I believe, because it leads + +00:01:48.320 --> 00:01:49.397 +to a lot of confusion. + +00:01:49.397 --> 00:01:51.119 +It would have been clearer + +00:01:51.119 --> 00:01:55.759 +if we had used the other naming. + +00:01:55.759 --> 00:01:59.812 +Because the difference between + +00:01:59.812 --> 00:02:04.159 +having a package in core Emacs and +having it in GNU ELPA, + +00:02:04.159 --> 00:02:07.840 +is purely a practical convenience matter. + +00:02:07.840 --> 00:02:10.501 +Convenience of distribution + +00:02:10.501 --> 00:02:12.000 +and convenience of maintenance. + +00:02:12.000 --> 00:02:14.879 +We wanted to be able to move packages + +00:02:14.879 --> 00:02:16.800 +between the two + +00:02:16.800 --> 00:02:19.258 +whenever that was convenient. + +00:02:19.258 --> 00:02:21.200 +So, to make that possible + +00:02:21.200 --> 00:02:23.200 +we insisted on getting copyright + +00:02:23.200 --> 00:02:26.319 +assignments for packages in GNU ELPA + +00:02:26.319 --> 00:02:31.360 +just the same way we do for packages in +core Emacs. + +00:02:31.360 --> 00:02:33.760 +Having the facility for installing + +00:02:33.760 --> 00:02:36.239 +packages from package archives, + +00:02:36.239 --> 00:02:39.440 +led to a tremendous boost in the + +00:02:39.440 --> 00:02:42.239 +development and release of Emacs packages. + +00:02:42.239 --> 00:02:44.879 +Unfortunately there was a problem with + +00:02:44.879 --> 00:02:46.560 +the way that was done. + +00:02:46.560 --> 00:02:50.000 +For the most part, the developers of +these packages + +00:02:50.000 --> 00:02:52.218 +wouldn't even tell us about them. + +00:02:52.218 --> 00:02:56.027 +They posted them in another package +archive + +00:02:56.027 --> 00:02:58.480 +where we didn't know about them + +00:02:58.480 --> 00:03:03.120 +and no attempt was made to +try to fit them + +00:03:03.120 --> 00:03:06.560 +into Emacs so that they could make sense + +00:03:06.560 --> 00:03:10.879 +as parts of the Emacs distribution. + +00:03:10.879 --> 00:03:14.480 +This led to both moral problems, + +00:03:14.480 --> 00:03:16.375 +(packages that depended on + +00:03:16.375 --> 00:03:19.599 +non-free software in order to be usable) + +00:03:19.599 --> 00:03:21.354 +and technical problems, + +00:03:21.354 --> 00:03:24.877 +because the developers of those packages + +00:03:24.877 --> 00:03:26.159 +didn't coordinate with us + +00:03:26.159 --> 00:03:29.519 +about how to make it useful and + +00:03:29.519 --> 00:03:36.560 +convenient and clean to have them in +Emacs. + +00:03:36.560 --> 00:03:41.120 +So, the idea of NonGNU ELPA + +00:03:41.120 --> 00:03:45.337 +is an effort to smooth these +things out. + +00:03:45.337 --> 00:03:48.319 +The fundamental plan of + +00:03:48.319 --> 00:03:51.680 +NonGNU ELPA is that + +00:03:51.680 --> 00:03:54.480 +we won't ask for copyright assignments + +00:03:54.480 --> 00:03:56.159 +for those packages. + +00:03:56.159 --> 00:04:00.000 +So, we won't be able to put them into +core Emacs; + +00:04:00.000 --> 00:04:03.550 +at least not easily, + +00:04:03.550 --> 00:04:09.519 +but we will have some control over how +we distribute them. + +00:04:09.519 --> 00:04:14.691 +We can put any package into NonGNU ELPA + +00:04:14.691 --> 00:04:16.320 +as long as it's free software. + +00:04:16.320 --> 00:04:23.360 +If we like it, we can set up that way +for users to get it. + +00:04:23.360 --> 00:04:26.720 +We could put the package in +exactly as it is + +00:04:26.720 --> 00:04:29.919 +if there's no problem at all with it. + +00:04:29.919 --> 00:04:32.647 +We can make an arrangement + +00:04:32.647 --> 00:04:34.160 +with the package's developers + +00:04:34.160 --> 00:04:38.000 +to work on it with us and maintain it + +00:04:38.000 --> 00:04:42.560 +directly for distribution by NonGNU ELPA, + +00:04:42.560 --> 00:04:45.778 +but if they are not interested, + +00:04:45.778 --> 00:04:48.729 +we can put it in ourselves, + +00:04:48.729 --> 00:04:50.453 +and if we need to make any changes, + +00:04:50.453 --> 00:04:52.000 +we can do so. + +00:04:52.000 --> 00:04:58.688 +So, NonGNU ELPA is not meant to be + +00:04:58.688 --> 00:05:02.720 +just a way that others can distribute +their packages. + +00:05:02.720 --> 00:05:04.336 +It's meant, at least in + +00:05:04.336 --> 00:05:07.574 +a minimal technical sense, + +00:05:07.574 --> 00:05:10.686 +to work with GNU Emacs, + +00:05:10.686 --> 00:05:12.305 +and we'll make changes if necessary, + +00:05:12.305 --> 00:05:17.928 +so that it works smoothly with Emacs. + +00:05:17.928 --> 00:05:25.365 +And this means that we're going to +maintain it differently from GNU ELPA. + +00:05:25.365 --> 00:05:31.520 +Well, GNU ELPA is hosted in a way that +is actually rather inconvenient. + +00:05:31.520 --> 00:05:35.600 +It is one single Git repository. + +00:05:35.600 --> 00:05:39.039 +And so anybody that has access +to write it + +00:05:39.039 --> 00:05:41.239 +can write any part of it. + +00:05:41.239 --> 00:05:46.080 +There are many different packages in +there, maintained by different people, + +00:05:46.080 --> 00:05:48.080 +and we have no way to give each one of + +00:05:48.080 --> 00:05:50.960 +them access to per own package + +00:05:50.960 --> 00:05:53.122 +and not to the others. + +00:05:53.122 --> 00:05:57.035 +Well, with NonGNU ELPA, +we plan to fix that. + +00:05:57.035 --> 00:06:01.411 +The idea is to have +a single Git repository + +00:06:01.411 --> 00:06:05.600 +where you can download various packages from. + +00:06:05.600 --> 00:06:08.400 +But they won't be maintained there. + +00:06:08.400 --> 00:06:10.800 +Each of those packages will be + +00:06:10.800 --> 00:06:15.280 +copied automatically from some other place. + +00:06:15.280 --> 00:06:18.311 +Probably some other repository + +00:06:18.311 --> 00:06:22.960 +where the right people have access to work on it. + +00:06:22.960 --> 00:06:26.375 +And this way we can avoid giving + +00:06:26.375 --> 00:06:28.160 +a gigantic number of people + +00:06:28.160 --> 00:06:32.240 +access to every part of it. + +00:06:32.240 --> 00:06:37.039 +So far NonGNU ELPA is just a plan, + +00:06:37.039 --> 00:06:40.479 +we need people to implement the plan. + +00:06:40.479 --> 00:06:43.825 +So, if you would like to help, + +00:06:43.825 --> 00:06:45.120 +please write to me. + +00:06:45.120 --> 00:06:49.520 +I think this is a very important step for progress + +00:06:49.520 --> 00:06:52.639 +and it's got to be implemented. + +00:06:52.639 --> 00:06:57.919 +Thanks and happy hacking! |