科创新人,linux老用户,我来这里的第一贴,自然是要写linux的。楼主的帖子写的蛮打动我的,但这似乎并不是在写Linux,更像是在写CS。那么我来稍稍讲讲Linux代表的是什么吧。
从windows推出.net准备一统天下的那一刻,我就删掉了windows,彻底倒向Linux。是的,用于桌面,在那个连显示中文都要折腾很久的时代。所以很遗憾楼主发表对linux的嘲讽贴时我还不知道这里,其实ubuntu已经是对新人极端友好,各方面都以对标windows为目的做到最好的发行版了。老linuxer是不太喜欢ubuntu的,太过于商业化,和开源信仰不符。我个人最喜欢也一直在用的,还是ubuntu的祖宗:Debian。
任何时代总会有一小撮愿意探索未知,挑战自我,挑战权威,对这个世界充满好奇,对未来无比乐观的开山人。他们是15世纪发现新大陆的哥伦布,是16世纪是挑战教会种下科学种子的歌白尼,是17世纪是奠定现代科学基石的牛顿,是18世纪开启工业革命的瓦特,是19世纪吹响现代物理学先声的麦克斯韦,是20世纪奠基物理学大厦的爱因斯坦和波尔。且不说这些代表一个时代的巨星,我看了下活跃在科创这里的很多人,也都属于这类新星,大概起码也是个普通人眼里的异类吧。
在20世纪末期,计算机从要好几个房间这么大的大型系统不断缩小,终于到了可以放在桌子上的微型计算机这一步。计算机开始普及到一般民众,即将进入爆发的前夜。此时计算机应用领域还处于天地初开,一片混沌的状态。有一个年轻的异类叫Bill Gates,和他伙伴Paul Allen成立了一家叫Microsoft的公司,为第一个商业上获得成功的个人电脑Altair写了第一个Basic解释器,随后就被各爱好者疯狂盗版...Gates很生气,写了一封非常著名的信《致爱好者的公开信》。信中他发出了“谁会从事专业的软件开发却分文无获?哪有业余爱好者会花费3人年的精力去编写软件,去修正软件,编写使用手册却免费发放给别人使用?”的灵魂质问。在那个时代,没有现在随手可得的开源项目,开源这个概念都没有被发明,甚至开源运动的精神领袖,此时也还在MIT的实验室里为他准备开始写的文本编辑器想个好名字(也就是日后大名鼎鼎的EMACS)。虽然CopyRight的历史要早的多,但在我看来,这封信是就是软件领域CopyRight的标志,让世界意识到软件这种无形的东西和一件有形的艺术品等价。微软从这个事件开始,随着计算机行业一起开始起飞,日后成为这个行业中CopyRight的一面旗帜。
在与微型机对应的小型机领域,此时发展多年的Unix,集成了TCP/IP,并用C语言改写,使得它具有极好的兼容性和强大的联网能力,迅速占领了市场。Unix、TCP/IP和C语言,在计算机历史中互相促进互相推广互相普及,从此奠定了驱动我们现代社会的三大核心支柱:POSIX兼容的操作系统,TCP/IP网络协议,开发各种基础设施的C语言。进入80年代后,Unix开始陷入商业版权和专利纠纷。这场纠纷使得Unix的发展陷入停滞,没有将足迹迈入新兴的微型机领域,微软用收购来的DOS占领了这块快速发展的新兴市场。于此同时,前面说的那个还在考虑自己的文本编辑器名字的人,也开始遇到了商业的侵蚀。快速发展的软件产业席卷了MIT,他所在实验室中的很多黑客朋友被一个个的高薪挖走,他所在的实验室运转不下去了,他感觉到他真正的敌人并不是某个商业公司,而是整个不开放源码的商业软件产业。于是这位最后的黑客站了起来,他叫Richard Stallman。他察觉到了专利制度和商业版权对知识自由的侵害,创办了自由软件基金会,准备以一己之力,创造出整个完整的,开放的操作系统生态,这就是著名的GNU系列。并为了防止商业软件窃取,创造了CopyLeft概念,以及著名的GPL版权。随后他以一人之力,创造了emacs,gcc,gdb等等核心工具链。随着其他更多爱好者的加入,GNU逐渐成为包含了上百个组件的日趋完善的操作系统生态。此时,操作系统最重要的组件,内核依然缺席。Richard Stallman规划的Hurd,因为规划的目标太大,进度缓慢始终无法稳定运行。此时,又有一位异类,Linus Torvalds站了出来。
Linus做Linux的起因很简单,他买了台386电脑,他想有搞套免费的操作系统,仅此而已。如果不是Unix的商业版权纠纷带来的停滞,Unix的一个BSD分支就会有386支持,那么Linus本人表示会直接加入BSD开发,不会去折腾什么自己的操作系统。就算是自己折腾,他一开始也只是想基于Minix改造,但Minix的作者拒绝了他的请求。所以他最后没有办法只好自己写一套内核,让我们来看看一切的开端:
我在做个(自由的)操作系统(就是个兴趣爱好,我不会搞得像GNU那么大那么专业),打算让它工作在386 AT平台上。它从四月就开始酝酿了,马上就快好了。我想要那些喜欢或不喜欢minix的人的意见,因为我的系统和它有点类似(同样的文件系统的物理布局——由于实际原因——还有些其他的东西)。
我现在已经移植了bash(1.08)和gcc(1.40), 而且看起来奏效了。这意味着我会在几个月内得到一些实用的东西。“……”是的——它没有任何minix代码,并且它有一个多线程的fs。它不可移植(使用386任务切换等),而且它可能永远不会支持除AT硬盘之外的其他东西,因为我只有这些:-(。
“……”它基本上是用C语言写的,但是大多数人可能不会把我写的东西叫做C语言。它使用我能找到的386的每个可以想象的特性,因为它也是一个教我关于386的功能的项目。我前面提到过,它使用内存管理单元来进行分页(还没实现到对硬盘的功能)和分段。这个分段功能使得它真正的依赖于386(每个任务都有64Mb的代码和数据段——4Gb中最多64个任务。如果有人需要超过每个任务64Mb的限制,那将是个麻烦事)。“……”我的一些C语言文件(特别是mm.c)几乎用了和C一样多的汇编。“……”不像minix,我也碰巧喜欢中断,所以中断将在不试图隐藏背后的原因的情形下被处理
虽然最初的Linux是如此的简单,Linus本人也没啥野心,但这刚好成为完成GNU体系的最后一块拼图,使得GNU可以脱离Unix的版权依赖,独立运行。种子开始生根发芽。
之后事情的发展就如光电火石般迅速,90年代是计算机发展极为快速的时代,互联网的爆发,信息时代的到来,信息的爆炸,这是和工业革命一样跨越时代的成就。Linux以及整个GNU系列在众多爱好者的加入下越来越复杂,越来越专业,站在浪潮之巅享受了快速成长的红利,也成为开源软件、知识自由的庇护所。在Gates写了《致爱好者的公开信》的15年之后,以GNU和Linux为首聚集起来的黑客群体对这封信中的灵魂质问做出了有力的回答。在此后很长时间内,微软和Linux都是死对头,微软在内部会议中把linux认定为头号敌人,Linux则以Ubuntu为例,其第一个Bug是Microsoft has a majority market share。
现在已经2020年了。现在的微软变得我都快不认识了,兼容Linux,拥抱开源。Windows和Linux的斗争已经不再像以前那么重要了。PC的规模也早已被手机平台碾过,但也许现在人们并没有意识到,Richard Stallman作为最后的真正的黑客,作为一个思想家,留给世界的财富。
科创有很多个不同领域的玩家,其实仔细想想,每个行业,都存在着大大小小深如鸿沟的壁垒。比如想搞电路,有些芯片很难买到,有些资料要签NDA才能拿到,有些设备或者工具需要支付与成本明显不符的巨大金额。每个行业都存在大量的商业行为,而商业行为的做法最终都会收敛如此,设立一座座堡垒,形成一个个孤岛,组成一队队联盟。Unix时代的专利和版权纠纷即是如此,可以说是版权制度最恶劣的应用之一。AT&T公司并不关心Unix的发展,Unix是个人项目,并没有占用公司太多资源,销售Unix的盈利在整个公司中占比也几乎可以忽略不计,公司拥有的也只是BSD系统中千分之一代码的版权。但AT&T为了打击对手,以一个微不足道的理由,为了一个自己根本不在乎的产品,发动了一场损人不利己的战争,造成了Unix在计算机技术最为黄金时代的停滞。
现在,我们享受开源带来的巨大便利。这种便利,发生且仅发生在IT行业中。没有其他任何行业,会拥有IT行业如此多的选择,如此低的门槛,如此快速的发展,如此丰富的信息共享。这就是以Linux为标志,以开源精神为核心的信仰。
200字以内,仅用于支线交流,主线讨论请采用回复功能。