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.