You see, some people have a talent for programming. At ten to thirteen years old, typically, they're fascinated, and if they use a program, they want to know: “How does it do this?” But when they ask the teacher, if it's proprietary, the teacher has to say: “I'm sorry, it's a secret, we can't find out.” Which means education is forbidden. A proprietary program is the enemy of the spirit of education. It's knowledge withheld, so it should not be tolerated in a school, even though there may be plenty of people in the school who don't care about programming, don't want to learn this. Still, because it's the enemy of the spirit of education, it shouldn't be there in the school.
But if the program is free, the teacher can explain what he knows, and then give out copies of the source code, saying: “Read it and you'll understand everything.” And those who are really fascinated, they will read it! And this gives them an opportunity to start to learn how to be good programmers.
To learn to be a good programmer, you'll need to recognize that certain ways of writing code, even if they make sense to you and they are correct, they're not good because other people will have trouble understanding them. Good code is clear code that others will have an easy time working on when they need to make further changes.
How do you learn to write good clear code? You do it by reading lots of code, and writing lots of code. Well, only free software offers the chance to read the code of large programs that we really use. And then you have to write lots of code, which means you have to write changes in large programs.
How do you learn to write good code for the large programs? You have to start small, which does not mean small program, oh no! The challenges of the code for large programs don't even begin to appear in small programs. So the way you start small at writing code for large programs is by writing small changes in large programs. And only free software gives you the chance to do that.
--
Richard Stallman, A Free Digital Society - What Makes Digital Inclusion Good or Bad?; Lecture by Richard M. Stallman at Sciences Po in Paris, October 19, 2011Richard M. Stallman
» Richard M. Stallman - all quotes »
Free software permits students to learn how software works. Some students, on reaching their teens, want to learn everything there is to know about their computer and its software. They are intensely curious to read the source code of the programs that they use every day. To learn to write good code, students need to read lots of code and write lots of code. They need to read and understand real programs that people really use. Only free software permits this.
Proprietary software rejects their thirst for knowledge: it says, “The knowledge you want is a secret—learning is forbidden!” Free software encourages everyone to learn. The free software community rejects the “priesthood of technology”, which keeps the general public in ignorance of how technology works; we encourage students of any age and situation to read the source code and learn as much as they want to know. Schools that use free software will enable gifted programming students to advance.Richard M. Stallman
I have met bright students in computer science who have never seen the source code of a large program. They may be good at writing small programs, but they can't begin to learn the different skills of writing large ones if they can't see how others have done it.
Richard M. Stallman
The programmers who write improvements to GCC (or Emacs, or Bash, or Linux, or any GPL-covered program) are often employed by companies or universities. When the programmer wants to return his improvements to the community, and see his code in the next release, the boss may say, "Hold on there--your code belongs to us! We don't want to share it; we have decided to turn your improved version into a proprietary software product."
Here the GNU GPL comes to the rescue. The programmer shows the boss that this proprietary software product would be copyright infringement, and the boss realizes that he has only two choices: release the new code as free software, or not at all. Almost always he lets the programmer do as he intended all along, and the code goes into the next release.Richard M. Stallman
Just as other information should be available to those who want to learn and understand, program source code is the only means for programmers to learn the art from their predecessors. It would be unthinkable for playwrights not to allow other playwrights to read their plays, but only be present at theater performances where they would be barred even from taking notes. Likewise, any good author is well read, as every child who learns to write will read hundreds of times more than it writes. Programmers, however, are expected to invent the alphabet and learn to write long novels all on their own. Programming cannot grow and learn unless the next generation of programmers have access to the knowledge and information gathered by other programmers before them.
Erik Naggum
The case of programs today is very different from that of books a hundred years ago. The fact that the easiest way to copy a program is from one neighbor to another, the fact that a program has both source code and object code which are distinct, and the fact that a program is used rather than read and enjoyed, combine to create a situation in which a person who enforces a copyright is harming society as a whole both materially and spiritually; in which a person should not do so regardless of whether the law enables him to.
Richard M. Stallman
Stallman, Richard M.
Stallone, Sylvester
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z