我们是否需要源代码?
源代码是一个程序如何工作的细节内容(由程序员编写)。没有它任何人都无法了解一个软件是如何被构建的。 你是否懂得阅读源代码并不重要:它是否公开直接影响了所有的用户。
没有人能了解内部
Windows 并不会向你提供它的源代码。更糟糕的是,所有的用户都必须遵守下面的许可条款:
你不能对此软件进行反向工程、反编译或者反汇编。
正因为这样,研究出 Windows 或者 Microsoft Office 是如何设计的是一项非法行为,甚至只是尝试也是非法的。以任何目的去修改程序也是被严格禁止的。
这份许可证的限制确保了微软是唯一一个能够了解他们产品如何工作的组织。Windows 非常像只能由生产厂商维修的汽车。
你可能说,“我怎么修改食谱才能不放盐?”,厨师长会回答,“你怎么敢侮辱我的食谱,它是我智力和味觉的产物,你怎么能试图擅自修改呢?你没有决断力改变我的食谱,也不能让它改了之后还能正常!”
你可以信任自由软件
相对自由开放源代码的软件(包括 GNU/Linux)来说,专有软件存在许多严重的漏洞并不令人惊奇。
自由软件意味着程序员可以通过修改源代码来修复缺陷,也就意味着你可以招聘一个人来检查你使用的软件有多安全,也就意味着你可以获得来自全球无数社区的无数开发者给你带来的安全和可靠性。一千五百万的用户运行着 GNU/Linux,却基本没有使用杀毒软件——因为他们知道他们处于安全之中。搜索引擎等网站的服务器、银行的服务器也有许多基于它。
源代码是软件的菜谱。如果一个人被禁止看菜谱来做菜,那又如何通过多加些盐来改善一道菜的口味呢?
如果你使用了 Windows 和 Office,你只能对其源代码不闻不问。只有微软的开发者可以修改你购买的程序。
你不能学习参考的软件和告诉你一切细节的软件——你更愿意相信哪一个呢?