齐兵辉 郑州航空工业管理学院智能工程学院
开源操作系统(open source operating system),就是公开源代码的操作系统软件,可以遵循开源协议(GNU)进行使用、编译和再发布。在遵守GNU协议的前提下,任何人都可以免费使用,随意控制软件的运行方式。
开源操作系统(open-source operating system)具有源码,而非只有编译过的二进制码。Linux是最为著名的开源操作系统,而Microsoft Windows则是一个著名的闭源(closed source)的系统。Apple公司的Mac OS X和iOS操作系统采用一种混合方式。它们有开源的内核,称为Darwin,也有闭源的专用组件。
从源码可以生成二进制码,以便在系统上运行。而反着干,即从二进制码到源码的逆向工程(reverse engineering),则很费力,并且也无法恢复一些有用信息,如注释。通过阅读源码学习操作系统还有很多好处。有了源码,学生可以修改操作系统,再编译和运行源码,观 察修改结果,这是很好的学习方式。
计算机和软件公司试图限制软件使用,如只限于授权计算机和付费客户。仅发布二进制代码而非源代码,可让这些公司实现这一目标;对竞争对手来说,也保护了代码及其方法。还有一个问题是关于知识产权的。操作系统和其他程序可以实施限制,只有授权计算机才可播放视频和音乐、阅读电子书等。如果实现这些限制的源码公开了,那么复制保护(copy protection)和数字版权管理(Digital Rights Management,DRM)就无效了。许多国家 的法律,包括美国的千禧年数字版权法案(Digital Millennium Copyright Act,DMCA),都认定DRM代码的逆向工程或试图绕过复制保护是违法的。
为反对限制软件使用与再发布,Richard Stallman于1983年设立了GNU项目,以创建一个免费的、开源的、兼容UNIX的操作系统。……