annotate etc/LINUX-GNU @ 32014:13bd1ce1c353

(comment-indent-function): Use 0 for ;;; and %%%. (comment-indent): Make sure there's a space between code and comment. Shift comments left to avoid going past fill-column.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Fri, 29 Sep 2000 19:11:42 +0000
parents 6b5aacec5ace
children e7d1e0f7a699
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
26119
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
1 Linux and the GNU system
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
2
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
3 The GNU project started 12 years ago with the goal of developing a
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
4 complete free Unix-like operating system. "Free" refers to freedom,
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
5 not price; it means you are free to run, copy, distribute, study,
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
6 change, and improve the software.
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
7
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
8 A Unix-like system consists of many different programs. We found some
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
9 components already available as free software--for example, X Windows
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
10 and TeX. We obtained other components by helping to convince their
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
11 developers to make them free--for example, the Berkeley network
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
12 utilities. Other components we wrote specifically for GNU--for
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
13 example, GNU Emacs, the GNU C compiler, the GNU C library, Bash, and
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
14 Ghostscript. The components in this last category are "GNU software".
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
15 The GNU system consists of all three categories together.
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
16
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
17 The GNU project is not just about developing and distributing some
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
18 useful free software. The heart of the GNU project is an idea: that
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
19 software should be free, and that the users' freedom is worth
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
20 defending. For if people have freedom but do not consciously
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
21 appreciate it, they will not keep it for long. If we want to make
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
22 freedom last, we need to call people's attention to the freedoms they
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
23 have in free software.
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
24
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
25 The GNU project's method is that free software and the idea of users'
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
26 freedom support each other. We develop GNU software, and as people
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
27 encounter GNU programs or the GNU system and start to use them, they
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
28 also think about the GNU idea. The software shows that the idea can
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
29 work in practice. Some of these people come to agree with the idea,
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
30 and then they are more likely to write additional free software.
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
31 Thus, the software embodies the idea, spreads the idea, and grows from
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
32 the idea.
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
33
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
34 By 1992, we had found or written all of the essential major components
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
35 of the system except the kernel, which we were writing. (This kernel
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
36 consists of the Mach microkernel plus the GNU HURD. Currently it is
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
37 running but not ready for users. The first test release was made in
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
38 1996.)
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
39
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
40 Then the Linux kernel became available. Linux is a free
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
41 Unix-compatible kernel initially written by Linus Torvalds. It was
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
42 not written for the GNU project, but Linux and the almost-complete GNU
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
43 system made a useful combination. This combination provided all the
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
44 major essential components of a Unix-compatible operating system, and
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
45 with some work, people made it into a usable system. It was a variant
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
46 GNU system, based on the Linux kernel.
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
47
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
48 Ironically, the popularity of these systems undermines our method of
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
49 communicating the GNU idea to people who use GNU. These systems are
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
50 mostly the same as the GNU system--the main difference being the
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
51 choice of kernel. But people usually call them "Linux systems". At
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
52 first impression, a "Linux system" sounds like something completely
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
53 distinct from the "GNU system," and that is what most users think it
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
54 is.
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
55
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
56 Most introductions to the "Linux system" acknowledge the role played
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
57 by the GNU software components. But they don't say that the system as
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
58 a whole is a modified version of the GNU system that the GNU project
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
59 has been developing and compiling since 1984. They don't say that the
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
60 goal of a free Unix-like system like this one came from the GNU
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
61 project. So most users don't know these things.
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
62
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
63 Since human beings tend to correct their first impressions less than
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
64 subsequent information calls for, those users who later learn about
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
65 the relationship between these systems and the GNU project still often
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
66 underestimate it.
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
67
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
68 This leads many users to identify themselves as a separate community
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
69 of "Linux users", distinct from the GNU user community. They use all
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
70 of the GNU software; in fact, they use almost all of the GNU system;
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
71 but they don't think of themselves as GNU users, and often they don't
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
72 think that the GNU idea relates to them.
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
73
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
74 It leads to other problems as well--even hampering cooperation on
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
75 software maintenance. Normally when users change a GNU program to
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
76 make it work better on a particular system, they send the change to
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
77 the maintainer of that program; then they work with the maintainer,
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
78 explaining the change, arguing for it, and sometimes rewriting it for
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
79 the sake of the overall coherence and maintainability of the package,
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
80 to get the patch installed.
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
81
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
82 But people who think of themselves as "Linux users" are more likely to
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
83 release a forked "Linux-only" version of the GNU program, and consider
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
84 the job done. We want each and every GNU program to work "out of the
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
85 box" on Linux-based systems; but if the users do not help, that goal
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
86 becomes much harder to achieve.
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
87
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
88 How should the GNU project deal with this problem? What should we do
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
89 now to spread the idea that freedom for computer users is important?
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
90
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
91 We should continue to talk about the freedom to share and change
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
92 software--and to teach other users to value these freedoms. If we
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
93 enjoy having a free operating system, it makes sense for us to think
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
94 about preserving those freedoms for the long term. If we enjoy having
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
95 a variety of free software, it makes sense for to think about
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
96 encouraging others to write additional free software, instead of
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
97 additional proprietary software.
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
98
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
99 We should not accept the idea of two separate communities for GNU and
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
100 Linux. Instead we should spread understanding that "Linux systems"
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
101 are variants of the GNU system, and that the users of these systems
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
102 are GNU users as well as Linux users (users of the Linux kernel).
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
103 Users who know this will naturally tend to take a look at the GNU
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
104 philosophy which brought these systems into existence.
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
105
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
106 I've written this article as one way of doing that. Another way is to
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
107 use the terms "Linux-based GNU system" or "GNU/Linux system", instead
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
108 of "Linux system," when you write about or mention such a system.
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
109
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
110
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
111 Copyright 1996 Richard Stallman
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
112 Verbatim copying and redistribution is permitted
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
113 without royalty as long as this notice is preserved.
6b5aacec5ace *** empty log message ***
Dave Love <fx@gnu.org>
parents:
diff changeset
114