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
» Richard M. Stallman - all quotes »
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 M. Stallman
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
The GNU GPL is not Mr. Nice Guy. It says "no" to some of the things that people sometimes want to do. There are users who say that this is a bad thing--that the GPL "excludes" some proprietary software developers who "need to be brought into the free software community."
But we are not excluding them from our community; they are choosing not to enter. Their decision to make software proprietary is a decision to stay out of our community. Being in our community means joining in cooperation with us; we cannot "bring them into our community" if they don't want to join.
What we can do is offer them an inducement to join. The GNU GPL is designed to make an inducement from our existing software: "If you will make your software free, you can use this code." Of course, it won't win 'em all, but it wins some of the time.Richard M. Stallman
I would dramatically reduce the safeguards for software — from the ordinary term of 95 years to an initial term of 5 years, renewable once. And I would extend that government-backed protection only if the author submitted a duplicate of the source code to be held in escrow while the work was protected. Once the copyright expired, that escrowed version would be publicly available from the copyright office.
Most programmers should like this change. No code lives for 10 years, and getting access to the source code of even orphaned software projects would benefit all. More important, it would unlock the knowledge built into this protected code for others to build upon as they see fit. Software would thus be like every other creative work — open for others to see and to learn from.Lawrence Lessig
We turned 3 different teams of code programmers loose on the code bases of AIX, Unix and Linux. And they came back with - independently - we had the three teams - one was a set of high-end mathematicians, rocket scientist, modeling type guys. Another team was based on standard programmer types. A third team were really spiffy on agent technology and how all of this technology was built in the first place. So the three teams came back independently and validated that there wasn't just a little bit of code showing up inside of Linux from our Unix intellectual property base. There was actually a mountain of code showing up in there.
Darl McBride
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