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