WEBVTT 00:00:00.640 --> 00:00:04.160 Okay. So, the first question is, "What is an 00:00:04.160 --> 00:00:08.800 example of a package currently in 00:00:08.800 --> 00:00:12.160 a non-ELPA repo that does not work well 00:00:12.160 --> 00:00:13.759 with Emacs?" 00:00:13.759 --> 00:00:18.000 Well, one of them is s.el, 00:00:18.000 --> 00:00:19.760 and this is what made me aware that 00:00:19.760 --> 00:00:21.920 there was an issue here that caused 00:00:21.920 --> 00:00:25.760 problems. Well, s.el 00:00:25.760 --> 00:00:29.439 is a beautifully written package 00:00:29.439 --> 00:00:31.279 that appears to be very useful for 00:00:31.279 --> 00:00:32.800 people. 00:00:32.800 --> 00:00:36.320 And there's just one thing wrong with it. 00:00:36.320 --> 00:00:39.520 It gobbled up the name space 00:00:39.520 --> 00:00:43.680 of symbols starting with s dash. 00:00:43.680 --> 00:00:47.039 And I was shocked to discover that 00:00:47.039 --> 00:00:49.440 somebody who had not coordinated with 00:00:49.440 --> 00:00:51.760 the Emacs developers at all, 00:00:51.760 --> 00:00:55.360 had implemented a package using such a 00:00:55.360 --> 00:00:56.800 short prefix, which 00:00:56.800 --> 00:00:58.723 isn't the right way to do things. 00:00:58.723 --> 00:01:01.520 Oh, by the way, the questions have moved off the 00:01:01.520 --> 00:01:04.000 screen, this is no good. I can continue 00:01:04.000 --> 00:01:05.360 answering this one, 00:01:05.360 --> 00:01:08.880 but I'll be stuck when this one is over. 00:01:08.880 --> 00:01:12.159 Anyway, so… 00:01:12.159 --> 00:01:15.040 I was told that there was nothing I 00:01:15.040 --> 00:01:16.560 could do about it, 00:01:16.560 --> 00:01:19.920 that so many users, packages were using 00:01:19.920 --> 00:01:22.960 s.el and thus essentially using that 00:01:22.960 --> 00:01:24.240 definition 00:01:24.240 --> 00:01:28.080 of the s-* symbols, 00:01:28.080 --> 00:01:31.360 that any attempt to use them 00:01:31.360 --> 00:01:34.720 publicly or privately for anything else 00:01:34.720 --> 00:01:38.079 would lead to horrible problems. 00:01:38.079 --> 00:01:41.680 And I don't like that. 00:01:41.680 --> 00:01:45.520 I decided, I wanted to do something 00:01:45.520 --> 00:01:49.040 a) so that wouldn't happen again 00:01:49.040 --> 00:01:52.320 and b) to make it unhappen 00:01:52.320 --> 00:01:55.119 in that case. Well, the way to make it 00:01:55.119 --> 00:01:57.840 unhappen in that case is with a new 00:01:57.840 --> 00:02:02.240 symbol renaming feature. The idea is, 00:02:02.240 --> 00:02:05.360 you rename that file to something else, 00:02:05.360 --> 00:02:09.119 and then you define an s.el that 00:02:09.119 --> 00:02:11.520 sets up symbol renaming and then loads 00:02:11.520 --> 00:02:13.040 the something else. 00:02:13.040 --> 00:02:15.590 So, it actually runs the same code, 00:02:15.590 --> 00:02:16.400 it just 00:02:16.400 --> 00:02:20.879 doesn't globally define the symbols 00:02:20.879 --> 00:02:23.920 s dash whatever, but they 00:02:23.920 --> 00:02:26.160 appear to work for the programs that 00:02:26.160 --> 00:02:32.640 explicitly require s.el 00:02:32.640 --> 00:02:36.000 or the s package. So, this gets the same 00:02:36.000 --> 00:02:38.080 behavior for all the programs that are 00:02:38.080 --> 00:02:40.239 using that library 00:02:40.239 --> 00:02:43.360 and doesn't interfere 00:02:43.360 --> 00:02:47.840 with the global name space at all. 00:02:47.840 --> 00:02:50.319 However, to do that we need to have a 00:02:50.319 --> 00:02:52.080 package 00:02:52.080 --> 00:02:55.360 s.el, that isn't the same 00:02:55.360 --> 00:02:57.760 totally. A short one file that's totally 00:02:57.760 --> 00:02:58.640 different. 00:02:58.640 --> 00:03:01.440 Plus, we've got to have the file that 00:03:01.440 --> 00:03:02.840 normally is called 00:03:02.840 --> 00:03:06.239 s.el available, but 00:03:06.239 --> 00:03:10.319 under another name. Well, 00:03:10.319 --> 00:03:13.040 how are we going to do that? We can't put 00:03:13.040 --> 00:03:18.879 this into Emacs in a nice way that 00:03:18.879 --> 00:03:24.560 won't make the maintainer angry. 00:03:24.560 --> 00:03:28.159 (or the developer of that package.) 00:03:28.159 --> 00:03:32.080 But we can do it with NonGNU 00:03:32.080 --> 00:03:34.640 ELPA. We can put those two things into 00:03:34.640 --> 00:03:36.239 NonGNU ELPA 00:03:36.239 --> 00:03:38.720 without any difficulty. And this shows 00:03:38.720 --> 00:03:40.720 one of the advantages. 00:03:40.720 --> 00:03:43.280 We can put files, we can put packages 00:03:43.280 --> 00:03:45.440 into NonGNU ELPA 00:03:45.440 --> 00:03:48.400 and make changes in them. Now, in general 00:03:48.400 --> 00:03:49.599 we wouldn't 00:03:49.599 --> 00:03:51.760 go to the effort of making big changes. 00:03:51.760 --> 00:03:54.319 That's just too much to do 00:03:54.319 --> 00:03:56.400 unless something's really important. But 00:03:56.400 --> 00:03:58.000 small changes 00:03:58.000 --> 00:04:01.120 that help things fit in are 00:04:01.120 --> 00:04:04.319 easy to do. 00:04:04.319 --> 00:04:07.120 Okay, oh, so basically the recording 00:04:07.120 --> 00:04:10.319 didn't get anything until now. I just saw 00:04:10.319 --> 00:04:13.439 a note pop up, "this session is now being 00:04:13.439 --> 00:04:14.319 recorded". 00:04:14.319 --> 00:04:16.320 I hope it's been recorded all along. It 00:04:16.320 --> 00:04:18.160 would be a shame to 00:04:18.160 --> 00:04:21.280 spoil… Oh, good okay. 00:04:21.280 --> 00:04:27.120 So, that's one of the issues. 00:04:27.120 --> 00:04:30.479 "Does NonGNU ELPA already exist 00:04:30.479 --> 00:04:33.840 or is this a sort of "plan"?" I don't 00:04:33.840 --> 00:04:35.360 know why you have to 00:04:35.360 --> 00:04:37.919 put scare quotes around the word plan. 00:04:37.919 --> 00:04:40.400 It's sort of in between. 00:04:40.400 --> 00:04:44.160 The creation of it is started. You 00:04:44.160 --> 00:04:45.440 will find 00:04:45.440 --> 00:04:48.160 that there is an archive that it's 00:04:48.160 --> 00:04:51.520 possible to download packages from, 00:04:51.520 --> 00:04:54.880 and there is a repository to put them in, 00:04:54.880 --> 00:04:57.120 but that's not the way it's really 00:04:57.120 --> 00:04:58.560 supposed to work. 00:04:58.560 --> 00:05:02.800 This is not supposed to be like the 00:05:02.800 --> 00:05:04.320 GNU ELPA, where there's 00:05:04.320 --> 00:05:07.280 one repo for all the packages and thus 00:05:07.280 --> 00:05:09.039 anyone who wants to edit any of them, 00:05:09.039 --> 00:05:11.199 anyone that we want to have edit any of 00:05:11.199 --> 00:05:11.680 them, 00:05:11.680 --> 00:05:13.280 has got to have access to the whole 00:05:13.280 --> 00:05:15.440 thing for one thing. 00:05:15.440 --> 00:05:18.560 Some packages will make 00:05:18.560 --> 00:05:21.840 an arrangement with the developers, 00:05:21.840 --> 00:05:25.120 and they'll assure us that they will 00:05:25.120 --> 00:05:27.039 do things as things should be done, and 00:05:27.039 --> 00:05:28.400 then we'll 00:05:28.400 --> 00:05:32.080 have their repo copied automatically 00:05:32.080 --> 00:05:35.919 or in other cases, say, 00:05:35.919 --> 00:05:38.160 copied manually with a little checking 00:05:38.160 --> 00:05:40.160 every so often. 00:05:40.160 --> 00:05:46.400 In other cases we'll need to have our own 00:05:46.400 --> 00:05:49.440 repo for a particular package. 00:05:49.440 --> 00:05:52.479 But we shouldn't have a single repo for 00:05:52.479 --> 00:05:54.400 all the packages. We should have a repo 00:05:54.400 --> 00:05:55.919 for each package, 00:05:55.919 --> 00:05:57.840 so that the people working on that can 00:05:57.840 --> 00:06:01.120 get access to modify it. 00:06:01.120 --> 00:06:04.319 This has to be finished setting up, 00:06:04.319 --> 00:06:06.080 and we're still working out the 00:06:06.080 --> 00:06:07.680 procedures. 00:06:07.680 --> 00:06:11.039 For instance, for making the arrangements 00:06:11.039 --> 00:06:14.400 with the developers of a package so that 00:06:14.400 --> 00:06:15.440 we can, 00:06:15.440 --> 00:06:18.840 we hope, entrust its development to 00:06:18.840 --> 00:06:24.800 them and rely on them directly. 00:06:24.800 --> 00:06:26.560 And there may be more that needs to be 00:06:26.560 --> 00:06:29.840 worked on. 00:06:29.840 --> 00:06:36.639 Oh! There's so many questions. 00:06:36.639 --> 00:06:39.280 Well, I hope you… The third question is, 00:06:39.280 --> 00:06:40.880 what are the benefits? 00:06:40.880 --> 00:06:43.680 I hope that people now see the benefits. 00:06:43.680 --> 00:06:46.240 I've described them. 00:06:46.240 --> 00:06:49.599 Next question, "Is it possible to work 00:06:49.599 --> 00:06:51.440 with the MELPA team 00:06:51.440 --> 00:06:54.720 to integrate that into Emacs?" 00:06:54.720 --> 00:06:59.440 No, because the goal doesn't make sense. 00:06:59.440 --> 00:07:03.759 MELPA the way it's done, does not belong 00:07:03.759 --> 00:07:07.199 inside Emacs in any sense. Well, first of 00:07:07.199 --> 00:07:08.560 all, it can't literally be 00:07:08.560 --> 00:07:11.280 inside Emacs. We don't have copyright 00:07:11.280 --> 00:07:13.280 assignments for that code 00:07:13.280 --> 00:07:18.160 and to get it would be unfeasible, 00:07:18.160 --> 00:07:20.560 but we're not asking for copyright 00:07:20.560 --> 00:07:21.520 assignments for 00:07:21.520 --> 00:07:25.280 NonGNU ELPA so that's 00:07:25.280 --> 00:07:27.599 you might wonder could MELPA be merged 00:07:27.599 --> 00:07:31.440 with NonGNU ELPA? The problem is, 00:07:31.440 --> 00:07:35.039 MELPA doesn't modify the packages. 00:07:35.039 --> 00:07:38.240 It's just a place to find releases of 00:07:38.240 --> 00:07:41.360 packages wherever they happen to be, 00:07:41.360 --> 00:07:44.800 and they put packages in with 00:07:44.800 --> 00:07:48.319 only a little bit of checking. 00:07:48.319 --> 00:07:51.520 So, no. There are a lot of packages 00:07:51.520 --> 00:07:51.919 that are 00:07:51.919 --> 00:07:55.280 in MELPA that we'd like to get into 00:07:55.280 --> 00:07:58.479 NonGNU ELPA. I don't know the names of 00:07:58.479 --> 00:08:00.800 most of them, but I expect most of them 00:08:00.800 --> 00:08:04.160 would be fine to have. But they've got to 00:08:04.160 --> 00:08:08.560 be looked at one by one. 00:08:08.560 --> 00:08:12.000 There are some rules for NonGNU ELPA, 00:08:12.000 --> 00:08:14.479 and the only way to check them is to 00:08:14.479 --> 00:08:18.000 check them on one package at a time, 00:08:18.000 --> 00:08:22.160 and that's going to take effort. 00:08:22.160 --> 00:08:25.039 Now, with the people who work on MELPA 00:08:25.039 --> 00:08:26.080 want to get involved 00:08:26.080 --> 00:08:29.440 of this, that would be great. 00:08:29.440 --> 00:08:32.800 I haven't tried asking them. First we've 00:08:32.800 --> 00:08:33.919 got to get this thing 00:08:33.919 --> 00:08:37.599 set up. I doubt they would want to, 00:08:37.599 --> 00:08:40.479 but if they said yes, that would be 00:08:40.479 --> 00:08:44.159 wonderful. 00:08:44.159 --> 00:08:48.399 "Any thoughts of packages being 00:08:48.399 --> 00:09:00.959 added…" I'm afraid. 00:09:05.440 --> 00:09:08.959 Any thoughts of packages being added as 00:09:08.959 --> 00:09:11.040 some URL I don't know anything about, but 00:09:11.040 --> 00:09:13.120 it talks about open source, 00:09:13.120 --> 00:09:17.680 which means I'm very unlikely to have much 00:09:17.680 --> 00:09:20.959 in common with whatever they say about 00:09:20.959 --> 00:09:24.080 either licensing or 00:09:24.080 --> 00:09:27.760 what's right and wrong. 00:09:27.760 --> 00:09:29.959 But this seems to be something about 00:09:29.959 --> 00:09:33.523 disregarding licenses altogether. 00:09:33.523 --> 00:09:35.680 Well, that is basically 00:09:35.680 --> 00:09:39.360 asking to lose. There are reasons 00:09:39.360 --> 00:09:43.360 why we developed GNU licenses to release 00:09:43.360 --> 00:09:46.490 software, why we have criteria for which 00:09:46.490 --> 00:09:49.519 licenses make a program free software. 00:09:49.519 --> 00:09:52.640 If the program doesn't carry a license 00:09:52.640 --> 00:09:55.057 or if it carries a non-free license, 00:09:55.057 --> 00:09:58.323 that program is not free software. 00:09:58.323 --> 00:10:01.857 Now, you can maybe get away with 00:10:01.857 --> 00:10:04.800 disregarding that fact unless 00:10:04.800 --> 00:10:08.959 somebody, an author or publisher stops you. 00:10:08.959 --> 00:10:11.360 But we're not going to take… we're not 00:10:11.360 --> 00:10:12.399 basically going to 00:10:12.399 --> 00:10:15.200 disregard the question of whether the 00:10:15.200 --> 00:10:16.399 software we 00:10:16.399 --> 00:10:19.040 recommend to people, really is free 00:10:19.040 --> 00:10:21.360 software or not. 00:10:21.360 --> 00:10:24.560 That's basically 00:10:24.560 --> 00:10:27.519 blindfolding yourself to the legal 00:10:27.519 --> 00:10:29.120 situation of the software you're 00:10:29.120 --> 00:10:33.519 distributing, it's a terrible idea. If they 00:10:33.519 --> 00:10:35.920 disregard our licenses they will hear 00:10:35.920 --> 00:10:38.640 from us about it. 00:10:38.640 --> 00:10:40.959 And if you want to contribute to the 00:10:40.959 --> 00:10:42.720 free world 00:10:42.720 --> 00:10:46.320 put free licenses on your code 00:10:46.320 --> 00:10:47.823 and choose good ones. 00:10:47.823 --> 00:10:50.000 To get this information, 00:10:50.000 --> 00:10:57.120 look at gnu.org/licenses, 00:10:57.120 --> 00:10:59.839 and one page that's important 00:10:59.839 --> 00:11:05.040 is license-recommendations.html, 00:11:05.040 --> 00:11:07.360 that's where we advise you on what 00:11:07.360 --> 00:11:09.279 license we would recommend you use 00:11:09.279 --> 00:11:11.360 depending on the circumstances. 00:11:11.360 --> 00:11:15.600 There's also license-list.html 00:11:15.600 --> 00:11:20.160 which describes a lot of licenses and 00:11:20.160 --> 00:11:22.160 says which ones are free, 00:11:22.160 --> 00:11:23.957 which ones are compatible 00:11:23.957 --> 00:11:26.160 with the GNU GPL. 00:11:26.160 --> 00:11:28.640 It's really important to use only GPL 00:11:28.640 --> 00:11:31.519 compatible licenses 00:11:31.519 --> 00:11:34.320 so that the various programs can be 00:11:34.320 --> 00:11:40.720 combined together or linked. 00:11:40.720 --> 00:11:43.120 You can also get other information about 00:11:43.120 --> 00:11:44.240 GNU licenses 00:11:44.240 --> 00:11:47.040 and the reasons why they are written the 00:11:47.040 --> 00:11:55.279 way they are. 00:11:55.279 --> 00:12:03.200 Oh sorry, I don't see the next question. 00:12:03.200 --> 00:12:07.519 "Why do I insist on using per and pers?" 00:12:07.519 --> 00:12:11.680 I'm not happy with using 00:12:11.680 --> 00:12:14.959 they, which is a plural pronoun with a 00:12:14.959 --> 00:12:17.440 singular antecedent. 00:12:17.440 --> 00:12:20.480 It's bad because it causes 00:12:20.480 --> 00:12:24.800 confusion that is completely gratuitous. 00:12:24.800 --> 00:12:28.639 Many sentences become a lot of work 00:12:28.639 --> 00:12:33.200 to parse and understand if you 00:12:33.200 --> 00:12:36.480 add that ambiguity, that source of 00:12:36.480 --> 00:12:39.839 regular ambiguity. Now, 00:12:39.839 --> 00:12:42.720 I do not accept the demands of other 00:12:42.720 --> 00:12:43.680 people 00:12:43.680 --> 00:12:47.519 in regard to changing my grammar. 00:12:47.519 --> 00:12:50.800 You can try to convince me, but 00:12:50.800 --> 00:12:54.240 no one is entitled to give me orders 00:12:54.240 --> 00:12:55.440 about that 00:12:55.440 --> 00:12:58.880 or state their desires and expect 00:12:58.880 --> 00:13:03.200 obedience, not for me and not from you 00:13:03.200 --> 00:13:06.560 or anyone. We are all 00:13:06.560 --> 00:13:09.839 equally entitled to decide 00:13:09.839 --> 00:13:13.200 how we will speak and how we won't speak. 00:13:13.200 --> 00:13:18.000 I've spelled out all of these points 00:13:18.000 --> 00:13:19.857 in a file called 00:13:19.857 --> 00:13:29.423 stallman.org/articles/genderless-pronouns.html 00:13:29.423 --> 00:13:31.600 (corrected), 00:13:31.600 --> 00:13:33.760 of course, this is not a GNU project 00:13:33.760 --> 00:13:36.000 policy, 00:13:36.000 --> 00:13:46.839 it's my own personal ideas on the 00:13:46.839 --> 00:13:53.920 subject. 00:13:53.920 --> 00:13:57.120 If any of you feels offended 00:13:57.120 --> 00:14:01.040 by my referring to you with a singular 00:14:01.040 --> 00:14:04.320 gender-neutral pronoun, feel free 00:14:04.320 --> 00:14:07.680 to contact me privately 00:14:07.680 --> 00:14:10.720 and explain to me your reasons. 00:14:10.720 --> 00:14:14.000 I will pay attention to them, I'll 00:14:14.000 --> 00:14:16.639 think about them assuming that they're 00:14:16.639 --> 00:14:18.399 not something I've already 00:14:18.399 --> 00:14:24.079 considered and decided to dismiss before. 00:14:24.079 --> 00:14:27.760 But you must not speak to me as if I had 00:14:27.760 --> 00:14:30.240 no business not obeying you because 00:14:30.240 --> 00:14:31.690 that's rude, 00:14:31.690 --> 00:14:34.320 and it is not likely to convince me 00:14:34.320 --> 00:14:40.720 to change my mind. 00:14:40.720 --> 00:14:44.240 I believe it is not actually 00:14:44.240 --> 00:14:48.320 of stating offense to anyone, 00:14:48.320 --> 00:14:50.560 and the fact that somebody disagrees 00:14:50.560 --> 00:14:52.880 with me does not mean I'm wrong, 00:14:52.880 --> 00:15:00.720 but I always can be wrong. 00:15:00.720 --> 00:15:02.560 "When you wrote that you could add a 00:15:02.560 --> 00:15:05.680 package to NonGNU ELPA, 00:15:05.680 --> 00:15:07.120 are you implying that you would add 00:15:07.120 --> 00:15:09.199 packages with or without package 00:15:09.199 --> 00:15:11.120 maintainer's knowledge?" 00:15:11.120 --> 00:15:15.279 Of course, the packages we would 00:15:15.279 --> 00:15:18.000 distribute in this way are free 00:15:18.000 --> 00:15:19.519 software. 00:15:19.519 --> 00:15:22.720 Everyone is entitled to redistribute them 00:15:22.720 --> 00:15:26.560 and everyone is also entitled to modify 00:15:26.560 --> 00:15:26.959 them 00:15:26.959 --> 00:15:29.199 and redistribute them, that's part of the 00:15:29.199 --> 00:15:31.680 meaning of free software. 00:15:31.680 --> 00:15:35.040 I have been unable to understand 00:15:35.040 --> 00:15:38.320 how there came to be an idea 00:15:38.320 --> 00:15:42.560 that those who redistribute packages 00:15:42.560 --> 00:15:49.360 have some obligation to be mere mirrors 00:15:49.360 --> 00:15:54.480 and not modify things themselves. 00:15:54.480 --> 00:15:58.560 Well, if a package is 00:15:58.560 --> 00:16:01.440 being maintained by developers who are 00:16:01.440 --> 00:16:03.440 cooperating with us, 00:16:03.440 --> 00:16:06.240 we'll normally just leave it to them. 00:16:06.240 --> 00:16:07.360 After all, 00:16:07.360 --> 00:16:09.590 we have lots of other work to do. 00:16:09.590 --> 00:16:12.390 They are clearly experts on 00:16:12.390 --> 00:16:15.600 the packages they've developed, 00:16:15.600 --> 00:16:18.399 let's leave it to them if they make that 00:16:18.399 --> 00:16:22.800 sort of arrangement with us. But 00:16:22.800 --> 00:16:26.480 that's up to them, we can't insist that 00:16:26.480 --> 00:16:29.120 anyone make an arrangement with us, 00:16:29.120 --> 00:16:30.720 but since those programs are free 00:16:30.720 --> 00:16:35.723 software, anyone is free to redistribute them, 00:16:35.723 --> 00:16:41.839 and we will do that. 00:16:41.839 --> 00:16:45.519 "Have you ever used vi or vim or 00:16:45.519 --> 00:16:52.079 evil mode?" No. 00:16:52.079 --> 00:16:53.920 "Are there any plans to implement 00:16:53.920 --> 00:16:56.800 security considerations in NonGNU 00:16:56.800 --> 00:16:58.657 ELPA?" 00:16:58.657 --> 00:17:01.890 We probably should, 00:17:01.890 --> 00:17:04.959 and this will have to be implemented, 00:17:04.959 --> 00:17:08.559 but at the moment 00:17:08.559 --> 00:17:12.000 developer Emacs maintainers will copy 00:17:12.000 --> 00:17:13.280 packages 00:17:13.280 --> 00:17:18.160 into it, and so as long as they are 00:17:18.160 --> 00:17:20.160 verifying the packages and getting the 00:17:20.160 --> 00:17:22.480 packages from the right place 00:17:22.480 --> 00:17:24.690 that will take care of the security. 00:17:24.690 --> 00:17:25.919 Once there is… 00:17:25.919 --> 00:17:30.160 When with automatic copying in, 00:17:30.160 --> 00:17:33.200 will have to do something to 00:17:33.200 --> 00:17:35.200 make sure that we're fetching the 00:17:35.200 --> 00:17:40.320 packages securely. 00:17:40.320 --> 00:17:44.000 Some of you might be interested in 00:17:44.000 --> 00:17:46.080 helping to design and implement this 00:17:46.080 --> 00:17:48.000 system. 00:17:48.000 --> 00:17:52.559 "What distro do I use?" 00:17:52.559 --> 00:17:56.720 Well, which distro of GNU/Linux 00:17:56.720 --> 00:17:58.000 do I use? 00:17:58.000 --> 00:18:03.520 I use Trisquel, 00:18:03.520 --> 00:18:07.200 I haven't tried most of the free distros 00:18:07.200 --> 00:18:10.080 and the reason is, it's not crucial that 00:18:10.080 --> 00:18:11.120 I do so, 00:18:11.120 --> 00:18:13.520 we don't need me to rate the various 00:18:13.520 --> 00:18:14.799 free distros on 00:18:14.799 --> 00:18:17.520 practical questions because anyone can 00:18:17.520 --> 00:18:20.000 do that as well as I can. 00:18:20.000 --> 00:18:24.400 And so you can tell people what 00:18:24.400 --> 00:18:27.760 you think of using them. For me, what's 00:18:27.760 --> 00:18:29.360 important to me 00:18:29.360 --> 00:18:32.400 is to inform people of the difference 00:18:32.400 --> 00:18:34.160 between the free distros 00:18:34.160 --> 00:18:36.799 and the non-free distros, making sure 00:18:36.799 --> 00:18:38.799 people are aware that if you 00:18:38.799 --> 00:18:42.000 install a non-free GNU/Linux 00:18:42.000 --> 00:18:45.600 distro, you'll get a free operating 00:18:45.600 --> 00:18:46.720 system with 00:18:46.720 --> 00:18:49.919 non-free stuff in various quantities 00:18:49.919 --> 00:18:54.160 added, thus you will not reach freedom, 00:18:54.160 --> 00:18:56.240 although you'll make a lot of 00:18:56.240 --> 00:18:57.520 progress compared 00:18:57.520 --> 00:19:01.039 with using for instance, Windows or 00:19:01.039 --> 00:19:03.919 macOS or whatever vicious thing it 00:19:03.919 --> 00:19:06.160 might be. 00:19:06.160 --> 00:19:09.760 I'd like people to be aware 00:19:09.760 --> 00:19:12.799 of this next step towards 00:19:12.799 --> 00:19:14.720 getting freedom for yourself and your 00:19:14.720 --> 00:19:16.160 own computing, 00:19:16.160 --> 00:19:24.480 so that you can do that if you want to. 00:19:29.039 --> 00:19:31.360 "Who gets to make the final decision 00:19:31.360 --> 00:19:35.157 regarding NonGNU ELPA?" 00:19:35.157 --> 00:19:38.690 The Emacs maintainers are 00:19:38.690 --> 00:19:40.960 going to be in charge of this, 00:19:40.960 --> 00:19:44.480 because it's not 00:19:44.480 --> 00:19:47.760 just a technical decision it has with 00:19:47.760 --> 00:19:51.360 only technical consequences 00:19:51.360 --> 00:19:54.960 but in general unless there's some 00:19:54.960 --> 00:19:57.760 severe problem with the package we will 00:19:57.760 --> 00:20:03.600 want to put it in, 00:20:03.600 --> 00:20:05.757 and I expect most packages 00:20:05.757 --> 00:20:07.440 won't have a problem, 00:20:07.440 --> 00:20:09.357 and we can just put them in 00:20:09.357 --> 00:20:11.679 when we get to them. 00:20:11.679 --> 00:20:15.919 "Won't the ELPA link to non-free sites 00:20:15.919 --> 00:20:17.600 like GitHub?" 00:20:17.600 --> 00:20:20.799 It's a mistake to talk about a 00:20:20.799 --> 00:20:25.760 non-free site, 00:20:25.760 --> 00:20:29.120 because a site is not a program. 00:20:29.120 --> 00:20:32.123 A program is either free or non-free, 00:20:32.123 --> 00:20:32.960 and we have 00:20:32.960 --> 00:20:36.480 clearly stated criteria for that in 00:20:36.480 --> 00:20:42.457 gnu.org/philosophy/free-sw.html 00:20:42.457 --> 00:20:45.360 we have the free software definition, 00:20:45.360 --> 00:20:51.919 but a site, well, there're programs on it, 00:20:51.919 --> 00:20:54.000 but it doesn't make sense to ask whether 00:20:54.000 --> 00:20:55.120 the site is 00:20:55.120 --> 00:20:58.000 free or not, it's too simplistic a 00:20:58.000 --> 00:20:58.880 question 00:20:58.880 --> 00:21:02.000 to have a meaningful answer. Now, one 00:21:02.000 --> 00:21:05.679 thing you can ask about is, does the site 00:21:05.679 --> 00:21:08.799 send JavaScript to the user's machine, 00:21:08.799 --> 00:21:11.760 to the user's browser and if so, is that 00:21:11.760 --> 00:21:12.960 JavaScript 00:21:12.960 --> 00:21:17.120 non-free. Well, GitHub 00:21:17.120 --> 00:21:19.919 does send non-free JavaScript for some 00:21:19.919 --> 00:21:21.200 operations, 00:21:21.200 --> 00:21:24.240 so we consider it unsatisfactory as a 00:21:24.240 --> 00:21:26.159 repository, 00:21:26.159 --> 00:21:29.600 but that doesn't mean linking to it 00:21:29.600 --> 00:21:33.360 is a bad thing to do regardless of 00:21:33.360 --> 00:21:34.720 what the purpose is. 00:21:34.720 --> 00:21:36.640 For instance, if the purpose is to refer 00:21:36.640 --> 00:21:38.240 to some things 00:21:38.240 --> 00:21:40.799 that you can access without running the 00:21:40.799 --> 00:21:42.880 non-free JavaScript, 00:21:42.880 --> 00:21:47.200 then it's okay for that purpose. 00:21:47.200 --> 00:21:50.480 So, if now that you understand the 00:21:50.480 --> 00:21:52.559 details of this issue, 00:21:52.559 --> 00:21:54.880 you think that there is a problem with 00:21:54.880 --> 00:22:00.080 the link to caml…, there's, 00:22:00.080 --> 00:22:03.679 sorry, a link in caml.html, 00:22:03.679 --> 00:22:08.823 well, report it to bug-gnu-emacs, 00:22:08.823 --> 00:22:10.880 report it as an Emacs bug, 00:22:10.880 --> 00:22:14.159 but do think about the criteria I've 00:22:14.159 --> 00:22:15.840 just said because maybe it's not a 00:22:15.840 --> 00:22:18.000 problem. 00:22:18.000 --> 00:22:21.840 "Is it okay to use the GNU Affero GPL 00:22:21.840 --> 00:22:24.559 for Emacs packages?" 00:22:24.559 --> 00:22:28.880 Yes it is. 00:22:28.880 --> 00:22:31.120 "Which is your favorite programming 00:22:31.120 --> 00:22:32.080 language? 00:22:32.080 --> 00:22:35.200 If Lisp, which variant?" 00:22:35.200 --> 00:22:38.400 Well, I don't exactly have a 00:22:38.400 --> 00:22:41.760 favorite variant, but 00:22:41.760 --> 00:22:45.120 when I designed Emacs Lisp, I 00:22:45.120 --> 00:22:47.520 did the best thing I could think of at 00:22:47.520 --> 00:22:48.799 the time, 00:22:48.799 --> 00:22:52.559 subject to the need to keep it small. 00:22:52.559 --> 00:22:55.520 For the first few years it was important 00:22:55.520 --> 00:22:56.960 for GNU Emacs 00:22:56.960 --> 00:22:59.840 to run in a machine which could only 00:22:59.840 --> 00:23:00.799 give it half 00:23:00.799 --> 00:23:04.480 a meg of user space. 00:23:04.480 --> 00:23:06.559 So, there are a lot of constructs that 00:23:06.559 --> 00:23:09.200 clearly were desirable to include 00:23:09.200 --> 00:23:12.320 that I left out because we could 00:23:12.320 --> 00:23:16.880 make it work without them 00:23:16.880 --> 00:23:18.960 and then a lot of those have been added 00:23:18.960 --> 00:23:20.640 since because 00:23:20.640 --> 00:23:23.200 it's been a long time since we needed to 00:23:23.200 --> 00:23:40.960 keep Emacs so rigorously small. 00:23:40.960 --> 00:23:44.240 Someone is 00:23:44.240 --> 00:23:47.679 asking about the 00:23:47.679 --> 00:23:51.360 FSF's repository project. Well, 00:23:51.360 --> 00:23:54.400 we agreed that there would be another 00:23:54.400 --> 00:23:55.440 virtual machine 00:23:55.440 --> 00:23:59.919 running one of those for the GNU project, 00:23:59.919 --> 00:24:15.840 but that's as far as the discussion went. 00:24:15.840 --> 00:24:20.480 Question 17 is extremely insulting! 00:24:20.480 --> 00:24:25.600 I have not engaged in sexual harassment, 00:24:25.600 --> 00:24:28.720 don't expect me to plead guilty to such 00:24:28.720 --> 00:24:32.640 a nasty claim. 00:24:32.640 --> 00:24:35.600 People have been accusing me of many 00:24:35.600 --> 00:24:36.799 things, 00:24:36.799 --> 00:24:39.919 some of which are 00:24:39.919 --> 00:24:43.120 basically mole hills and some of which 00:24:43.120 --> 00:24:44.423 are false. 00:24:44.423 --> 00:24:50.640 So, I'm not going to give them 00:24:50.640 --> 00:24:53.840 anything, I have been bullied in a 00:24:53.840 --> 00:24:59.679 horrible way, that was wrong. 00:24:59.679 --> 00:25:02.720 I would like the bullies to apologize to 00:25:02.720 --> 00:25:03.520 me, 00:25:03.520 --> 00:25:06.320 and when I see that they're not bullying, 00:25:06.320 --> 00:25:08.960 I will forgive them. 00:25:08.960 --> 00:25:11.279 I would like to have conversations with 00:25:11.279 --> 00:25:14.799 them if any of the mole hills 00:25:14.799 --> 00:25:17.840 annoyed someone, I'm happy to talk 00:25:17.840 --> 00:25:20.880 with per and thus 00:25:20.880 --> 00:25:31.120 help resolve things with peace. 00:25:31.120 --> 00:25:39.200 And my opinion on "diversity" within 00:25:39.200 --> 00:25:42.720 Emacs. Well, Emacs is 00:25:42.720 --> 00:25:45.679 never going to be diverse, it is extended 00:25:45.679 --> 00:25:49.760 in one language, Emacs Lisp. ;-} 00:25:49.760 --> 00:25:53.279 Well, I don't know, we did have an idea 00:25:53.279 --> 00:25:55.840 of implementing extensibility using 00:25:55.840 --> 00:25:58.400 Scheme and the hope was that Guile 00:25:58.400 --> 00:26:01.120 could be integrated with Emacs, that 00:26:01.120 --> 00:26:02.960 turned out to be difficult, it may be 00:26:02.960 --> 00:26:05.279 impossible but in principle 00:26:05.279 --> 00:26:07.520 it might be a good thing, that would be a 00:26:07.520 --> 00:26:11.039 small amount of diversity, 00:26:11.039 --> 00:26:14.960 but it's not that important. 00:26:14.960 --> 00:26:16.960 What I think is really important for 00:26:16.960 --> 00:26:18.880 developing Emacs 00:26:18.880 --> 00:26:22.799 is to make it do word processing. 00:26:22.799 --> 00:26:27.039 I sometimes use LibreOffice, 00:26:27.039 --> 00:26:30.080 and yeah I can make it do things. 00:26:30.080 --> 00:26:32.799 It has features for WYSIWYG which are 00:26:32.799 --> 00:26:34.880 very nice, 00:26:34.880 --> 00:26:38.000 but it's in other regards, 00:26:38.000 --> 00:26:40.400 it's not Emacs, and it doesn't have the 00:26:40.400 --> 00:26:42.400 abilities of Emacs, 00:26:42.400 --> 00:26:45.600 and it should. 00:26:45.600 --> 00:26:48.400 So, I urge people to work on extending 00:26:48.400 --> 00:26:49.039 Emacs 00:26:49.039 --> 00:26:51.600 in that direction adding the features 00:26:51.600 --> 00:27:13.600 that a word processor has to have. 00:27:13.600 --> 00:27:17.957 The last question I can answer is 18. 00:27:17.957 --> 00:27:21.679 Yes, it's a very sad thing 00:27:21.679 --> 00:27:24.960 how many companies 00:27:24.960 --> 00:27:28.399 insist on using non-free software. 00:27:28.399 --> 00:27:33.200 Well, I would get a different kind of job, 00:27:33.200 --> 00:27:36.799 that's a decision I made many years ago 00:27:36.799 --> 00:27:40.320 early in the GNU project, 00:27:40.320 --> 00:27:42.799 I decided, I would not… first I would not 00:27:42.799 --> 00:27:47.679 get a job developing non-free software. 00:27:47.679 --> 00:27:50.960 And later on I decided, 00:27:50.960 --> 00:27:54.880 once I could stop using non-free 00:27:54.880 --> 00:27:57.120 software, that is once we had 00:27:57.120 --> 00:28:00.799 a GNU/Linux system that we could 00:28:00.799 --> 00:28:08.320 switch over to and… 00:28:08.320 --> 00:28:11.679 Oh, wait. I thought magic wand 00:28:11.679 --> 00:28:16.240 time meant it was time to stop, 00:28:16.240 --> 00:28:21.039 but now I rather ask the question. 00:28:27.760 --> 00:28:32.480 So, what do you do, well, if I were you, 00:28:32.480 --> 00:28:35.679 I'd probably not work for any of those 00:28:35.679 --> 00:28:37.440 companies. 00:28:37.440 --> 00:28:39.679 If I needed to make money, I'd get a job, 00:28:39.679 --> 00:28:40.799 but I get some 00:28:40.799 --> 00:28:43.840 other kind of job 00:28:43.840 --> 00:28:48.080 that didn't involve using software 00:28:48.080 --> 00:28:51.039 or that let me choose the 00:28:51.039 --> 00:28:53.600 software I would use. 00:28:53.600 --> 00:28:56.880 But I would live cheaply, you know, the 00:28:56.880 --> 00:28:58.000 less you spend, 00:28:58.000 --> 00:29:00.640 the less you need to make and the more 00:29:00.640 --> 00:29:01.120 time 00:29:01.120 --> 00:29:04.720 you can take away from your paid work 00:29:04.720 --> 00:29:07.200 and the more flexibility you have in 00:29:07.200 --> 00:29:08.640 which paid work 00:29:08.640 --> 00:29:13.039 you can do. Being in a position 00:29:13.039 --> 00:29:16.399 to say no to avoid being 00:29:16.399 --> 00:29:23.679 desperate to say yes 00:29:23.679 --> 00:29:27.440 strengthens your position, 00:29:27.440 --> 00:29:31.200 and you need that. One way you can help 00:29:31.200 --> 00:29:33.279 do that is by 00:29:33.279 --> 00:29:36.559 not having children. Now, that is a 00:29:36.559 --> 00:29:38.960 tangent, but it can't be denied that 00:29:38.960 --> 00:29:41.760 raising children is very expensive, I 00:29:41.760 --> 00:29:42.399 have heard 00:29:42.399 --> 00:29:45.559 many people say that they are 00:29:45.559 --> 00:29:48.080 uncomfortable with their jobs, 00:29:48.080 --> 00:29:50.880 but they have to do those jobs to make 00:29:50.880 --> 00:29:52.240 enough money 00:29:52.240 --> 00:29:55.440 to support their children. 00:29:55.440 --> 00:29:59.120 Well, think about that, be aware 00:29:59.120 --> 00:30:01.520 that's likely to happen to you, before 00:30:01.520 --> 00:30:06.159 you make that decision. 00:30:06.159 --> 00:30:13.279 "What would I change about free software?" 00:30:13.279 --> 00:30:16.960 Well, since this is 00:30:16.960 --> 00:30:20.880 magic, I would magically find 00:30:20.880 --> 00:30:25.600 a way of showing everyone why 00:30:25.600 --> 00:30:28.000 most free software needs to be copy 00:30:28.000 --> 00:30:29.679 lefted, 00:30:29.679 --> 00:30:32.480 so that our community would not 00:30:32.480 --> 00:30:34.880 basically 00:30:34.880 --> 00:30:38.640 submit to abuse by proprietary software 00:30:38.640 --> 00:30:45.919 developers. 00:30:45.919 --> 00:30:49.760 Of course, I could go further if I could 00:30:49.760 --> 00:30:53.279 magically recruit a hundred thousand 00:30:53.279 --> 00:30:55.760 good programmers to do lots of work 00:30:55.760 --> 00:30:57.919 improving free software. 00:30:57.919 --> 00:31:01.039 We might… Well, if we could do this 20 00:31:01.039 --> 00:31:03.279 years ago, we might have wiped out 00:31:03.279 --> 00:31:06.559 non-free systems, and then we wouldn't 00:31:06.559 --> 00:31:07.200 have had 00:31:07.200 --> 00:31:10.320 horrible things like 00:31:10.320 --> 00:31:14.480 World Wide Web DRM, that 00:31:14.480 --> 00:31:18.000 no one has the courage to resist 00:31:18.000 --> 00:31:20.480 if they're desperately trying to get 00:31:20.480 --> 00:31:22.640 money for anything, 00:31:22.640 --> 00:31:26.240 and if they need approval of companies, 00:31:26.240 --> 00:31:29.519 of the big companies that push for DRM, 00:31:29.519 --> 00:31:32.960 then they don't dare even resist as 00:31:32.960 --> 00:31:38.240 much as they can resist. 00:31:38.240 --> 00:31:40.880 And look what happened to the World Wide 00:31:40.880 --> 00:31:43.200 Web consortium, 00:31:43.200 --> 00:31:47.279 they surrendered blatantly 00:31:47.279 --> 00:31:50.399 and ignominiously by 00:31:50.399 --> 00:31:55.760 endorsing the DRM system. 00:31:55.760 --> 00:31:59.600 So what can you do? I don't have a magic 00:31:59.600 --> 00:32:00.880 wand, 00:32:00.880 --> 00:32:04.720 I'm a human being with the capabilities 00:32:04.720 --> 00:32:09.919 I have, but the advantage of 00:32:09.919 --> 00:32:12.840 great firmness in campaigning for free 00:32:12.840 --> 00:32:14.000 software, 00:32:14.000 --> 00:32:18.240 and this enables me to do things 00:32:18.240 --> 00:32:27.679 that no one else will do. 00:32:27.679 --> 00:32:30.480 "What tools from pre-UNIX days do you 00:32:30.480 --> 00:32:31.519 miss?" 00:32:31.519 --> 00:32:34.240 Well, I don't. I don't think about them 00:32:34.240 --> 00:32:38.640 with missing them actually. 00:32:38.640 --> 00:32:42.080 It was sort of nice to have 00:32:42.080 --> 00:32:46.240 ddt as your login shell. 00:32:46.240 --> 00:32:49.600 So, in using modern terminology, 00:32:49.600 --> 00:32:52.640 because that meant at any time you could 00:32:52.640 --> 00:32:55.519 stop a program, load its debugging symbols, 00:32:55.519 --> 00:32:57.519 and start examining the data in the 00:32:57.519 --> 00:32:58.799 instructions. 00:32:58.799 --> 00:33:01.519 You could debug it that way, and then you 00:33:01.519 --> 00:33:03.039 could even 00:33:03.039 --> 00:33:06.720 patch in instructions to continue 00:33:06.720 --> 00:33:09.760 running that job with the bug fixed, 00:33:09.760 --> 00:33:11.600 in fact, you could even do this with the 00:33:11.600 --> 00:33:13.919 system kernel, 00:33:13.919 --> 00:33:16.423 so that your jobs wouldn't get lost. 00:33:16.423 --> 00:33:17.840 I did that 00:33:17.840 --> 00:33:20.559 quite a few times, of course, sometimes I 00:33:20.559 --> 00:33:22.720 saw what was wrong, and I just had to 00:33:22.720 --> 00:33:25.919 fix a piece of data, but sometimes 00:33:25.919 --> 00:33:28.240 it took me a long time to figure out how 00:33:28.240 --> 00:33:29.679 to get the system to 00:33:29.679 --> 00:33:32.480 keep on going. But with the work I had 00:33:32.480 --> 00:33:34.240 done, 00:33:34.240 --> 00:33:39.279 I didn't want to lose that work, 00:33:39.279 --> 00:33:41.600 and, so one of the first features I put 00:33:41.600 --> 00:33:43.039 into GNU Emacs was 00:33:43.039 --> 00:33:47.760 auto save. 00:33:47.760 --> 00:33:50.640 I'm not going to try to figure out 00:33:50.640 --> 00:33:54.320 which packages I actually used. 00:33:54.320 --> 00:33:56.480 "If I knew, I would get hit by a bus 00:33:56.480 --> 00:33:59.039 tomorrow, 00:33:59.039 --> 00:34:02.320 say because of a fortune-teller." 00:34:02.320 --> 00:34:05.039 No, a fortune-teller doesn't give you any 00:34:05.039 --> 00:34:06.240 knowledge, it's just 00:34:06.240 --> 00:34:10.159 superstitious hand waving. 00:34:10.159 --> 00:34:13.760 So, assuming that I 00:34:13.760 --> 00:34:16.480 talked… that I got a reading from a 00:34:16.480 --> 00:34:18.879 fortune-teller, which is 00:34:18.879 --> 00:34:23.119 implausible enough to begin with, 00:34:23.119 --> 00:34:25.040 that wouldn't give me any knowledge 00:34:25.040 --> 00:34:28.320 about what was going to happen to me. 00:34:28.320 --> 00:34:32.879 Oh, by the way fortune-tellers generally 00:34:32.879 --> 00:34:34.960 play back to you facts that they've 00:34:34.960 --> 00:34:36.879 discovered about you 00:34:36.879 --> 00:34:40.480 together with cold reading, which means, 00:34:40.480 --> 00:34:43.440 they say things calculated to make it 00:34:43.440 --> 00:34:44.639 appear that they know 00:34:44.639 --> 00:34:49.119 more than they do or things that 00:34:49.119 --> 00:34:52.399 sound wise to anyone, 00:34:52.399 --> 00:34:55.679 so you can say the same thing to, 00:34:55.679 --> 00:34:58.800 say, 100 people 00:34:58.800 --> 00:35:02.000 and 80 or 90 of them will say, "boy that 00:35:02.000 --> 00:35:06.480 was really accurate". 00:35:06.480 --> 00:35:15.119 But what if for some reason… 00:35:15.119 --> 00:35:17.440 "What advice would I give for 00:35:17.440 --> 00:35:18.560 stewardship of 00:35:18.560 --> 00:35:25.359 Emacs?" Well, basically focus on 00:35:25.359 --> 00:35:28.480 keeping the community strong in 00:35:28.480 --> 00:35:29.280 defending 00:35:29.280 --> 00:35:32.640 freedom, if you have a choice between 00:35:32.640 --> 00:35:34.400 keeping the community strong in 00:35:34.400 --> 00:35:36.079 defending freedom 00:35:36.079 --> 00:35:38.800 and getting more people to participate 00:35:38.800 --> 00:35:40.720 in the development, 00:35:40.720 --> 00:35:42.890 you've got to choose the freedom. 00:35:42.890 --> 00:35:44.400 It is very 00:35:44.400 --> 00:35:48.400 easy for free software projects to 00:35:48.400 --> 00:35:52.320 subordinate freedom to other criteria, 00:35:52.320 --> 00:35:55.359 and once that happens, it's 00:35:55.359 --> 00:35:58.079 easy for those who don't care much about 00:35:58.079 --> 00:35:58.720 freedom, 00:35:58.720 --> 00:36:00.800 such as, sometimes companies that might 00:36:00.800 --> 00:36:02.640 offer you some money 00:36:02.640 --> 00:36:08.160 to purchase your soul, 00:36:08.160 --> 00:36:10.560 not that there are really things that 00:36:10.560 --> 00:36:14.240 exist called souls, it's a metaphor, but 00:36:14.240 --> 00:36:16.560 it's an important metaphor for something 00:36:16.560 --> 00:36:18.800 important. 00:36:18.800 --> 00:36:20.880 People in the community have to be 00:36:20.880 --> 00:36:24.320 thinking about freedom 00:36:24.320 --> 00:36:27.280 when they make decisions about what is 00:36:27.280 --> 00:36:31.839 wise to do. 00:36:31.839 --> 00:36:36.480 The decision to set up NonGNU ELPA 00:36:36.480 --> 00:36:39.357 has a drawback, it was a compromise. 00:36:39.357 --> 00:36:41.520 Now, a lot of people will 00:36:41.520 --> 00:36:44.560 tell you that I am uncompromising and 00:36:44.560 --> 00:36:46.240 say that, that's a flaw. 00:36:46.240 --> 00:36:48.720 Well, they're wrong. I make little 00:36:48.720 --> 00:36:50.320 compromises 00:36:50.320 --> 00:36:53.040 very often, and occasionally I make a 00:36:53.040 --> 00:36:55.359 medium-sized compromise. 00:36:55.359 --> 00:36:58.880 The compromise is, in the past we wanted 00:36:58.880 --> 00:36:59.359 to get 00:36:59.359 --> 00:37:01.599 copyright assignments for the packages 00:37:01.599 --> 00:37:03.823 in GNU ELPA, 00:37:03.823 --> 00:37:06.240 so that we could move them into 00:37:06.240 --> 00:37:09.119 core Emacs, and of course, sometimes we 00:37:09.119 --> 00:37:11.200 move packages in the other direction, 00:37:11.200 --> 00:37:14.480 that way where we distribute a 00:37:14.480 --> 00:37:16.160 given package, 00:37:16.160 --> 00:37:18.160 is something we can decide purely 00:37:18.160 --> 00:37:20.880 technically. 00:37:20.880 --> 00:37:25.200 And however make insisting on getting 00:37:25.200 --> 00:37:26.800 copyright assignments for all the 00:37:26.800 --> 00:37:28.640 packages in GNU ELPA 00:37:28.640 --> 00:37:32.079 meant that we had to say "sorry, no, 00:37:32.079 --> 00:37:35.119 we will not install that 00:37:35.119 --> 00:37:38.560 package in GNU ELPA, unless the 00:37:38.560 --> 00:37:40.957 authors sign copyright assignments". 00:37:40.957 --> 00:37:44.079 And sometimes that's a lot of trouble. 00:37:44.079 --> 00:37:47.520 Well, NonGNU ELPA 00:37:47.520 --> 00:37:50.123 won't require copyright assignments. 00:37:50.123 --> 00:37:51.520 If there's a free package, 00:37:51.520 --> 00:37:54.560 we can make whatever changes, presumably 00:37:54.560 --> 00:37:57.200 small, otherwise, we would probably say 00:37:57.200 --> 00:38:00.560 we don't have time, and then 00:38:00.560 --> 00:38:04.560 put it in. But it does have the drawback 00:38:04.560 --> 00:38:05.599 that, 00:38:05.599 --> 00:38:07.680 in general we won't be able to move 00:38:07.680 --> 00:38:09.119 those packages 00:38:09.119 --> 00:38:12.960 into core Emacs without 00:38:12.960 --> 00:38:14.960 getting the legal papers then that we 00:38:14.960 --> 00:38:20.160 didn't get before. 00:38:20.160 --> 00:38:24.320 "How do you see the future of GNU Emacs?" 00:38:24.320 --> 00:38:27.599 I don't see the future. 00:38:27.599 --> 00:38:29.839 I used to say that my crystal ball is 00:38:29.839 --> 00:38:31.680 cloudy today, 00:38:31.680 --> 00:38:35.680 unfortunately, that has another 00:38:35.680 --> 00:38:38.423 meaning which is quite ironic. 00:38:38.423 --> 00:38:41.200 We certainly don't want 00:38:41.200 --> 00:38:44.800 our lives to be 00:38:44.800 --> 00:38:48.480 somewhere in a cloud, because 00:38:48.480 --> 00:38:51.119 that clouds remind, and then people 00:38:51.119 --> 00:38:51.599 start 00:38:51.599 --> 00:38:54.240 cheating you and taking advantage of you, 00:38:54.240 --> 00:38:56.880 and it's horrible. 00:38:56.880 --> 00:39:00.160 But I don't see the future, I just 00:39:00.160 --> 00:39:02.720 can be sure from the past that there 00:39:02.720 --> 00:39:03.839 will be 00:39:03.839 --> 00:39:07.599 challenges where some of the people 00:39:07.599 --> 00:39:10.720 involved want to make a big compromise 00:39:10.720 --> 00:39:12.960 that isn't worth it, 00:39:12.960 --> 00:39:16.880 and they may even get the 00:39:16.880 --> 00:39:18.079 impression that it's 00:39:18.079 --> 00:39:21.200 up to them. Well, actually 00:39:21.200 --> 00:39:24.480 Emacs has appointed maintainers just as 00:39:24.480 --> 00:39:27.440 every GNU package does, and they are the 00:39:27.440 --> 00:39:29.280 ones in charge of developing that 00:39:29.280 --> 00:39:30.480 package, 00:39:30.480 --> 00:39:34.400 and this is for a good reason 00:39:34.400 --> 00:39:38.200 because the appointed maintainers take 00:39:38.200 --> 00:39:39.760 responsibility 00:39:39.760 --> 00:39:42.240 to carry out the GNU project policies, 00:39:42.240 --> 00:39:44.079 and most important of all 00:39:44.079 --> 00:39:46.160 are the ones that make the whole system 00:39:46.160 --> 00:39:47.520 work together, 00:39:47.520 --> 00:39:52.640 and the ethical standards 00:39:52.640 --> 00:39:59.920 to respect freedom and defend freedom. 00:39:59.920 --> 00:40:02.240 "Is there any plan to move more packages 00:40:02.240 --> 00:40:04.960 from core Emacs into ELPA?" 00:40:04.960 --> 00:40:08.480 I don't know 00:40:08.480 --> 00:40:11.440 whether there is a plan, I suppose if 00:40:11.440 --> 00:40:12.720 there's a plan, 00:40:12.720 --> 00:40:15.680 we probably would have done it. If there 00:40:15.680 --> 00:40:16.960 had been a plan, 00:40:16.960 --> 00:40:18.657 some have been moved. 00:40:18.657 --> 00:40:20.319 I don't see this as a 00:40:20.319 --> 00:40:22.400 fundamentally important issue, it's a 00:40:22.400 --> 00:40:24.160 matter of what's convenient for 00:40:24.160 --> 00:40:26.640 the users, and their advantages and 00:40:26.640 --> 00:40:29.599 disadvantages to each choice. 00:40:29.599 --> 00:40:32.800 "What is your opinion on higher education 00:40:32.800 --> 00:40:35.760 requiring non-free software, for 00:40:35.760 --> 00:40:36.720 instance…" 00:40:36.720 --> 00:40:40.400 Well, I wouldn't 00:40:40.400 --> 00:40:43.440 matriculate in a school which did that, 00:40:43.440 --> 00:40:50.960 unless I saw a way I could refuse. 00:40:50.960 --> 00:40:54.960 Now, of course, I do this 00:40:54.960 --> 00:40:57.760 because I can get away with it, and 00:40:57.760 --> 00:41:00.240 therefore my doing it is extremely 00:41:00.240 --> 00:41:04.960 important to show somebody does resist. 00:41:04.960 --> 00:41:08.400 I don't expect most people who support 00:41:08.400 --> 00:41:09.359 free school, 00:41:09.359 --> 00:41:12.319 who advocate free software to go that 00:41:12.319 --> 00:41:13.599 far. 00:41:13.599 --> 00:41:17.760 I published an article in the spring 00:41:17.760 --> 00:41:21.040 entitled saying no even once 00:41:21.040 --> 00:41:24.640 is helping, saying no to non-free 00:41:24.640 --> 00:41:25.359 software 00:41:25.359 --> 00:41:29.040 even once, because 00:41:29.040 --> 00:41:32.240 the more you do it, the more you help, but 00:41:32.240 --> 00:41:34.640 even doing it a little in a way that 00:41:34.640 --> 00:41:36.640 other people notice, 00:41:36.640 --> 00:41:39.920 is starting to help. So, 00:41:39.920 --> 00:41:43.440 please don't think that your choices 00:41:43.440 --> 00:41:45.119 are either 00:41:45.119 --> 00:41:48.480 be as firm and stubborn as I am 00:41:48.480 --> 00:41:52.240 or just give up and let yourself drift 00:41:52.240 --> 00:41:56.240 helplessly as if you had no volition. 00:41:56.240 --> 00:41:58.079 There are a lot of points in between 00:41:58.079 --> 00:42:00.720 there, and you can surely 00:42:00.720 --> 00:42:04.079 manage to say no some of the time 00:42:04.079 --> 00:42:07.839 and show people an example of saying no 00:42:07.839 --> 00:42:11.040 some of the time, for instance, you could 00:42:11.040 --> 00:42:12.720 say to people, 00:42:12.720 --> 00:42:15.520 "You know I hate the fact that my school 00:42:15.520 --> 00:42:16.000 makes me 00:42:16.000 --> 00:42:20.400 use Zoom, so whenever 00:42:20.400 --> 00:42:22.240 I'm not being forced, I'm not going to 00:42:22.240 --> 00:42:25.760 use it". 00:42:25.760 --> 00:42:29.200 Or "I hate the fact that the only way I 00:42:29.200 --> 00:42:31.200 can talk to that group of people 00:42:31.200 --> 00:42:35.200 is with Zoom, 00:42:35.200 --> 00:42:38.400 but for anything else I will feel better 00:42:38.400 --> 00:42:40.079 about myself if I don't". 00:42:40.079 --> 00:42:42.880 See, lots of ways to say no some of the 00:42:42.880 --> 00:42:44.000 time, 00:42:44.000 --> 00:42:47.040 and yield some of the time, 00:42:47.040 --> 00:42:50.960 and when you try saying no occasionally, 00:42:50.960 --> 00:42:53.920 you may just develop the ability to say 00:42:53.920 --> 00:42:56.400 no more often. 00:42:56.400 --> 00:42:58.800 Now, whether you would ever get to be as 00:42:58.800 --> 00:43:00.640 stubborn as I am? 00:43:00.640 --> 00:43:04.480 I don't know, but what I find is that 00:43:04.480 --> 00:43:08.480 I like the fact that I've never made 00:43:08.480 --> 00:43:12.480 this kind of compromise. 00:43:12.480 --> 00:43:15.839 I feel I have a reputation to maintain, 00:43:15.839 --> 00:43:19.319 nobody's forcing me, but I get 00:43:19.319 --> 00:43:21.119 satisfaction 00:43:21.119 --> 00:43:24.319 out of maintaining…, out of being able to 00:43:24.319 --> 00:43:26.400 continue to say 00:43:26.400 --> 00:43:30.880 I will not. 00:43:30.880 --> 00:43:34.480 And that also 00:43:34.480 --> 00:43:40.480 can happen at various different levels, 00:43:40.480 --> 00:43:43.520 so, you can get that satisfaction 00:43:43.520 --> 00:43:46.640 of fully maintaining a refusal 00:43:46.640 --> 00:43:54.400 that applies only to certain areas. 00:43:54.400 --> 00:43:57.040 (Amin: since it's noon already, let's maybe 00:43:57.040 --> 00:43:58.880 take one or two more questions and then 00:43:58.880 --> 00:43:59.599 break for 00:43:59.599 --> 00:44:03.200 the lunch break) Okay. (Amin: Thank you). 00:44:03.200 --> 00:44:05.757 "How often do you personally use Emacs?" 00:44:05.757 --> 00:44:10.640 is the lowest question now. 00:44:10.640 --> 00:44:16.640 Well, I use it most of the day. 00:44:16.640 --> 00:44:18.880 I occasionally do use other things, in 00:44:18.880 --> 00:44:20.160 fact, I occasionally edit with 00:44:20.160 --> 00:44:21.599 LibreOffice, 00:44:21.599 --> 00:44:24.240 I occasionally use media players, 00:44:24.240 --> 00:44:32.480 I occasionally ssh to a machine and type 00:44:32.480 --> 00:44:34.000 some commands on it, 00:44:34.000 --> 00:44:35.440 which occasionally includes running 00:44:35.440 --> 00:44:42.319 Emacs on it. 00:44:42.319 --> 00:44:45.760 I read PDF files a lot, 00:44:45.760 --> 00:44:47.520 would be nice if you could get those 00:44:47.520 --> 00:44:49.599 into Emacs, so that I could read them 00:44:49.599 --> 00:44:52.240 with Emacs commands, 00:44:52.240 --> 00:44:55.040 and I maybe even edit them with the Emacs 00:44:55.040 --> 00:44:56.160 commands 00:44:56.160 --> 00:44:59.440 when they can be edited. I use 00:44:59.440 --> 00:45:02.960 Xournal sometimes 00:45:02.960 --> 00:45:10.079 to write on a PDF file. 00:45:10.079 --> 00:45:12.160 "Are there any more interesting projects 00:45:12.160 --> 00:45:13.760 you have in mind over and above 00:45:13.760 --> 00:45:18.400 NonGNU ELPA?" 00:45:18.400 --> 00:45:22.079 I can't think of one right now, well, 00:45:22.079 --> 00:45:25.520 there are things that 00:45:25.520 --> 00:45:27.119 the GNU project needs 00:45:27.119 --> 00:45:30.560 doing, there are packages that don't have 00:45:30.560 --> 00:45:32.319 maintainers or could use 00:45:32.319 --> 00:45:35.839 more maintainers. 00:45:35.839 --> 00:45:38.880 Talk with maintainers@gnu.org, 00:45:38.880 --> 00:45:42.000 and the assistant GNUisances will 00:45:42.000 --> 00:45:44.960 help you find a package where you can do 00:45:44.960 --> 00:45:48.400 good. 00:45:48.400 --> 00:45:50.560 Not for beginners though, 00:45:50.560 --> 00:45:52.079 you got to learn 00:45:52.079 --> 00:45:55.599 a substantive substantial level of 00:45:55.599 --> 00:45:58.160 capacity to develop and debug programs 00:45:58.160 --> 00:45:59.440 before you can 00:45:59.440 --> 00:46:00.823 be a maintainer. 00:46:00.823 --> 00:46:04.480 "Have I ever looked at Magit?" 00:46:04.480 --> 00:46:08.400 No, I haven't, 00:46:08.400 --> 00:46:11.920 but I believe 00:46:11.920 --> 00:46:14.880 work is being done to get it put into 00:46:14.880 --> 00:46:16.560 Emacs, 00:46:16.560 --> 00:46:22.240 and at that point I'll give it a try. 00:46:22.240 --> 00:46:25.200 I do not want to share my configuration 00:46:25.200 --> 00:46:29.520 files they're personal. 00:46:29.520 --> 00:46:33.599 How about if we end this now? 00:46:33.599 --> 00:46:36.880 (Amin: sounds good to me, 00:46:36.880 --> 00:46:38.880 thank you very much Richard for joining 00:46:38.880 --> 00:46:41.520 in for live questions.) 00:46:41.520 --> 00:46:43.839 Okay.