emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Release plans


From: Thomas Lord
Subject: Re: Release plans
Date: Sat, 16 Aug 2008 14:04:11 -0700
User-agent: Thunderbird 1.5.0.5 (X11/20060808)

Richard M. Stallman wrote:
    How does not providing dynamic loading maximize what users can
    do while remaining free?

It protects against the danger of non-free C-level add-ons to Emacs.
It's the same principle as the GPL itself.


That doesn't answer the question.   You said something odd:
that not having a dynamic loading feature helps to maximize
what users can do in freedom.   That's false, though.   Having
a dynamic loading feature would let users do more, in freedom.

Suppose it were *certain* that non-free (but perfectly legal)
C-level add-ons to GNU Emacs would result from adding a
dynamic loading feature.   That isn't a good argument to not
add the feature and here is why:

It is equally certain that GNU Make is used
to build non-free programs.  It is equally certain that GCC is
used to compile non-free programs.  It is equally certain that
GNU Emacs is used to edit non-free programs.   It is historic
fact that one of the biggest areas in which free software projects
have succeeded in creating free software jobs is in maintaining
and extending a GNU/Linux platform for running non-free
programs.  It is a historic fact that those free (both senses) tools
have led to the creation of non-free programs that were otherwise
unlikely to be written.   The GNU project can not help but
abet the creation of non-free programs, as long as their are people
who want to create non-free programs.

If we accept that the consequence of non-free programs is
reason enough to reject a feature, we ought not write any software
at all!

On the other hand, it is *plausible* that a well designed dynamic
loading feature would lead to tiny "boom" in new free software
programs.   Third parties could release C-level, free software
extensions to GNU Emacs without any need for additional
coordination with the GNU Emacs maintainers.   There would be
opportunity for people to experiment more freely with C-level
extensions -- more chances to find new uses.   There would be a
new marketplace of technical ideas in which people are enriched
by exercising their software freedoms.

When people have cause to *exercise* their software freedoms
they come to understand those freedoms better.   They are more
likely to come to regard those freedoms as simply "natural" --
as a basic right.   If more people are busy exercising their software
freedoms, more people will be prepared to defend those freedoms.

Since it is plausible that a dynamic loading feature can lead to more
people exercising their software freedoms, and since a dynamic loader
makes decent sense technically and at an architectural level, there
are strong arguments *for* adding a dynamic loader.

An analogous analysis applies to tree print and read in GCC. Certainty that non-free uses will result hardly changes much of
anything and is not a strong argument against the feature.
Plausibility that the feature will lead to more free software
uses of GCC is a strong argument for the feature.

If you want to think about what software to NOT write in order
to save work, think about software architecture and maintainability
and stuff like that.   Maybe it is wise to NOT write program X because
writing Y instead is simpler.

But thinking about what NOT to write as some kind of tactic for
discouraging new non-free programs is ineffective unless we write
no programs at all!

It is better to think about what programs TO WRITE and to think
in terms of "combinatorics".   A good GNU system will contain
a maximal number of opportunities to write new programs, new
modules, new add-ons, etc.   The more that people *actually do*
with their software freedom, the more they will come to understand
and value their software freedom.

-t





reply via email to

[Prev in Thread] Current Thread [Next in Thread]