在基础软件领域,你哪儿来的迷之自信?
昨天在群里聊天,胡老师发了一个链接,是美国国家科学院院刊(PNAS)上刊发的一篇论文,题目叫“中国、印度、俄罗斯及美国学生在计算机科学领域的能力比较”。我没仔细阅读,但看这篇论文里边的一张张图表,就大概能够了解到:尽管我们中国人聪明、勤奋、 …
你看 Linus 自传就完事了。
Linus 研究生时期开始写操作系统(大约是 91 年),那时候个人电脑(PC)虽然兴起一些年了,但是还只是小部分程序员和狂热爱好者的玩具。硬件基本上都靠自己攒,软件也是用开源系统各种魔改。所以普通人根本没有折腾 PC 的动力和理由。
Unix 已经霸占了许多生产力场景,唯一的缺点就是贵,而且很多发行版是闭源的。个人用户根本不要考虑。
那时候 Linus 自己攒了一套 386,但是找不到好用,廉价 / 免费的操作系统用。当时社区里当然也有一票免费且开源的系统,但是要不就是兼容性差,要不就是各种坑,要不就是没软件,总之各种各样的问题。而兼容性是最主要的问题,那时候的 CPU 不像现在的流行架构就那么两种(x86,Arm),那时候叫的上名的架构有十几种,所以操作系统的兼容性是非常重要的。
Linus 开始自学操作系统,发现了一本很好的教材《操作系统:设计与实现》,然后花了一个暑假看完,开始自己写操作系统。
《操作系统:设计与实现》这本书的作者是塔雷鲍姆,写书的时候已经是业界大牛了,他在大学为了教学操作系统,但苦于学生买不起太贵的 Unix 发行版,于是自己写了一个兼容 Unix 标准操作系统(主要是兼容 POSIX 标准),叫 Minix(名字上就很对仗,Universe - mini)。
Minix 这个系统就是为了教学而生的,只要买了这本书,就免费邮寄一份 Minix 源代码。Minix 为了方便教学,保持代码的简洁,塔雷鲍姆拒绝向里面添加太多复杂的功能,。所以 Minix 虽然实现得优雅,但是社区的玩家要自己日常用,要魔改很多东西。
对了,Minix 是微内核的。对,微内核的概念存在几十年了,而不是 2019 年诞生的。
微内核的结构非常优雅,文件系统,内存管理,硬件驱动都是以进程形式存在的,而不是内核代码,这意味着驱动挂了不会带着内核一起挂。缺点就是系统调用开销太大,以至于慢到无法接受。所以现在的桌面系统,没有纯微内核的。
对于教学系统来说,微内核不是问题,毕竟是教学,不是生产工具。
社区和 Linus 都很喜欢 Minix,但是都不满足于 Minix 作者因为教学目的而放弃兼容性和可扩展性。于是 Linus 在自己运行 Minix 的 PC 开始了 Linux 的开发。Linux 是宏内核的。Linux 本来不叫 Linux,Linus 是一个很内向的人,不好意思取这么自恋的名字,但是合作者强烈建议用这个名字,所以就用了,x 代表 unix 的联系(都兼容 POSIX)。提一句,Unix 不是为开源和免费而生的,而是为商业而生的,但是 Unix 的发展催生了最好的开源环境(比如 GNU)。
注意,这几年的社区,属于『军阀混战』,大家都缺一款好用的免费操作系统,但并不只是 Linus 想到要解决这个问题,理查德斯托曼领导的 GNU 组织在 90 年代就一直酝酿一款免费的操作系统,因为他们的目的是与商业的 Unix 对抗,光有一个 GCC 编译器还不够,还需要有自己的操作系统。
社区里各种技术人员也对 GNU 的操作系统非常期待,但是这玩意儿难产了。直到很久之后,Linux 流行起来后,依然没做出来。
最开始的 Linux 版本,只有几千行代码,现在基础扎实的 CS 本科生,花一段时间都可以看懂,甚至有些 OS 教材就是用 Linux 最初的版本来教学的,比如哈工大李志军的课程。
Linus 从一开始就不断在 minix 论坛上发布自己的进展,搞得论坛上一堆人非常感兴趣,于是许多人加入了开发,这时候 Linus 用邮件接收每个人的代码,然后手动合并。没过一段时间,minix 论坛上就全是讨论 Linux 的了,虽然塔雷鲍姆不是个小气的人,但是这么搞也让塔雷鲍姆很不爽。
不久之后 Linus 和塔雷鲍姆之间爆发了一次冲突。塔雷鲍姆在论坛上写了一篇文章,论证微内核与宏内核的优缺点,其实主要是攻击宏内核,说宏内核除了性能好点,全是缺点,说 Linux 过时了。Linus 是脾气暴躁的人,在技术问题上从不妥协。于是开始嘲讽 minix。Linux 的可移植性比 minix 更好,而且免费开源(minix 需要买书后获得)。
然后来来去去吵了很多次,具体可以看
https://www.oreilly.com/openbook/opensources/book/appa.htmlwww.oreilly.com
只是他们两个当时谁也没想到,这次论坛上的口水战会成为几十年后人们依然提起的操作系统之争。
Linus 并不恨塔雷鲍姆,他说后来有一次去了塔雷鲍姆的演讲,完了之后拿着那本书想要塔雷鲍姆的签名,但是没有等到人。
我想 Linus 多少还是尊敬他的,毕竟是自己学习操作系统的领路人。
在 Linus 和社区人员的努力下,通过扩展 GCC 支持 Linux,Linux 也兼容了越来越多的平台。其他各类软件移植到 Linux 也就变得容易了,尤其是在那个许多软件以源代码方式发行的时代,只要有对应平台的编译器,编译一次就算移植好了。
赶上 PC 发展的浪潮,但还不够,毕竟苹果微软不是好对付的,商业操作系统的易用性依然很强。
但是 Linux 开始被各类企业青睐了,因为不是每个企业都有钱花高价买一套 Unix 来用,或者是更贵的软件 + 硬件一体的大型机来用。Linux 让他们看到了省钱的希望。
GNU 开始支持 Linux,Linux 成为了 GNU 的官方操作系统,所以现在叫 GNU/Linux。可以说 Linux 和 GCC 几乎是最伟大的两个开源项目。它们合起来就更强悍了。
GCC 让软件方便移植,Linux 软件生态就好了,软件生态好了用户就多,用户多了就让硬件公司眼馋,各路硬件公司都为 Linux 开发驱动和各种扩展,以支持自家硬件,这样用户就更多。这个倍增效应是很强的。
Linus 在项目达到一定规模后就不再亲自写代码了,主要是合并代码,毕竟全球那么多人提交代码,他一个人审核合并就够忙了,亲自写代码也没时间。
直到有一天他觉得忙不过来了,审核代码会遇到很多傻逼代码和开发者,于是他开发了现在最流行的版本控制工具,git,字面意思就是饭桶。
从整个发展历程来看,Linux 在几个十字路口都做了非常精准的选择。
从 1991 年 0.0.1 版到 1994 年 1.0 版,这期间 Linux 进行了极其快速的迭代,社区玩家在使用中给出了宝贵的意见,最好的测试就是让用户去测试,这保证所有的更新都是实际有效的。
要知道,Linus 在 1991 年开始开发时,根本没想过 Linux 有一天能改变世界,那个时候,他跟所有的社区玩家一样,期待着 GNU 的系统,所以他在论坛上解释,做 Linux 只是一个业余爱好,最多用来填补 GNU 系统出来之前的这段空白时间。
但 GNU 由于各种名誉加身,导致目标定得很高,于是项目一直延期,同时市面上的系统也在发展,GNU 又继续调高目标,然后继续延期,最后难产。
而 Linus 从一开始,就没什么心理压力,每一点成果都在社区上公布,快速获得反馈,然后及时调整。这种开发方式无意中就超越了 GNU 的闭门造车。
RedHat 这种系统免费,服务收费的模式也取得了成功,这大大激励了其他发行版开发商的信心。目前 Linux 的发行版,没有一千也有一百。
96 年 2.0 版发布,开始支持多核 CPU,这个重要的更新,让很多企业开始考虑 Linux。
之后几年 Linux 在服务器的份额快速上升。
03 年 2.6 版发布,稍微了解过 Linux 的人都只要这意味着什么。2.6 版本跨越 03 年 - 11 年,中间有许多小版本更新。2.6 版意味着 Linux 第一次真正具有了高稳定性,高可用性,高可伸缩性的工业级别操作系统。
05 年 git 诞生,Linus 和核心团队摸也索出一套稳定实用的合作开发方式。
之后就是遍地开花的发展历程了。
不得不说,他对操作系统发展方向的把控是精准的。
总结一下,Linux 的成功,以下几个条件必不可少:
再总结一下,一个人的命运,当然要靠自我奋斗,但也要考虑到历史的进程。
Github 上 Linux 贡献者数量是∞
说实话,是你想多了……
Linus 确实在 Linux 的内核开发上做了很多工作,诸如项目发起,最初版内核的设计等等,但是你如今拿到手的任何一个 Linux 发行版中,包含了至少上百个 GNU 项目,无数的其它开源项目,以及数十万人贡献的代码。这里所言道的 Linux,是指 Linux 这个内核,而内核这玩意不包括任何应用层,甚至那个黑框框命令行都并不是 Linux 的一部分。内核暴露的是硬件到软件的抽象、任务和资源调度,给出的是调用系统的编程接口,仅此而已。
Linus 所做的 1991 年的第一版内核有些什么功能呢?简单的说,是这样的:
一个有着硬件平台限制,能够运行起来的,与当时便不是特别热门的叫做 Minix 的操作系统内核大部分功能兼容的内核。
要说能力,那是非常强的,因为二十多年后的今天的大学生们即使上了操作系统课程做大作业要写个 OS 内核,通常也不会做得多全面,更不提完全兼容某标准(当然更可能是因为没有做那么精细的需求)。但若只是如此,Linux 也就止步于「优秀的大学生课程作业」水平了。
真正有意义的是他把 Linux 扔网上与社区协作开发(后来加上了 GPL 协议),而后在 2 年之内有超过百人折腾这个内核。而在当时的商用环境普遍使用 Unix 而主要发行版的 Unix 都贵破天际的情况下,在 4 年后终于有人觉得这个开源内核加上 GNU 工具能够起到替代部分 Unix 节省成本,才真正意义上火起来的。而彼时已经有上千人参与内核的开发,其中甚至有大批 RH 等公司的专职雇员。
没错,就这么个内核,没有任何人机交互,仅仅提供软件运行环境的玩意,尽管最初雏形是 Linus 的作品,四年后已经是数千名对操作系统有研究的程序员共同开发的产物了。而这只是一个现有的 Linux 发行版中占比重很小的一部分(尽管很重要),可以交互的命令行环境 bash 来自于 GNU,图形界面 Gnome 来自于 GNU,声音服务来自于 GNU,显示服务来自于 GNU(近来的发行版中也有其它开源实现)…… 连编译器都来自于 GNU,而这些东西,Linus 几乎都没有参与。
他是大神,是 Linux 之父,但是说 Linux,尤其是现在广泛使用的功能完整的 Linux 是他一个人开发的这种事情,是不存在的。
曾经看过关于 Linus 的回忆的书(评论里也讲了,这本书叫《Just for Fun》),挺有意思的,凭记忆总结一下:
如今操作系统内核经过几十年的进化,已经成为一个庞然大物。
GNU/Linux 是 Linus 牵头开发,但它并不是 Linus 一个人开发,而是全世界各个国家(包括中国)成千上万的程序员一起开发的。Linux 不属于 Linus 个人,也不属于任何组织。按照 GPL 的协议标准,GNU/Linux 是全人类的财富。任何人在遵守 GPL 规则的基础上,都有权力使用。
GNU 事实上是软件行业的共产主义运动。不能笼统的讲中国做出来做不出来……
计算机民科三大经典问题:
1,中国为什么做不出自己的处理器
2,中国为什么做不出自己的操作系统
3,为什么没有中文编程语言
隔三差五就会有人问,解释多少次也没用的。
总之,你所有的概念都没理解对。
Linux 是模式的胜利。
你以为举全国之力很 NB?
可是想没想过, Linux 其实是举全世界之力写出的系统?
.
Open-source
Open-source 的研发模式,让「举全世界之力」成为可能,而非 Linus 的个人英雄主义。没有 Open-source 的开发模式, Linus 再 NB 也不可能构筑出能影响全世界的系统。
.
众包
Linux 内核不同版本,每个开发者的平均代码贡献,其实也就是一万条左右( Linux 今天已经超过 2000 万行代码了)。
Open-source , git( Linus 自己弄的,说明他对众包研发的新模式有多么的清晰) ,github,Community ,Foundation 等等一整套关于 Open-source 的研发方法论,工具和组织方式的齐备,才让 Linus 这个英雄,可以调动全世界的开发者,真正呼风唤雨。
.
理想
当然,模式的创新,也必须伴随理念的传播。早期 Linux ,还是全球范围内的无报酬的非商业程序员在做贡献。
.
商业
但是理想主义是不可长久的。今天 Linux 发展的主要推动力量,变成了一些通过 Linux 成功构建了生意的公司。包括红帽, Intel , Google 等等,不乏全球顶级科技公司。
.
最后的话
所以简单来看, Linux 能成,
首先需要全新的模式和匹配的方法,工具和组织。
其次需要 Linus 这种大神的英雄主义和无数追随者理想主义的无私奉献。
然后需要商业利益的助推。
最终,促成一个真正能深刻影响世界的结果。
而整个的过程,也伴随着不同理念的争论和妥协,比如商业化和反商业化等等。
.
你觉得,举全国之力什么都能干成。。。
你有深刻洞见软件研发精髓所选择的开源模式吗?
你有匹配的但是创新的方法论,工具和组织吗?
你有构筑理想主义驱动力的能力吗?
你有探索商业模式最终实现长久盈利的商业冒险基因吗?
你有争论但是又寻求共赢的妥协精神吗?
这是智力,理念和价值观的差距。
不排除你今天举全国之力,能重写一个 Linux 。。。但是有这这种智力,理念和价值观的 Community ,而与此同时。。。
又在搞些什么呢?
Linus 的成功是一种跨时代理念的成功,那就是 opensource 如何工作,很多程序员如何协作。linux 0.1 版本做到的事情很多系统当时都有做到或接近做到,但是 linus 是第一个让大型协作项目社区跑起来的人。
这个问题指代极其不明确:Linux 发行版和 Linux 内核是有区别的
而且题主对 Linux 发展史缺乏了解,从我记忆深处翻出一篇 Linux 发展史的文章,希望能让题主对 Linux 发展史多一些了解。
(1)Linux 内核的诞生与发展:
[1] 1991 年的 10 月 5 日,林纳斯 · 托瓦兹在 comp.os.minix 新闻组上发布消息,正式向外宣布 Linux 内核的诞生(Freeminix-likekernel sources for 386-AT)。
[2] 1993 年,大约有 100 余名程序员参与了 Linux 内核代码编写 / 修改工作,其中核心组由 5 人组成,此时 Linux 0.99 的代码大约有十万行,用户大约有 10 万左右。
[3] 1994 年 3 月,Linux1.0 发布,代码量 17 万行,当时是按照完全自由免费的协议发布,随后正式采用 GPL 协议。
[4] 1996 年 6 月,Linux 2.0 内核发布,此内核有大约 40 万行代码,并可以支持多个处理器。此时的 Linux 已经进入了实用阶段,全球大约有 350 万人使用。
[5] 2001 年 1 月,Linux 2.4 发布,它进一步地提升了 SMP 系统的扩展性,同时它也集成了很多用于支持桌面系统的特性:USB,PC 卡(PCMCIA)的支持,内置的即插即用,等等功能。
[6] 2003 年 12 月,Linux 2.6 版内核发布,相对于 2.4 版内核 2.6 在对系统的支持都有很大的变化。
-—— 引用自 linux_百度百科
(2)Linux 发行版的诞生和发展:
[1] 英国大学生 Owen Le Blanc 说,连 fdisk 和统一的软件安装来源都没有的操作系统太坑爹了,于是有了 MCC Interim Linux,世界上第一个 Linux 发行版。(1992)
[2] 英国大学生 Peter MacDonald 说,作为一个操作系统,至少需要在内核基础上绑定 TCP/IP 和 X 窗口这样的基本功能,于是有了 Softlanding Linux System(SLS)。(1992)
[3] 美国大学生 Patrick Volkerding 说,SLS 维护的不好,于是有了 Slackware。(1993)
[4] 美国大学生 Ian Murdock 说,SLS 维护的不好,而且我们需要一个秉承 Linux 和 GNU 的开放精神的发行版,于是有了 Debian。(1993)
[5] 德国的四个数学系大学生 Roland Dyroff,Thomas Fehr,Burchard Steinbild 和 Hubert Mantel 说,我们需要一个德文版的 Slackware,于是有了 S.u.S.E。(1994)
[6] 美国软件工程师 Marc Ewing 和年轻的创业者 Robert “Bob” Young 说,Linux 可以为企业提供服务,于是有了 Red Hat(红帽)。(1994)
[7] 全球各个学院的 Geek 们陆续发布了 Linux Universe,DILINUX,Monkey 等发行版,只是它们都很短命。(1995-1997)
[8] 美国创业者 D. Jeff Dionne 和 Kenneth Albanowski 说,我们需要为摩托罗拉 DragonBall 系列开发一个发行版,于是有了 uClinux。(1998)
[9] 日本工程师 Scott Stone 说,我们要为亚洲用户们做一个红帽定制版,于是有了 TurboLinux。(1998)
[10] 费米实验室说,红帽很好,但我们需要做一些定制,于是有了 Fermi Linux(1998)。
[11] 法国大学生 Gael Duval 说,我要让红帽对于新用户来说很好用,于是有了 Mandrake,也就是现在的 Mandriva。(1998)
[12] 中国程序员邓煜、廖生苗和李凌说,我们要有完全中文内核的 Linux,于是有了蓝点。(1999)
[13] 美国程序员 Daniel Robbins 说,我们需要一个没有预编译的二进制包,用户可以需要什么加什么的发行版,于是有了 Enoch Linux,也就是后来的 Gentoo。(1999)
[14] 加拿大软件公司 Corel 说,Linux 也许能够帮助我们的软件扩展更多用户,于是有了 Corel Linux Desktop,也就是后来的 Xandros。(1999)
[15] 德国某 ISP 的工程师说,我们需要一个廉价的、有防火墙和杀毒等功能的网络防护系统,于是有了 Astaro Security Linux(现在的 Astaro Security Gateway)。(1999)
[16] 荷兰程序员 Gerard Beekmans 说,我们需要一个用户能够完全自定义并掌控的操作系统,于是有了 Linux from Scratch。(1999)
[17] 苏格兰音乐家兼程序员 Jay Klepacs 说,多媒体人需要一个能够替代 Windows 和 Mac OS 的操作系统,于是有了 Peanut Linux,也就是现在的 aLinux。(1999)
[18] 中科院软件研究所说,我们要有自主产权的国产操作系统,于是有了红旗 Linux。(1999)
[19] 美国系统管理员 Ryan Finnie 说,我们需要为系统管理员们做一个专门用来系统、文件修复的发行版工具盘,于是有了 Finnix。(2000)
[20] 奥地利(德国)电子工程师 Klaus Knopper 说,我们需要一个可以在 CD 或 U 盘上就能运行的操作系统,于是有了 Knoppix,也有了 Live CD 和 Live USB。(2000)
[21] 瑞典程序员 Per Lidén 说,我们需要一个能够贯彻 UNIX 的 KISS 原则的、基于 tar.gz 打包机制的发行版,于是有了 CRUX。(2000)
[22] 日本的 Miracle Linux 公司说,我们需要一个能够充分支持 Oracle 数据库的发行版,于是有了 Miracle Linux。不过,后来 Red Hat 对 Oracle 的支持增强,Miracle Linux 表示很尴尬,后来和红旗合作,变成了 Asianux。(2000)
[23] 美国创业者 Michael Robertson 说,我们需要一个能跑 Windows 软件的 Linux,于是有了 Lindows。(2001)
[24] 当年 Linksys 无线路由 WRT54G 的固件在 GPL 下开源,一伙开发者说,我们用这个做一个嵌入式发行版在路由器里用吧,于是有了 OpenWRT。(2001)
[25] 魔法爱好者 Kyle Sallee 说,让我们做一个可以像念魔法一样使用的发行版吧,于是有了 Sorcerer。(2001)
[26] 捷克程序员 Tomas Matejicek 说,我们需要一个可以装在口袋里拿来拿去的 Slackware,于是有了 Slax。(2002)
[27] 美国大学生 Aaron Griffin 说,Linux 发行版应该更轻量,更简单,不需要的全都不要,于是有了 Arch Linux。(2002)
[28] 美国工程师 Warren Woodford 说,SUSE、红帽、Mandriva 神马的太难了,于是有了 MEPIS。(2003)
[29] 美国开源爱好者 John Andrews 说,我们需要为那些安度晚年的硬件们设计一个发行版,于是有了 Damn Small Linux。(2003)
[30] 澳大利亚工程师 Barry Kauler 说,我们需要一个用内存就能跑的超轻量级发行版,而且我很爱狗,于是有了 Puppy Linux。(2003)
[31] 给 Mandrake 打包打烦了的 Bill Reynolds 说,我就是想自己打包源代码自己说了算,于是有了 PCLinux。(2003)
[32] 一群系统管理员们说,我们需要一个不用花钱的红帽,于是有了 CentOS。(2003)
[33] 红帽说,Red Hat Linux 这种桌面服务太累,我不想做了,交给社区吧,于是有了 Fedora Core。(2003)
[34] 西班牙安达鲁西亚政府的官员说,我们在学校、图书馆、公民活动中心这种公共场所使用 Linux 吧,于是有了 Guadalinex。(2004)
[35] 南非富豪程序员 Mark Shuttleworth 说,我们应该有个专门针对桌面的 Debian 衍生版,于是有了 Ubuntu。(2004)
[36] 台湾的国家高性能计算中心的研究员 Steven Shiau 说,我们应该有个专门做灾难恢复、磁盘克隆的 Linux 工具盘,于是有了 Clonezilla。(2004)
[37] 中国开发者冷罡华和刘文欢说,中文的 Linux 还可以做的更好,于是有了 Hiweed,也就是现在的 Deepin。(2004)
[38] CERN 说,费米搞了个发行版,看来我们也需要一个,于是有了 CERN Linux。(2004)
[39] 费米实验室和 CERN 说,既然双方都在搞 Linux 发行版,那能不能合作一下?于是有了 Scientific Linux。(2004)
[40] 来自各个国家的几个黑客说,把黑客工具打包成一个发行版应该很酷,于是有了 Auditor Security Collection,也就是后来的 BackTrack。(2004)
[41] Canonical 说,我们需要让 KDE 爱好者也能用 Ubuntu,于是有了 Kubuntu。(2005)
[42] Canonical 说,一个瘦客户端架构并预装了教学软件的 Ubuntu 会在学校里更受欢迎,于是有了 Edubuntu。(2005)
[43] 诺基亚说,用 Linux 应该能搞出不错的智能手机 / 平板的触屏操作系统,于是有了 OS2005,也就是后来的 Maemo。(2005)
[44] 法国安全工程师 Jean-Philippe Guillemin 说,我们需要一个专门针对互联网应用、多媒体和编程人员的发行版,于是有了 Zenwalk。(2005)
[45] 来自法国的软件工程师 Clement Lefebvre 说,Ubuntu 还可以更好用,更漂亮,具备更多的辅助功能,做到更多国家的本地化,于是有了 Linux Mint。(2006)
[46] 一群 Ubuntu 用户们说,我们应该有个基于 Xfce 桌面的 Ubuntu,于是有了 Xubuntu。(2006)
[47] Novell 说,把 SUSE 桌面版交给社区吧,于是有了 openSUSE。(2006)
[48] 红旗说,把红旗桌面版交给社区吧,于是有了 Everest,也就是现在的 Qomo。(2006)
[49] 甲骨文说,我们需要自己的 Linux 产品线,于是有了 Oracle Enterprise Linux。(2006)
[50] 一群 Ubuntu 爱好者说,我就要一个只装了 MythTV 的 Ubuntu 做家庭影院,于是有了 Mythbuntu。(2007)
[51] 英特尔说,Atom 处理器在移动和上网本领域有点不给力啊,需要一些强力的 OS 协助推动,于是有了 Moblin。(2007)
[52] Damn Small Linux 的开发者 Robert Shingledecker 说,其实系统还可以更小,我们把一个应用浏览器 GUI 加载到 RAM 中运行其实就可以满足很多用户的需求了,于是有了 Tiny Core Linux。(2008)
[53] Google 说,其实操作系统有 Chrome 就够了,于是有了 Chromium OS。(2009)
[54] 法国创业者 Tariq Krim 和 Romain Huet 说,把常用的什么社交网络、在线视频照片网站的图标放在桌面上当做 Web 应用就挺好的,于是有了 Jolicloud。(2010)
[55] 英特尔说,设备这种事还是需要懂行的来做,诺基亚你来跟我一起干吧,于是有了 MeeGo。只是,后来 AMD 也掺和了进来,而诺基亚却走了,这是后话。(2010)
-—— 引用自 Linux 发行版进化史(文字版) - 51CTO.COM
我觉得得这么答:
1. 1969 年,贝尔实验室的 Ken Thompson 和 Dennis Ritchie 等人写了个操作系统,叫做 UNIX。UNIX 最初是用汇编和 B 语言混合写成的。(两位大神为了改进 UNIX 又发明了 C 语言,之后用 C 语言完全重写了 UNIX。)
2. 最初的 UNIX 发展成了 SystemV, 同时分出了 BSD 和 SunOS(后来成为 Solaris) 等。从 BSD 又分出了 386BSD、NetBSD、FreeBSD。还有一个 NEXTSTEP 是 MacOS 的前身。
3. 早期的 UNIX 都是专有系统,1983 年另一位大神 Richard Stallman 发起了 GNU 计划,目标是创建一个完全自由的操作系统。到了 1990 年,Richard Stallman 亲自 / 带领其他大神们先后完成了大部分重要组件,比如 gcc、make、bash 等 (现在还能在 comm rm ls split diff cat tee make 等命令的 man page 里看到 Stallman 的签名),以及 Stallman 更早些时候写了编辑器 emacs,就差一个操作系统内核了。
4. 本来 GNU 计划中的内核是 Hurd(实际还不是底层,底层是 Mach 或 L4),但是一直不太顺利。Linux 内核的出现可以说是不早不晚正合适,它和 GNU 的大部分组件结合,才是我们一般所谓的 Linux。
总之,如果没有 Linus,我们今天用到的 Linux 在用户层面上不会有太大变化,不过名字肯定不一样了。
因为你搞错了。
Linus 写的是 Linux 内核,不是 Linux 操作系统。题目错了,没有讨论价值。
据不完全统计,Linux 平均每天修改 100k 行代码,增加 10k 行代码,删除 8k 行代码,你真以为 Linus 是神仙吗?
linus 并没有靠自己写出 “这么强” 的系统。但是人家贵在动手。如果你们可以只为了想写操作系统而去写操作系统,不要管他有没有用,那说不定迟早也能搞出一个。为什么他要写 linux 而不是买 unix,还是因为穷。要是 linus 有点家底,说不定就没有 linus 了。
集合大家搞出一个这么强的系统给他带来了什么荣华富贵了吗?我觉得这一点比起 dave cutler 还是要差点。dave cutler20 年前就可以买 500 万美元的房子,linus 前几年还要在黑 5 抢显示器,就跟你们现在上拼多多买 iphone 是差不多的(逃
你看你们跟消费已经摸到 linus 了,为什么还不满足,为什么还要赚更多的钱,而不是去写操作系统?
Linus 也没有很多人说的这么不堪,他主要干了两件事情:
一是这个操作系统最初的作者,并且贡献给了开源社区。Linus 本人的编程水平,和对操作系统内核的理解绝对是大神级别的。另外关键的是黑客精神十足,举个栗子,对版本管理软件不满意自己转头去写了 Git.
二是开源社区的管理者和维护者。Linus 本人团结了一群高水平的贡献者。用他自己的话说叫 “Network of Trust”。所以 Linux 一直能跟上时代,不断加入新技术。这一点其实是很不容易的,尤其是这些顶尖的 System Hacker 好多都是个性强烈,脾气比天大。Linus 本人虽然脾气不太好,经常跟人在网络上对喷,但是有个优点,基本上能做到对事不对人,所以 Linux 形成了一个健康的开源社区。
所以,举 “全国之力”?中国高水平的程序员有美国欧洲愿意贡献给开源的高水平程序员加上 IBM, Redhat, Intel 拿着工资给 Linux 贡献代码的程序员多吗? 注意是高水平程序员。
举全国之力能建立起 Linux 一样的 Ecosystem 吗?让所有的硬件厂商给你写 driver, 让所有的软件开发者把软件移植到你新造的轮子上吗?
Linus 吗?
你这个认知是有问题的,Linux 系统最初是由 Linus 开发,但是代码量和现在的 Linux 比较算得上极少量的了,Linux 的发展是很多公司、个人、社区的共同维护与完善。
我个人觉得并不是中国人完成不了,而是已经有了 Linux 这样的优秀的轮子,就没必要费时费力的重造轮子,况且即使中国有人以新的设计思想设计了新的操作系统,不见得就比现有的 Linux 优秀,开销巨大,中国的国情与社会资源决定了很难有企业不图利益开展这种基础研究。国家有国产操作系统相关经费,记得前几年的确有一款国产操作系统(名字忘记),最后曝光出来内核代码与 linux 高度相似,如今的 ubuntu kylin 也是加个 UI,然后定制些软件。
不是中国人笨开发不了,而是性价比太低,开发出来的操作系统不一定被市场接受。其实还有一点,操作系统是一个软件生态,还有许许多多相关的配套资源,比如软硬件、协议、规范需要开展工作,这个生态是很难建立的。就比如你有 android 系统,但是没有软件来使用,这没有竞争力
Linus 写的是 Linux 内核,不是全部 Linux 系统。
不过话说回来……
为何 Linus 一个人写出这么强的内核,英国举全国之力也做不出来?
为何 Linus 一个人写出这么强的内核,日本举全国之力也做不出来?
为何 Linus 一个人写出这么强的内核,印度举全国之力也做不出来?
……
先问是不是,再问对不对,再问好不好,再问蠢不蠢
看看我从我乎截的图
这个问题和我之前看到的 “为什么我们不发明新协议替代 TCP/IP” 这个问题有些类似
操作系统,不光是一个内核的问题,操作系统是一个生态系统,不仅要有一个强劲的 kernel,更重要的是周边软件。要是 Linux 没有这么多社区,商业公司贡献,它能成为驱动互联网的引擎吗?
况且,为什么一定要一个 “自主” 的操作系统,Linux 的内核和许多软件都是开放源代码的,编译器也有开源的。这一切的一切都是透明的,你怕什么?怕有后门?人家把衣服都脱给你看。怕米帝不给你用?抱歉啊,都是开放的,我们完全可以自己维护走
linus 当初是个学生的时候写的那个 linux 也确实就是个优秀学生作业水平,代码质量并不很高,设计也并不成熟,可以看看 http://oldlinux.org。
但是他开源出来并允许大家修改贡献代码,获得大量开发者追捧。那时的 minix 不允许修改,bsd 正陷入诉讼,linux 在开源社区支持下快速发展起来。
Linus 只是赶上了时代,他只是一个人写出来了 linux 1.0 内核,linux 发展到现在,更多靠的是社区的贡献,Linus 只是掌舵人
当然_要靠_自我_奋斗_,但是_也要_考虑到历史的行程
从国产操作系统研发人员的角度看,Linux 有啥强的啊,Linus 买了一台打折的显示器都要发推特庆祝。
研发国产系统的倪光南等人,谁看得上这么点钱的。
他妈的, FSF 组织哭死,这一个写内核的,把整个举 GNU 之力的荣耀拿光了。
Linux 是一个内核,国内能写出一个操作系统内核的人也不是没有。但是 Linux 之所以成功不是因为 Linus 能力有多强,确实 Linus 是大神级的人物,但是 Linux 的成功更多的是因为社区和生态的完善,一个系统要想有市场要么像 Microsoft 或者 Apple 那样有强大商业背景支撑,要么就要像 Linux 这样有强大的社区。
当然题主可能会将 Linux 发行版与 Linux Kernel 混淆,国内也不是没有好的 Linux 发行版,深度 Linux 也是很棒的。
另外不要谈什么举全国之力,中国不会举全国之力干这个,因为它并不挣钱。
中国要做系统不难,因为没有秘密。因为 Linux 是开源。但是 CPU 制造则还是落后,因为是商业机密。
还有中国有举国之力支持过国产系统?先把公务员的 Windows 换了,先强制腾讯出麒麟系统版的 QQ。
因为中国不需要国产空气——开源软件像空气一样属于全人类
Linux 系统的生产是一种极其先进的模式,即共产主义的生产模式,即数十万人不领一分钱工资,贡献各自的聪明才智,集合了大大小小的力量共同生产出了 Linux,然后各取所需。在这种生产模式里面,没有国界、民族、文化的差异存在,但又有极强的包容性。
这种生产模式是我们梦寐以求想实现的,但是,对不起,共产主义一旦发生,国家的界限就会被打破,所以,所谓的举全国之力,以一国为限的思想,本身就与这种模式相对冲。一个走到共产主义的人,还想着国家民族,就像那个什么?(这里需要举一个例子,说明获得高层次趣味之后,不会留恋低层次趣味)
Linux 社区的参与者有各种利益群体,在社区之外围绕 Linux 有各种公司和生意,社区里面的贡献者,可能就在这些公司里面领取薪水,但是,他们参与社区工作不需要公司同意,很多人是匿名参与,他们贡献自己的代码,也获取别人的代码,中间没有任何阻隔。成果的分享是按需分配,而不是按照贡献大小,即使一行代码都没有贡献,你仍然可以获取所有的 Linux 代码和研究成果。因此,在社区里面,是纯粹的一种共产生产模式。创始人只是开创了目标和起步的成果,真正做大这个社区的是这种生产模式。
软件生产是人类最早实现共产生产模式的领域,因为软件生产成果物有一个特征,取之不尽,代码复制成本为零。以前我国搞过种田的共产生产模式,即人民公社,不管你种不种田,不论你的贡献,只要肚子饿了,就可以到食堂吃饭,吃了几个月后,人民公社倒闭了,后来还饿死了极少数的几个人,在党的领导下我们及时发现了,任何事物都有其客观发展规律,没有所必须具备的客观条件,单纯靠主观意识无法成事,历史不以人的意志为转移。
我们要思考,为什么像 Linux、Apache、MySql、维基百科、比特币等等这些开源社区项目能够成功,取得巨大的成就和成果。我觉得开源运动的一个最大的价值,是发现并实践了更高层级的理念的存在和现实可行性。高度理性的群体愿意抛开直接的利益,从事没有直接回报的工作,并且能够在技术上,实现有效的组织和管理。
按照马斯洛的人的需求模型,开源社区无疑是人的自我价值实现的一个出口,有这样需求的人,是客观存在的,虽然比率是低的,但是放到全世界来看,这样的人集合起来并不少,而且因为抛开了直接的利益诉求,反而更加专注和纯粹。
同时,我们不能否认间接利益的存在,间接利益的来源是多种多样的。比如说,开源社区的项目,是分层级的,参与其中,对个人而言是可以获得与最顶尖的思想学习交流的机会,有利于增强自身的能力,这种回报完全是间接的,但并不会小。Open 开放的思维模式有利于自身的提高,因为人的思维惯性使然,导致人的局限性是永远存在,越 Open 才会全方位吸收,越强大,这就不赘述了。
一个程序员一天能完成的任务,十个程序员需要十天,一百个程序员一年都不一定搞得定
Linux 是举全世界之力
我给你举个特别特别不恰当的例子:中国举国之力能不能选个像样的足球队出来?有的时候并不是人多就能搞定不是?
另外就是轮子已经有了,拿来用就行了,源代码都给你了,非得自己从头写一个?
不得不说,Linus 确实是个天才。
准确说各种电脑里跑的应该叫 GNU/Linux,linux 这个内核固然很重要,但也别小瞧了外面 GNU 的那一堆东西呀。
现在的 linux 内核也不是 Linus 一人打理的,是全球开源社区合作的结果。就像原子弹之父奥本海默、中国原子弹之父钱三强,这也是为了宣传和交流方便,总不能一谈到原子弹就先列一张大名单吧,总得有个具体的人来代表这份荣誉。
中国举全国之力都做不出来?
当然做得出来,但这个做出来的一定是 GNU/Linux 这种大东西,而至于内核等组件,反而越是举全国之力越没有可能。这些核心的东西需要独裁、需要灵感、甚至需要一点点冲动,七嘴八舌是搞不好的,搞到一半,算算还有多少东西要搞,就打退堂鼓,开始瞎抄了。可以去观察各大厂开源的框架、工具,代码赏心悦目,光结构就让人陶醉,然而背后几乎都是小团队甚至个人,他们在工作中遇到了麻烦,痛定思痛,力缆狂澜,最后折腾出来了;但是你要真去看他们实际的大型项目的代码,也照样跟祖传屎山似的。
以中国人的智慧,从头开始也可以,但没这个必要呀。Linux 的源码就在那放着,美国人能看、中国人也能看,美国人能发现问题、中国人也能发现问题,再造一个 Linux 有什么意义呢?就算你弄了一个内核,那是不是也要自己搞套 GNU 出来?兼容人家的?这又何苦呢。
咱们老祖宗讲天时、地利、人和,软件开发也这样。新的平台出来了,强行把 Linux 往上凑得很不爽时,新的内核和系统便会顺理成章地到来。前一次公开的大型凑合是 Linux 层层包裹成了 Android,挺成功的;下次什么眼镜、手表、脑机互联、量子计算可能 Linux 就没那么容易凑合了——当然了,可能他依然叫 Linux,只是脱胎换骨成了另一个样子。
开源系统迭代靠大家啊!什么一个人开发的
利益相关:货真价实的 Linux 内核开发人员,Linux 操作系统某发行版厂商员工。
其它非开发者,非圈内人的答案,恕我直言,网络垃圾罢了。
惯例:破而后立。
三个常见答案思路:
1: 不需要重复造轮子。
2: 国人没有开源精神。
3: Linus 在这个 Linux Kernel 项目里没有多大作用。
分别讲这三个思路的问题:
1: 世界上所有的公开发布的期刊论文你都可以买到看到,是不是你就不用自己办大学,自己写论文了?
答案当然是否。(如果对这一点有疑问,另外开题吧。)
这个思路里面的重大问题有两部分:其一是把 Linus 内核以及其相关发行版蔑称为 “轮子”,但是实际上这并不是那么简单的技术。其二,即使是 “轮子”,都有自己制造的必要性,只是对于肯定能自己制造轮子的人而言,自己制造得到的利益与花费的时间相比太少,换言之,性价比太低。
所以用 “这是重复造轮子” 来作为不做自己的操作系统的理由,其隐含的逻辑相当于是说“我肯定能完成自己制作操作系统的工作,但是性价比太低,我自己不想做”。
这个想法,是一种猖狂自大和精神胜利法的混合物,几乎不值得一驳。
实际情况是现在中国确实没有哪个组织有能力自己打造出商用通用操作系统。
而打造一个商用通用操作系统的性价比绝对不低,甚至比很多人认为的好处要多很多。
(不过这里有个事情先澄清下:好处不包括民族自豪感。好处主要是经济利益以及搭建经济体系的可能性。这事情后面会讲。要自卑到什么程度才会想要处处证明自己啊?)
2: 开源精神,这个事情要两说的。鉴于很多答题人用嘲讽的语气来回答所以我的观点可能会因为与这些人的观点混杂在一起而变得让人误解。
请尽量忘记那些垃圾,然后看我的话。
开源精神,对于国人确实是太新潮的想法,说国人没有,不为过。
但是这个想法对于全世界都是新潮的想法。
君不见,微软,苹果,甲骨文,思科,这些 IT 大佬,资本新贵,哪个是把自己的核心技术开源了的?
微软以前想搞死 Linux 的哦。没成功罢了。尔等中国人也只不过是一点小农心思不想参与人民公社罢了。人家微软可是想夷平整个社区的。
别用带民族化的极端想法来思考这个问题。“开源精神” 是一个非常非常大的话题,涵盖社会和经济多个层面,其终极目标是消灭贫困问题,消灭贫富差距。(眼熟这个目标不?呵呵,想听为什么就另开题吧)
3: Linus 在这个内核项目和操作系统项目中的价值。
没有 Linus,我们可能会在协作的黑暗时代徘徊更久,仅仅能产出电子垃圾罢了。
看看知乎你就知道了,一堆人带着私货答非所问,允许谁?禁止谁?推送谁?邀请谁?你可以想象 Linus 内核社区是一个持续 20 多年,只产生干货的社区。而这已经超过了绝大多数所谓 “核心技术期刊” 的水平。
更甚之,你可以把 Linux 内核开源社区视为一个大学,源码视为学报,这样 Linus 就是这所大学的无可争议的校长兼任学报总编。不重要吗?
=
破而后立的立:
由于教育和资源的问题,中国的大部分机构能力低下,内部充满矛盾,无法完成大型复杂工程。但是同时只要政府愿意付出两倍的成本去填平其内耗导致的效率低下,也是有机构能做出成果的。
两弹一星,航母,月兔,大飞机,高铁,这些都是例子。
可惜操作系统并不在这个 “政府愿意花两倍资金去送给你们贪只求你们做出成果” 的列表中。
所以你至今看不到中国有哪个机构打造出自己的通用商用操作系统。但是中国也确实在自己的航天器上自己用代码写出了自己的定制操作系统,完全不是 Linus,但是也完全不是 Linux。
这个事情有很多方面,请综合考虑。
回到题主问题:
中国现在就是做不出来,商用通用操作系统领域就是没有 Linus 这么牛的带头人,但是也没啥好自卑的。哪天政府想砸钱了,把 Linus 砸到入籍中国改名林永清也是能做到的。
只是我并不求永清到来的一天。
中国不缺乏人才,缺尊重人才的环境和土壤,咱国不乏领先全球的软件应用技术,但是很少有基础设施的开发项目,因为基础设施需要投入,需要耐心,而且风险很高。做后台的不如做前端的在老板眼里值钱,更别说操作系统了。别说开源什么的,程序员都在为养家糊口奔命,而且你开源就有人改了然后卖钱。
写一个操作系统核心其实一点都不难,一个人从零开始学习其实并不需要多久,网上就有教程。
操作系统内核速度快,是个难关,但也只是有点难而已,稍微有点水平也能克服。
但见建立一个生态就是大问题了,别人发展了几十年,无数软件都在这个生态里。而且电脑手机有无数硬件,这些硬件需要厂商给你写驱动,你怎么说服别人来给你驱动又是个问题,驱动少支持的硬件少别人不愿意用,然后厂家更不愿给你写驱动,这是一个恶性循环。
如何推广你的系统让更多人用?有 windows,linux 发展了几十年的生态在,切到一个全新的系统是需要理由的。想省钱 linux 是免费的,想用着舒服 windows 绝对好用,干嘛要用你的?
再说现在不是以前那种没几个软件的时代,这么多软件不可能重新开发,你只能兼容,但兼容 windows 由于它是闭源的,基本不可能,还有法律问题。兼容 linux 当然可以,但这样别人也没理由一定要用你的系统啊,人家本来就是开源免费的。
手机平台也一样,没必要支撑一个全新的系统,现在的系统足够好了,安卓还是开源的,不满意魔改下。全新系统要面对的不是技术问题,是法律问题。
所以为什么没人写中国自己的操作系统不是一个技术问题,仅仅只是前面已经有垄断了,没市场给你折腾。完全国产只是虚名,没必要也没生存空间。
当然,这两年拜某人的福,中国可能出现新系统的空白市场。危机的另一面是机会,华为已经在抓了,如果某人给力,封锁个几年,中国也就有自己的操作系统了。
开源运动本身就是一种政治行为,这种行为在国内别想了。。
为何 Linus 一个人就能写出这么强的系统,中国举全国之力都做不出来?
前半句大部分人都替你科普了,我就列一下后半句的证据,中国举全国之力都做不出来操作系统?
下面三本书,都是国人写的,三个操作系统内核也都是国人写的,功能完善程度比当初 Linus 写的 0.1 版本 Linux 完善,而且架构更清晰先进。
于渊的《自己动手写操作系统》、《Orange’s 一个操作系统的实现》
郑钢《操作系统真象还原》
作者在人邮异步社区发表的文章:半平米的梦想 –《操作系统真象还原》背后的故事
再列举一个,清华大学计算机系操作系统系列课程主页 FrontPage - OscourseWiki
=======================================================================
那么为什么到现在中国还没有国产操作系统出现呢?
这里需要一个约束条件,中国有国产操作系统,没有国产商业操作系统。
这里矛盾的是:技术成功≠商业成功。
展开来讲:
1. 技术成功:我能做出操作系统。
很显然国人是完全做得到技术成功的,参见上面三本书就行了,我也相信,中国还是有很多大学生完完全全能做出一个自己的操作系统内核的,不接受反驳,技术资料和相关网站那么多,大学的操作系统课程虽然只讲操作系统的抽象理论,但是一个几千行代码的 OS Kernel 做出来是完全没有问题的。
2. 商业成功:我除了能做出操作系统,还有厂商为我的操作系统开发软件,我能吸引用户,我能销售我的技术成果,进而我能在商业市场占有一席之地。
加上 “商业” 就不一样了,商业环境的复杂情况不是技术成功完全能够改变的,很多时候已经成熟的商业体系根本容不下第三方插足,就像 Android/iOS,Windows Phone 就基本无法插足移动操作系统领域了,很显然,Windows/Linux 成功了,中国的国产商业操作系统很难再改变这一格局,在根本上是兼容性的问题,做出来的操作系统如果不能兼容市面上大多数软件,操作系统基本无法普及开来,本来应该是软件兼容操作系统的,但是,软件厂商出于效益考虑不可能花大成本去兼容一个 0 用户数的操作系统,这就像是 Windows phone 的境遇一样,更何况 Windows Phone 还做得这么优秀的情况下,仍然有部分大厂放弃那 1%,也就可以预计到国产操作系统所面临的现状了。
兼容性是 Windows/Intel 联盟成功的关键,想想安藤架构的失败(虽然没有完全失败),极其强大的兼容性保证了英特尔和微软的商业连续性,进而全面占领商业市场,Windows 也就走向商业成功了。
1.Linux 不是一个人写出的这么强的系统,他只写了你可以理解为现在大学学的操作系统,最后会留的一个大作业的一个水平,只有基本功能,不能商用。
2. 中国也并没有举全国之力做操作系统,而是大部分企业觉得成本太高,有现成的用别人的就行,自己不去做。在操作系统上做 APP 更有性价比。
《操作系统革命》(Revolution OS) 有双语字幕,看完能明白大半。Linus 这种理想主义者,基本上不靠 996 恰饭,成名前也不用担心被七大姑八大姨议论不干正经的赚钱事,芬兰人也不会蜂拥而至复制他的成功。
反对生态系统这种说法。
重头写内核又不是说从头造标准,完全可以写一个兼容 posix 的新内核,应用层该用什么还是什么。
没有重新写的理由只能是做不到。
现代操作系统比当年进步了不知道多少,写起来完全就不在一个难度上。作为比较可以看看 gnu hurd, 这么多年过去了,做到可用了没有?
菜鸟发表一下看法,仅供参考。
首先 Linux 有现在的地位是开源的威力,仅靠 Linus 个人是不够的。你这个问题就很有误导性。另外从某种意义上说操作系统不难,有什么技术难题要攻关吗?中国人写不出可以运行的操作系统嘛?实在不行抄总可以吧。关键费时费力搞一个体验不如 Windows,性能不如 Linux,还没有生态的系统有意义吗?只能说操作系统太复杂,实现一个完善的系统需要积累,Windows 和 Linux 也是发展了这么多年才慢慢成熟,而且都不完美,各有各的应用领域。反正没法一口吃成胖子,中国有没有在积累就不清楚了。
昨天在群里聊天,胡老师发了一个链接,是美国国家科学院院刊(PNAS)上刊发的一篇论文,题目叫“中国、印度、俄罗斯及美国学生在计算机科学领域的能力比较”。我没仔细阅读,但看这篇论文里边的一张张图表,就大概能够了解到:尽管我们中国人聪明、勤奋、 …
知乎用户 匿名用户 发表 大家好,虽然我拥有软件工程方向的硕士学位和计算机方向的高级职称,是一个不折不扣的码农,但是,我其实和篮球圈走得很近。下面我谈谈 “天赐” 是如何助力篮球运动智能化的。 对于国产操作系统 “天赐”,其实第一次听说的时 …
北京明十三陵龙虎山脚下,有一处地势隐蔽的地方,藏着一个叫做 “200号”的科研基地。 在中国,这种只有一个数字代号的机构历来不简单。前有代号“542厂”的北京印钞厂,后有在青海的核弹研究机构“211基地”。这个“200号”由周总理亲自批示、 …
【按:该报道已从财新网删除。】 “透明计算”获大奖引发诸多争议 2015年01月17日财新网 获国家自然科学奖一等奖的“透明计算”,究竟是“开启了计算机新时代”,还是“一个基本无法实现的好概念”,业内存有争议 【财新网】(记者 于达维 实习 …
【按:这些资料已从知乎删除】 知乎如何评价张尧学以及他的透明计算 2015年1月12日 【张尧学透明计算项目获国家自然科学奖一等奖】清华大学教授、中南大学校长张尧学院士率队完成的“网络计算的模式及基础理论研究”项目荣获2014年度国家自然科 …