Okay. So, the first question is, "What is an
example of a package currently in
a non-ELPA repo that does not work well
with Emacs?"
Well, one of them is s.el,
and this is what made me aware that
there was an issue here that caused
problems. Well, s.el
is a beautifully written package
that appears to be very useful for
people.
And there's just one thing wrong with it.
It gobbled up the name space
of symbols starting with s dash.
And I was shocked to discover that
somebody who had not coordinated with
the Emacs developers at all,
had implemented a package using such a
short prefix, which
isn't the right way to do things.
Oh, by the way, the questions have moved off the
screen, this is no good. I can continue
answering this one,
but I'll be stuck when this one is over.
Anyway, so…
I was told that there was nothing I
could do about it,
that so many users, packages were using
s.el and thus essentially using that
definition
of the s-* symbols,
that any attempt to use them
publicly or privately for anything else
would lead to horrible problems.
And I don't like that.
I decided, I wanted to do something
a) so that wouldn't happen again
and b) to make it unhappen
in that case. Well, the way to make it
unhappen in that case is with a new
symbol renaming feature. The idea is,
you rename that file to something else,
and then you define an s.el that
sets up symbol renaming and then loads
the something else.
So, it actually runs the same code,
it just
doesn't globally define the symbols
s dash whatever, but they
appear to work for the programs that
explicitly require s.el
or the s package. So, this gets the same
behavior for all the programs that are
using that library
and doesn't interfere
with the global name space at all.
However, to do that we need to have a
package
s.el, that isn't the same
totally. A short one file that's totally
different.
Plus, we've got to have the file that
normally is called
s.el available, but
under another name. Well,
how are we going to do that? We can't put
this into Emacs in a nice way that
won't make the maintainer angry.
(or the developer of that package.)
But we can do it with NonGNU
ELPA. We can put those two things into
NonGNU ELPA
without any difficulty. And this shows
one of the advantages.
We can put files, we can put packages
into NonGNU ELPA
and make changes in them. Now, in general
we wouldn't
go to the effort of making big changes.
That's just too much to do
unless something's really important. But
small changes
that help things fit in are
easy to do.
Okay, oh, so basically the recording
didn't get anything until now. I just saw
a note pop up, "this session is now being
recorded".
I hope it's been recorded all along. It
would be a shame to
spoil… Oh, good okay.
So, that's one of the issues.
"Does NonGNU ELPA already exist
or is this a sort of "plan"?" I don't
know why you have to
put scare quotes around the word plan.
It's sort of in between.
The creation of it is started. You
will find
that there is an archive that it's
possible to download packages from,
and there is a repository to put them in,
but that's not the way it's really
supposed to work.
This is not supposed to be like the
GNU ELPA, where there's
one repo for all the packages and thus
anyone who wants to edit any of them,
anyone that we want to have edit any of
them,
has got to have access to the whole
thing for one thing.
Some packages will make
an arrangement with the developers,
and they'll assure us that they will
do things as things should be done, and
then we'll
have their repo copied automatically
or in other cases, say,
copied manually with a little checking
every so often.
In other cases we'll need to have our own
repo for a particular package.
But we shouldn't have a single repo for
all the packages. We should have a repo
for each package,
so that the people working on that can
get access to modify it.
This has to be finished setting up,
and we're still working out the
procedures.
For instance, for making the arrangements
with the developers of a package so that
we can,
we hope, entrust its development to
them and rely on them directly.
And there may be more that needs to be
worked on.
Oh! There's so many questions.
Well, I hope you… The third question is,
what are the benefits?
I hope that people now see the benefits.
I've described them.
Next question, "Is it possible to work
with the MELPA team
to integrate that into Emacs?"
No, because the goal doesn't make sense.
MELPA the way it's done, does not belong
inside Emacs in any sense. Well, first of
all, it can't literally be
inside Emacs. We don't have copyright
assignments for that code
and to get it would be unfeasible,
but we're not asking for copyright
assignments for
NonGNU ELPA so that's
you might wonder could MELPA be merged
with NonGNU ELPA? The problem is,
MELPA doesn't modify the packages.
It's just a place to find releases of
packages wherever they happen to be,
and they put packages in with
only a little bit of checking.
So, no. There are a lot of packages
that are
in MELPA that we'd like to get into
NonGNU ELPA. I don't know the names of
most of them, but I expect most of them
would be fine to have. But they've got to
be looked at one by one.
There are some rules for NonGNU ELPA,
and the only way to check them is to
check them on one package at a time,
and that's going to take effort.
Now, with the people who work on MELPA
want to get involved
of this, that would be great.
I haven't tried asking them. First we've
got to get this thing
set up. I doubt they would want to,
but if they said yes, that would be
wonderful.
"Any thoughts of packages being
added…" I'm afraid.
Any thoughts of packages being added as
some URL I don't know anything about, but
it talks about open source,
which means I'm very unlikely to have much
in common with whatever they say about
either licensing or
what's right and wrong.
But this seems to be something about
disregarding licenses altogether.
Well, that is basically
asking to lose. There are reasons
why we developed GNU licenses to release
software, why we have criteria for which
licenses make a program free software.
If the program doesn't carry a license
or if it carries a non-free license,
that program is not free software.
Now, you can maybe get away with
disregarding that fact unless
somebody, an author or publisher stops you.
But we're not going to take… we're not
basically going to
disregard the question of whether the
software we
recommend to people, really is free
software or not.
That's basically
blindfolding yourself to the legal
situation of the software you're
distributing, it's a terrible idea. If they
disregard our licenses they will hear
from us about it.
And if you want to contribute to the
free world
put free licenses on your code
and choose good ones.
To get this information,
look at gnu.org/licenses,
and one page that's important
is license-recommendations.html,
that's where we advise you on what
license we would recommend you use
depending on the circumstances.
There's also license-list.html
which describes a lot of licenses and
says which ones are free,
which ones are compatible
with the GNU GPL.
It's really important to use only GPL
compatible licenses
so that the various programs can be
combined together or linked.
You can also get other information about
GNU licenses
and the reasons why they are written the
way they are.
Oh sorry, I don't see the next question.
"Why do I insist on using per and pers?"
I'm not happy with using
they, which is a plural pronoun with a
singular antecedent.
It's bad because it causes
confusion that is completely gratuitous.
Many sentences become a lot of work
to parse and understand if you
add that ambiguity, that source of
regular ambiguity. Now,
I do not accept the demands of other
people
in regard to changing my grammar.
You can try to convince me, but
no one is entitled to give me orders
about that
or state their desires and expect
obedience, not for me and not from you
or anyone. We are all
equally entitled to decide
how we will speak and how we won't speak.
I've spelled out all of these points
in a file called
stallman.org/articles/genderless-pronouns.html
(corrected),
of course, this is not a GNU project
policy,
it's my own personal ideas on the
subject.
If any of you feels offended
by my referring to you with a singular
gender-neutral pronoun, feel free
to contact me privately
and explain to me your reasons.
I will pay attention to them, I'll
think about them assuming that they're
not something I've already
considered and decided to dismiss before.
But you must not speak to me as if I had
no business not obeying you because
that's rude,
and it is not likely to convince me
to change my mind.
I believe it is not actually
of stating offense to anyone,
and the fact that somebody disagrees
with me does not mean I'm wrong,
but I always can be wrong.
"When you wrote that you could add a
package to NonGNU ELPA,
are you implying that you would add
packages with or without package
maintainer's knowledge?"
Of course, the packages we would
distribute in this way are free
software.
Everyone is entitled to redistribute them
and everyone is also entitled to modify
them
and redistribute them, that's part of the
meaning of free software.
I have been unable to understand
how there came to be an idea
that those who redistribute packages
have some obligation to be mere mirrors
and not modify things themselves.
Well, if a package is
being maintained by developers who are
cooperating with us,
we'll normally just leave it to them.
After all,
we have lots of other work to do.
They are clearly experts on
the packages they've developed,
let's leave it to them if they make that
sort of arrangement with us. But
that's up to them, we can't insist that
anyone make an arrangement with us,
but since those programs are free
software, anyone is free to redistribute them,
and we will do that.
"Have you ever used vi or vim or
evil mode?" No.
"Are there any plans to implement
security considerations in NonGNU
ELPA?"
We probably should,
and this will have to be implemented,
but at the moment
developer Emacs maintainers will copy
packages
into it, and so as long as they are
verifying the packages and getting the
packages from the right place
that will take care of the security.
Once there is…
When with automatic copying in,
will have to do something to
make sure that we're fetching the
packages securely.
Some of you might be interested in
helping to design and implement this
system.
"What distro do I use?"
Well, which distro of GNU/Linux
do I use?
I use Trisquel,
I haven't tried most of the free distros
and the reason is, it's not crucial that
I do so,
we don't need me to rate the various
free distros on
practical questions because anyone can
do that as well as I can.
And so you can tell people what
you think of using them. For me, what's
important to me
is to inform people of the difference
between the free distros
and the non-free distros, making sure
people are aware that if you
install a non-free GNU/Linux
distro, you'll get a free operating
system with
non-free stuff in various quantities
added, thus you will not reach freedom,
although you'll make a lot of
progress compared
with using for instance, Windows or
macOS or whatever vicious thing it
might be.
I'd like people to be aware
of this next step towards
getting freedom for yourself and your
own computing,
so that you can do that if you want to.
"Who gets to make the final decision
regarding NonGNU ELPA?"
The Emacs maintainers are
going to be in charge of this,
because it's not
just a technical decision it has with
only technical consequences
but in general unless there's some
severe problem with the package we will
want to put it in,
and I expect most packages
won't have a problem,
and we can just put them in
when we get to them.
"Won't the ELPA link to non-free sites
like GitHub?"
It's a mistake to talk about a
non-free site,
because a site is not a program.
A program is either free or non-free,
and we have
clearly stated criteria for that in
gnu.org/philosophy/free-sw.html
we have the free software definition,
but a site, well, there're programs on it,
but it doesn't make sense to ask whether
the site is
free or not, it's too simplistic a
question
to have a meaningful answer. Now, one
thing you can ask about is, does the site
send JavaScript to the user's machine,
to the user's browser and if so, is that
JavaScript
non-free. Well, GitHub
does send non-free JavaScript for some
operations,
so we consider it unsatisfactory as a
repository,
but that doesn't mean linking to it
is a bad thing to do regardless of
what the purpose is.
For instance, if the purpose is to refer
to some things
that you can access without running the
non-free JavaScript,
then it's okay for that purpose.
So, if now that you understand the
details of this issue,
you think that there is a problem with
the link to caml…, there's,
sorry, a link in caml.html,
well, report it to bug-gnu-emacs,
report it as an Emacs bug,
but do think about the criteria I've
just said because maybe it's not a
problem.
"Is it okay to use the GNU Affero GPL
for Emacs packages?"
Yes it is.
"Which is your favorite programming
language?
If Lisp, which variant?"
Well, I don't exactly have a
favorite variant, but
when I designed Emacs Lisp, I
did the best thing I could think of at
the time,
subject to the need to keep it small.
For the first few years it was important
for GNU Emacs
to run in a machine which could only
give it half
a meg of user space.
So, there are a lot of constructs that
clearly were desirable to include
that I left out because we could
make it work without them
and then a lot of those have been added
since because
it's been a long time since we needed to
keep Emacs so rigorously small.
Someone is
asking about the
FSF's repository project. Well,
we agreed that there would be another
virtual machine
running one of those for the GNU project,
but that's as far as the discussion went.
Question 17 is extremely insulting!
I have not engaged in sexual harassment,
don't expect me to plead guilty to such
a nasty claim.
People have been accusing me of many
things,
some of which are
basically mole hills and some of which
are false.
So, I'm not going to give them
anything, I have been bullied in a
horrible way, that was wrong.
I would like the bullies to apologize to
me,
and when I see that they're not bullying,
I will forgive them.
I would like to have conversations with
them if any of the mole hills
annoyed someone, I'm happy to talk
with per and thus
help resolve things with peace.
And my opinion on "diversity" within
Emacs. Well, Emacs is
never going to be diverse, it is extended
in one language, Emacs Lisp. ;-}
Well, I don't know, we did have an idea
of implementing extensibility using
Scheme and the hope was that Guile
could be integrated with Emacs, that
turned out to be difficult, it may be
impossible but in principle
it might be a good thing, that would be a
small amount of diversity,
but it's not that important.
What I think is really important for
developing Emacs
is to make it do word processing.
I sometimes use LibreOffice,
and yeah I can make it do things.
It has features for WYSIWYG which are
very nice,
but it's in other regards,
it's not Emacs, and it doesn't have the
abilities of Emacs,
and it should.
So, I urge people to work on extending
Emacs
in that direction adding the features
that a word processor has to have.
The last question I can answer is 18.
Yes, it's a very sad thing
how many companies
insist on using non-free software.
Well, I would get a different kind of job,
that's a decision I made many years ago
early in the GNU project,
I decided, I would not… first I would not
get a job developing non-free software.
And later on I decided,
once I could stop using non-free
software, that is once we had
a GNU/Linux system that we could
switch over to and…
Oh, wait. I thought magic wand
time meant it was time to stop,
but now I rather ask the question.
So, what do you do, well, if I were you,
I'd probably not work for any of those
companies.
If I needed to make money, I'd get a job,
but I get some
other kind of job
that didn't involve using software
or that let me choose the
software I would use.
But I would live cheaply, you know, the
less you spend,
the less you need to make and the more
time
you can take away from your paid work
and the more flexibility you have in
which paid work
you can do. Being in a position
to say no to avoid being
desperate to say yes
strengthens your position,
and you need that. One way you can help
do that is by
not having children. Now, that is a
tangent, but it can't be denied that
raising children is very expensive, I
have heard
many people say that they are
uncomfortable with their jobs,
but they have to do those jobs to make
enough money
to support their children.
Well, think about that, be aware
that's likely to happen to you, before
you make that decision.
"What would I change about free software?"
Well, since this is
magic, I would magically find
a way of showing everyone why
most free software needs to be copy
lefted,
so that our community would not
basically
submit to abuse by proprietary software
developers.
Of course, I could go further if I could
magically recruit a hundred thousand
good programmers to do lots of work
improving free software.
We might… Well, if we could do this 20
years ago, we might have wiped out
non-free systems, and then we wouldn't
have had
horrible things like
World Wide Web DRM, that
no one has the courage to resist
if they're desperately trying to get
money for anything,
and if they need approval of companies,
of the big companies that push for DRM,
then they don't dare even resist as
much as they can resist.
And look what happened to the World Wide
Web consortium,
they surrendered blatantly
and ignominiously by
endorsing the DRM system.
So what can you do? I don't have a magic
wand,
I'm a human being with the capabilities
I have, but the advantage of
great firmness in campaigning for free
software,
and this enables me to do things
that no one else will do.
"What tools from pre-UNIX days do you
miss?"
Well, I don't. I don't think about them
with missing them actually.
It was sort of nice to have
ddt as your login shell.
So, in using modern terminology,
because that meant at any time you could
stop a program, load its debugging symbols,
and start examining the data in the
instructions.
You could debug it that way, and then you
could even
patch in instructions to continue
running that job with the bug fixed,
in fact, you could even do this with the
system kernel,
so that your jobs wouldn't get lost.
I did that
quite a few times, of course, sometimes I
saw what was wrong, and I just had to
fix a piece of data, but sometimes
it took me a long time to figure out how
to get the system to
keep on going. But with the work I had
done,
I didn't want to lose that work,
and, so one of the first features I put
into GNU Emacs was
auto save.
I'm not going to try to figure out
which packages I actually used.
"If I knew, I would get hit by a bus
tomorrow,
say because of a fortune-teller."
No, a fortune-teller doesn't give you any
knowledge, it's just
superstitious hand waving.
So, assuming that I
talked… that I got a reading from a
fortune-teller, which is
implausible enough to begin with,
that wouldn't give me any knowledge
about what was going to happen to me.
Oh, by the way fortune-tellers generally
play back to you facts that they've
discovered about you
together with cold reading, which means,
they say things calculated to make it
appear that they know
more than they do or things that
sound wise to anyone,
so you can say the same thing to,
say, 100 people
and 80 or 90 of them will say, "boy that
was really accurate".
But what if for some reason…
"What advice would I give for
stewardship of
Emacs?" Well, basically focus on
keeping the community strong in
defending
freedom, if you have a choice between
keeping the community strong in
defending freedom
and getting more people to participate
in the development,
you've got to choose the freedom.
It is very
easy for free software projects to
subordinate freedom to other criteria,
and once that happens, it's
easy for those who don't care much about
freedom,
such as, sometimes companies that might
offer you some money
to purchase your soul,
not that there are really things that
exist called souls, it's a metaphor, but
it's an important metaphor for something
important.
People in the community have to be
thinking about freedom
when they make decisions about what is
wise to do.
The decision to set up NonGNU ELPA
has a drawback, it was a compromise.
Now, a lot of people will
tell you that I am uncompromising and
say that, that's a flaw.
Well, they're wrong. I make little
compromises
very often, and occasionally I make a
medium-sized compromise.
The compromise is, in the past we wanted
to get
copyright assignments for the packages
in GNU ELPA,
so that we could move them into
core Emacs, and of course, sometimes we
move packages in the other direction,
that way where we distribute a
given package,
is something we can decide purely
technically.
And however make insisting on getting
copyright assignments for all the
packages in GNU ELPA
meant that we had to say "sorry, no,
we will not install that
package in GNU ELPA, unless the
authors sign copyright assignments".
And sometimes that's a lot of trouble.
Well, NonGNU ELPA
won't require copyright assignments.
If there's a free package,
we can make whatever changes, presumably
small, otherwise, we would probably say
we don't have time, and then
put it in. But it does have the drawback
that,
in general we won't be able to move
those packages
into core Emacs without
getting the legal papers then that we
didn't get before.
"How do you see the future of GNU Emacs?"
I don't see the future.
I used to say that my crystal ball is
cloudy today,
unfortunately, that has another
meaning which is quite ironic.
We certainly don't want
our lives to be
somewhere in a cloud, because
that clouds remind, and then people
start
cheating you and taking advantage of you,
and it's horrible.
But I don't see the future, I just
can be sure from the past that there
will be
challenges where some of the people
involved want to make a big compromise
that isn't worth it,
and they may even get the
impression that it's
up to them. Well, actually
Emacs has appointed maintainers just as
every GNU package does, and they are the
ones in charge of developing that
package,
and this is for a good reason
because the appointed maintainers take
responsibility
to carry out the GNU project policies,
and most important of all
are the ones that make the whole system
work together,
and the ethical standards
to respect freedom and defend freedom.
"Is there any plan to move more packages
from core Emacs into ELPA?"
I don't know
whether there is a plan, I suppose if
there's a plan,
we probably would have done it. If there
had been a plan,
some have been moved.
I don't see this as a
fundamentally important issue, it's a
matter of what's convenient for
the users, and their advantages and
disadvantages to each choice.
"What is your opinion on higher education
requiring non-free software, for
instance…"
Well, I wouldn't
matriculate in a school which did that,
unless I saw a way I could refuse.
Now, of course, I do this
because I can get away with it, and
therefore my doing it is extremely
important to show somebody does resist.
I don't expect most people who support
free school,
who advocate free software to go that
far.
I published an article in the spring
entitled saying no even once
is helping, saying no to non-free
software
even once, because
the more you do it, the more you help, but
even doing it a little in a way that
other people notice,
is starting to help. So,
please don't think that your choices
are either
be as firm and stubborn as I am
or just give up and let yourself drift
helplessly as if you had no volition.
There are a lot of points in between
there, and you can surely
manage to say no some of the time
and show people an example of saying no
some of the time, for instance, you could
say to people,
"You know I hate the fact that my school
makes me
use Zoom, so whenever
I'm not being forced, I'm not going to
use it".
Or "I hate the fact that the only way I
can talk to that group of people
is with Zoom,
but for anything else I will feel better
about myself if I don't".
See, lots of ways to say no some of the
time,
and yield some of the time,
and when you try saying no occasionally,
you may just develop the ability to say
no more often.
Now, whether you would ever get to be as
stubborn as I am?
I don't know, but what I find is that
I like the fact that I've never made
this kind of compromise.
I feel I have a reputation to maintain,
nobody's forcing me, but I get
satisfaction
out of maintaining…, out of being able to
continue to say
I will not.
And that also
can happen at various different levels,
so, you can get that satisfaction
of fully maintaining a refusal
that applies only to certain areas.
(Amin: since it's noon already, let's maybe
take one or two more questions and then
break for
the lunch break) Okay. (Amin: Thank you).
"How often do you personally use Emacs?"
is the lowest question now.
Well, I use it most of the day.
I occasionally do use other things, in
fact, I occasionally edit with
LibreOffice,
I occasionally use media players,
I occasionally ssh to a machine and type
some commands on it,
which occasionally includes running
Emacs on it.
I read PDF files a lot,
would be nice if you could get those
into Emacs, so that I could read them
with Emacs commands,
and I maybe even edit them with the Emacs
commands
when they can be edited. I use
Xournal sometimes
to write on a PDF file.
"Are there any more interesting projects
you have in mind over and above
NonGNU ELPA?"
I can't think of one right now, well,
there are things that
the GNU project needs
doing, there are packages that don't have
maintainers or could use
more maintainers.
Talk with maintainers@gnu.org,
and the assistant GNUisances will
help you find a package where you can do
good.
Not for beginners though,
you got to learn
a substantive substantial level of
capacity to develop and debug programs
before you can
be a maintainer.
"Have I ever looked at Magit?"
No, I haven't,
but I believe
work is being done to get it put into
Emacs,
and at that point I'll give it a try.
I do not want to share my configuration
files they're personal.
How about if we end this now?
(Amin: sounds good to me,
thank you very much Richard for joining
in for live questions.)
Okay.