原文来自:http://readwrite.jp/archives/9977

不管一个企业多强大,它都不存在和开源社区抗衡的实力



十年前。Unix占有最快的计算机世界排名前10位的五席,以及超级计算机市场的44%。如今怎么样了呢?以往那些凭借着处理能力地位难以撼动的Unix已经被 Linux代替了其位置。别说世界上最快的计算机前十名,就是前50名也没有UNIX的影子。

社区:隐藏的性能助推器

人们并不都是非常清楚的意识到社区的有效性。1999年,SUN公司的首席运行官Scott Makuneri对Linux性能做了例如以下的攻击。

【linux就和Windows操作系统一样,用在设备或client上太庞大,在server上也没有足够的扩展性。我不明确为什么人们从世界各地继续付钱给MS。Linux也是如此】

我们不能说他没有先见之明,在1999年的时候,Linux并不在世界上最快的排名500名之列,Sun Solaris的性能更是遥遥率先于Linux。



然而,Sun Solaris无法战胜的是Linux社区。



SUN公司历史上有众多的创新值得夸耀,但仅仅是作为一个公司不管你多么伟大。你毕竟仅仅是一个公司。今天没有一个公司能有足够的拥有丰富的经验的project师来实现大型的技术架构。







而如今。Linux已经占领了世界前500名超级计算机的97%,Unix仅仅有2%(不包含Solaris)。

活跃​​的社区活动给开源项目带来了很多优势。



1. 採用开源项目是好的

2. 採用开源项目是安全的

3. 採用开源项目能创造很多其它的市场

4. 採用开源项目的成果比竞争对手要更好



社区不仅减少了因为闭源导致问题的风险,同一时候在StackOverflow和GitHub上充实了技术信息。

与开源技术相关的开发人员的数量的增多,提 高了开源技术的市场渗透率。进而促进了第三方社区的形成。这是一个永恒的周期。

这是在一个公司内无法完毕的。

性能问题也随着关联项目的增多而更easy解决。如Linux受到RedHat。IBM,惠普和甲骨文,甚至于SUN的关注而在性能上得到飞快的提高。

出于各种原因,它们对Linux贡献代码做了改进。结果是。Linux不仅功能添加了,性能也得到改善。性能问题也随着关联项目的增多而更easy解决。如Linux受到RedHat,IBM。惠普和甲骨文,甚至于SUN的关注而在性能上得到飞快的提高。

出于各种原因。它们对Linux贡献代码做了改进。结果是。Linux不仅功能添加了。性能也得到改善。

打赌2014年社区的发展

这就是为什么我对于开源项目OpenStack和Hadoop。以及其它开源项目报乐观态度的原因。性能和未来的潜力等等。Linux这十多年的经历过的种种问题仍然存在。可是仅仅要有集中了社区的关注。这仅仅只是是时间问题罢了。

当然也有进展不顺的样例。比方 OpenStack因为缺乏领导力,这个cloud社区在进入市场时蹒跚前行。可是假设可以解决领导力的问题,一个活跃的OpenStack的社区将支持其继续发展。

Linux已经全然统治了这个世界:反对开源社区愚不可及的更多相关文章

  1. 一次向linux开源社区提交补丁的经历

    背景 在开发过程中,偶然发现了spinand驱动的一个bug,满怀欣喜地往社区提补丁.这是怎么样的一个bug呢? static int spinand_mtd_read(struct mtd_info ...

  2. Linux系统默默改变了人类世界的生活方式

    你知道操作系统都有些什么吗?Windows啊.这是我在上大学之前的问答,我当时认为只一种叫做Windows的操作系统,可是我错了,当我上大学以后,作为计算机专业的一名学生的时候我第一次接触到了除Win ...

  3. 从linux看android之二--java世界的盘古女娲

    在linux从内核态进入用户态运行init进程后启动的一个进程就是zygote.zygote是在android系统中创建java世界的盘古,他创建了第一个java虚拟机,同时他又是女娲,他成功地繁殖了 ...

  4. 《linux 内核全然剖析》 chapter 2 微型计算机组成结构

    微型计算机组成结构 系统的基本组成: 软件是一种控制硬件操作和动作的指令流. 2.1 微型计算机的组成原理 当中CPU通过地址线,数据线,和控制信号线组成的内部总线与系统其它部分进行数据通信.地址线用 ...

  5. 《linux 内核全然剖析》 fork.c 代码分析笔记

    fork.c 代码分析笔记 verifiy_area long last_pid=0; //全局变量,用来记录眼下最大的pid数值 void verify_area(void * addr,int s ...

  6. 《linux 内核全然剖析》 mktime.c

    tm结构体的定义在time.h里面 struct tm { int tm_sec; int tm_min; int tm_hour; int tm_mday; int tm_mon; int tm_y ...

  7. 《linux 内核全然剖析》编译linux 0.12 内核 Ubuntu 64bits 环境

    我×.. . 最终好了,大概3 4个小时吧...各种毛刺问题.终究还是闯过来了.. .. ubuntu2@ubuntu:~/Downloads/linux-0.00-050613/linux-0.00 ...

  8. (六)linux 学习 -- 从 shell 眼中看世界

    The Linux Command Line 读书笔记 - 部分内容来自 http://billie66.github.io/TLCL/book/chap08.html 文章目录 字符展开 `*` 路 ...

  9. 《linux 内核全然剖析》sched.c sched.h 代码分析笔记

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/u011368821/article/details/25129835 sched.c sched.h ...

随机推荐

  1. JAVAscript学习笔记 jsDOM 第五节 (原创) 参考js使用表

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. Android开发之漫漫长途 Ⅴ——Activity的显示之ViewRootImpl的PreMeasure、WindowLayout、EndMeasure、Layout、Draw

    该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列.该系列引用了<Android开发艺术探索>以及<深入理解And ...

  3. c#中的Out, params,ref 细说并沉淀

    1. Out,params,ref之前先记录平时用的最多的按值传递参数的情况,当然默认情况下参数传入函数的默认行为也是按值传递的. 1: //默认情况下参数会按照值传递 2: static int a ...

  4. CLR类型设计之泛型(二)

    在上一篇文章中,介绍了什么是泛型,以及泛型和非泛型的区别,这篇文章主要讲一些泛型的高级用法,泛型方法,泛型接口和泛型委托,协变和逆变泛型类型参数和约束性,泛型的高级用法在平时的业务中用的不多,多用于封 ...

  5. kafka 集群搭建

    环境:ubuntu14.04 版本:jdk1.8,zookeeper 3.4.10,kafka 2.11 搭建步骤: 1. 搭建zookeeper集群 参考链接:zookeeper集群搭建 2. 下载 ...

  6. 去培训机构参加IT培训值不值

    近几年,IT培训机构可谓是琳琅满目,稂莠不齐.培训Java的,培训PHP的,培训大数据的等等吧,不一而足. 自己也算是IT技术圈子待了好多年了,面试过一些机构培训出来的学生,也有几个好哥们在培训机构做 ...

  7. 并发容器之写时拷贝的 List 和 Set

    对于一个对象来说,我们为了保证它的并发性,通常会选择使用声明式加锁方式交由我们的 Java 虚拟机来完成自动的加锁和释放锁的操作,例如我们的 synchronized.也会选择使用显式锁机制来主动的控 ...

  8. 使用DataFlow表达ControlFlow的一些思考

    一.控制流 从接触面向过程语言开始,使用控制流编程的概念已是司空见惯. if (condition) { // do something } else { // do something else } ...

  9. ERROR: unable to bind listening socket for address ’127

    ERROR: unable to bind listening socket for address '127.0.0.1:9000′ 解决办法: killall php-fpm 然后重启即可. 我的 ...

  10. PHP基础知识点

    //语法错误(syntax error)在语法分析阶段,源代码并未被执行,故不会有任何输出. /* [命名规则] */常量名 类常量建议全大写,单词间用下划线分隔 // MIN_WIDTH变量名建议用 ...