2016.06.15 丨 壹佰案例
顺应潮流 - Sun公司软件开源经历对今天的启发
2016.06.15 丨 壹佰案例
Sun Microsystems 创建于1982年。1995年Sun Microsystems开发了[Java]技术,第一个通用软件平台。在1997年Sun Microsystems开始推出其新的64位元服务器家族[Sun Enterprise 10000]。同年又开发出[Java 2]。
Sun Microsystems在行业中被认为是同行中最具创造性的企业之一,在1993年跻身财富500强却在2009年被甲骨文收购。
苏虹林于1996年加入在Sun公司,到2008年离开,前后12年。早期从事产品的系统工程师,后来在公司硅谷总部作为系统软件的产品经理。
本次我们邀请到苏老师分享在这日出日落的过程中的产品研发经历,从软件开源的角度去看待,从而让大家得到启发。
Sun公司是美国硅谷创新历史中的一个案例。硅谷(英语:Silicon Valley)位于美国加州北部,旧金山湾区南部,最早是研究和生产以硅为基础的半导体芯片的地方,因此得名。硅谷是高科技技术创新和发展的开创者,该地区的风险投资占全美风险投资总额的三分之一。
Andy Bechtolsheim(上图左三)当时是斯坦福大学的研究生。他为斯坦福大学设计了个人使用的计算机辅助设计(CAD)工作站,这个产品成为了Sun公司的第一个产品Sun-1。用的是Motorola 68000 芯片来支持Unix 操作系统。
1982年2月,斯坦福大学的Vinod Khosla, Andy Bechtolsheim, 和Scott McNealy成立了Sun公司。他们说服了伯克利加州大学的Bill Joy 以创始人身份加入。
Bill Joy是软件的高手,他在学生期间,开发了BSD操作系统。其他人以BSD为基础,发展了许多现代版本的BSD,比如著名的Free BSD,Open BSD,Mac BSD,苹果公司的MAC OS操作系统在很大程度上也是基于BSD。
除了BSD之外,他引人注目的贡献还包括TCP/IP、vi、NFS和C shell,如今这些软件都已经广泛的使用在Solaris、BSD、GNU/Linux等操作系统中,而且开放源代码给其他人无偿使用、改进,为自由软件的发展作出了极大的贡献。
网络就是计算机,公司的理念顺应时代的发展,推动技术的开放和创新。不得不说,Sun公司的理念,产品和市场营销,对我们很有吸引力。
Sun公司对行业的贡献很多,比如NFS开放的网络文件系统。Solaris功能很强大,也是用的很广泛的UNIX操作系统。JAVA作为跨网络跨平台的编程语言和应用平台,以及SPARC,处理大量网络和后台业务的处理器。
为什么从1982年成立到2000年之间,Sun公司能取得巨大的成绩,开放的理念和开源是重要的原因。网络就是计算机,Sun工作站最早将网络功能作为标准配置。公司当时把NFS的所有竞争对手开源,把市场做大,间接获取收益。当越来越多的设备连接到网络,Sun公司的服务器成为全球网络中心的首选。在中国亦是如此,但是在九十年代中国国家的校园网络,邮电97工程等大量的项目也都采用了Sun的服务器。今天Elon Musk(Telsa)将电池、电动车的相关技术开放,其实也是同样的道理。
在九十年代,Sun公司面临巨大的挑战。但是在我加入Sun公司的时候,微软的Windows NT开始从家庭进入到了高端工作站的市场。Intel 的处理器越来越强大, Linux操作系统很流行。我当时在美国读书的时候,在校园里已经逐渐感觉到从Solaris往Linux上迁移。
现在回过头来看,其实在九十年代Sun还是有很多机会能从当时的挑战中做出一些选择。Sun公司的Larry McVoy于1993年提出Solaris开源建议。在Larry提出的开源建议中,就明确指出,微软在九十年代是所有的Unix厂商不只是Sun公司,包括IBM、惠普等等这些Unix厂商的最大的威胁。因为软件商业模式在改变,尤其是基础软件和操作系统,只有通过免费和开源,才能让Unix系统换发活力。因为在当时,基本上每一个Unix厂商对于很多基础软件都在做相当程度上的重复开发。
大家感兴趣的话,可以了解:
http://www.landley.net/history/mirror/unix/srcos.html
这个开源建议非常详细,与公司理念完全吻合,如果Sun公司能在在九十年代采纳并推进这个建议,历史真的就会改写。
遗憾的是到了九十年代中后期,Sun公司的硬件业务随着.com和互联网快速增长,而忽视了软件开源的实施。
Java语言作为一个应用平台在九十年代中后期也是异军突起,但是没有在商业上为Sun公司翻身。虽然Sun公司在2000年之后曾经把公司的股票代码从Sunw改成了Java,但是Java始终没有为Sun公司带来更多的商业利益。.com的泡沫破灭之后,Sun公司做了很多开源尝试,几乎将公司所有软件开源。但是只开源还不够,并没有改变公司的命运,公司最终还是被Oracle收购。
那么现在回过头来看Sun公司在软件开源所做的一些尝试,的确有很多感慨,软件开源是大势所趋,而且也特别适合中国国情。开源给企业带来的好处有目共睹,它能有效降低企业应用软件的门槛,因为开源软件用的人多,软件的安全性、可靠性比专业软件更有效。那么作为软件开发公司,只宣布开源是没用的。选择开源的时机,背后活跃的社区,以及商业计划等因素才能帮助建立一个健康的产品生态环境。
大家有兴趣的话欢迎参加MPD深圳站的演讲,我会做一个专题演讲,题目是“用理念驱动产品设计和团队建设”,期待跟大家在深圳见面!
Q&A
Q:国内的BAT其实在有些技术上并不输给国外的大公司,但是在开源的道路上落后很远,好像也只有阿里的前端开源的比较多,为什么中美会有这么大的差异,国外的技术团队是看到了哪些收益才这么拥抱开源的
A:不仅是在公司层面的比较,在中美之间,在很多方面,比如说高校之间,中国很多高校在硬件指标方面其实跟美国几乎没什么差距,但是在创新能力、很多相关内涵和基础研究等等方面还是需要下很多功夫,这里面牵扯到的内容还是很多的。
在国外不少做开源的程序人员,他们对于开源的理念,热情等等,很多发自内心的想去做对开源有意义的事情,这种理念都值得我们去学习。
"Let's build something meaningful" 这是硅谷和不少开源公司的理念。他们关注的不是收益,而是一种理想。
推荐书:The Open Organization: Igniting Passion and Performance
Q:请问想这样一家公司,乐于开源,是程序员曾经是程序员向往的技术基地。Sun Microsystems在行业中被认为是同行中最具创造性的企业之一,乐于尝试新的软件方式和定价模式等等,在1993年又进入财富500强。那是什么因素导致Sun业绩迅速滑落,以致最后被甲骨文收购,那我们可以借鉴到的经验和坑又是什么呢?
A:从大的方面来说,Sun公司在2000年初,.com泡沫破灭之后,他的大的客户金融、电信随之衰退,公司很多业务受到影响,但问题在于,其他的客户,不管是Dell、IBM、惠普,他们这些公司都能从.com泡沫中恢复出来,但很遗憾的是Sun没能走出低谷。
Q:我想知道一个公司如果想很好地利用开源软件 怎么做会比较好,怎么判断我是不是适合用开源软件还是自己写呢?
A:时机很重要。简单的宣布开源是远远不够的,活跃的开源社区和开源的商业计划等因素才能帮助建立健康的产品生态环境。如果已经有活跃的社区跟相关的开源的功能,我的建议还是应该尽量去利用开源,这样会更好。我觉得时机很重要,而且社群的活跃程度很重要,如果想自己做开源,且只有自己一家公司在做,而没有一个活跃的社区在后面做支持的话,那么简单的宣布开源是没有意义的。
END