今天Richard Stallman来学校演讲,主题是“Free Software and Your Freedom”。
这次就来记录下我记住的内容吧。
首先归纳一下他的生平,信息来自上面连接的Wikipedia:
-- 1983年9月,创建了GNU项目
-- 开发了很多GNU下的软件:
- Emacs的作者
- GNU Compiler Collection
- GDB
-- 1953年,出生在美国纽约
-- 在高中时呗IBM New York Scientific Center雇佣写一个Fortran下的数值分析程序
-- 哈佛大学。在大一的时候以在Math55(被称为全美国最困难的数学课)的出色表现而闻名
-- 1974年以物理学士学位毕业
-- 毕业后在MIT实验室工作,在AI领域很有建树
-- 1984年,从MIT辞职,开始全职工作在GNU Project上
// 关于自由软件(Free Software):
- 在英语里的Free,指的是自由(as in freedom of speach),而不是免费(as in free beer)。
- 自由软件意味着,用户是自由的。他可以自由地:使用、学习内部逻辑、传播、更改、打包再次发放。
- 自由软件不同于开源软件,但在遵循同样协议的情况下,他们产生的结果相同。自由软件更加强调的是一种自由的意识:公民应该意识到自己的自由权利;而开源软件只是一个运动。更多见这里:http://www.gnu.org/philosophy/open-source-misses-the-point.zh-cn.html
// 关于GNU和Linux:
Linux不是自由软件,因为为了一些硬件driver的需要,Linux里面包含了很多Binary Code,他的源代码没有100%开放。但GNU有一个自己的Linux版本,清除掉了Linux里面不自由的部分。因为这个原因,GNU/Linux不能够对一些硬件支持。
// 关于对OS X、Windows、iOS的看法:
这些都是MalWare。因为:
- 他们限制了用户完全自由使用自己计算机的权利
- 他们会在用户不知情的情况下发送信息、安装程序
// 关于对于学校教育的看法:学校教育计算机课程应该完全使用开源软件,因为:
- 相比于闭源软件,这样更省钱
- 假如有个计算机天才少年好奇一个command是怎么回事,从老师那里,相比与说“哦,我不知道”,他可以给少年source code,告诉少年这里面有答案;在少年阅读source code遇到问题的时候,老师可以说:“来,我们一起解决”
- 阅读优质的源代码是一个好的程序员必修课
// 关于自由软件人怎样用编程来谋生:
- 绝大多数有程序员需求的软件都是定制软件
- 加入客户足够聪明,客户会要求程序员给他的程序是开源的。这样客户就可以100%了解/控制软件的结构流程
恩,最后讲一下今天的Stallman:他在演讲的时候非常风趣幽默,在整个演讲过程很自由。他没有穿鞋子。