真的是gcc的传奇历史,原来经常使用的gcc,这么简单的版本号有这么复杂的故事。记一下,让它不要湮没在互联网中:http://dev.eyou.com/?q=node/204
经qyb同意,转贴如下:
可以从这里看到一个基本完整的事件描述,偶就自己得到的资料简单概括一下:
1997年,以 Cygnus(第一个开源商业公司,后来被 RedHat 收购)为首的开发团队决定独立开发 egcs,因为 RMS 认为 gcc 最重要的是稳定,然而 Cygnus 迫切需要扩展 gcc 到更多平台上(它的商业产品 GNUPro 和 eCos 就是面向嵌入式市场的)。分歧不可避免,尤其是 Cygnus 的三位创始人从 1990 年开始就成为 gcc/g++/binutils/gdb 的重要开发人员(可以参考洪峰翻译的那本开源软件文集),这次分裂对 gcc 带来的挫伤是非常严重的。
在 egcs 发布前夕,gcc 迫于压力,发布了 2.8.1,事情发展到这一步已经有政治斗争的意味。egcs 毫不示弱,如果运行 egcs --version,它的版本号显示是 1.x,但如果运行 egcs 符号链接到的 gcc --version,版本号显示为 2.91.x。尽管 Linus 一直在推荐使用 gcc 2.7.2.3 编译他的 linux kernel(稳定性的确是最重要的),可事情最终还是向着有利于 egcs 的方向发展,尤其是 RedHat 收购 Cygnus 后,egcs 就成为这个最流行的 Linux 发行版本的缺省编译器。那个时候,Eric Raymond 发起 Open Source 运动,VA 和 RedHat 相继上市,RMS 和 FSF 的确有衰落的迹象,egcs 取得最后胜利眼看指日可待。
事情的结果现在我们也都知道了:gcc 2.8 无疾而终,RMS 交出 gcc 的管理权,gcc 从 GNU C Compiler 改名为 GNU Compiler Collection,egcs 改名 gcc 2.95。
偏房最终扶正,但 RedHat 的冒险仍在继续,当 RedHat 7.0 里面再一次出现 gcc 的时候,版本变成了 2.96。RedHat 为了跨平台更强的 gcc 3.0 而不惜拿忠实用户做 beta test,Linux kernel、Apache、MySQL...纷纷建议使用 2.95.3 编译它们。亿邮也跟风使用 2.95.3 编译自己的软件,呵呵。我可能也正是因为这个原因而喜欢上的 debian,2000 年的 potato 给我的 gcc 是 2.95.2,2002 年的 woody 则是 2.95.4!!从此我就坚信 debian 是比 redhat 更可靠的发行版本。
虽然 saga 读起来很有些激动人心,但说实在的,类似 gcc 这样的传奇还是越少越好。
Trackback: http://tb.donews.net/TrackBack.aspx?PostId=407709