summaryrefslogtreecommitdiffstats
path: root/2020/info
diff options
context:
space:
mode:
Diffstat (limited to '2020/info')
-rw-r--r--2020/info/39.md204
1 files changed, 126 insertions, 78 deletions
diff --git a/2020/info/39.md b/2020/info/39.md
index 303f553..4ca2f49 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 -->