作者介绍

何宝宏(何博):工业和信息化部电信研究院标准所副所长,工业和信息化部科技委委员,数据中心联盟(DCA)常务副理事长。

1999年毕业于中国科学院,获计算机应用技术博士学位。长期从事互联网技术、标准和管理等的研究,主导完成10余项国际标准,申请专利10余项,主持完成多项国家级项目。

软件从开源走向商业化

1950-60年代,计算机的主要用户是学术机构,所采用的商业模式是卖硬件送软件。硬件是商业企业生产的,是工业产品,是用来卖的。软件是科研机构出品的,是硬件的附属品,是用来送的。

“卖硬件送软件(含源码)”的计算机商业模式,有着非常现实的原因:

1.认识。当时业界的共识,软件是知识而不是产品,因此应遵循学术原则而不是商业逻辑。

2.市场。送软件源码可以让用户DIY,以便自己排除BUG、增加新功能、兼容不同硬件和不同操作系统(OS)等。

3.安全。那时计算机安全机制根本不存在,OS的日志功能还不流行,用户担心闭源软件会有后门等。

进入70年代,计算机厂家不再免费送软件了,更别提送开源的了。原因大致有三个:

1.行业风向标。1969年,计算机带头大哥IBM,在反垄断诉讼的巨大压力下,让硬件与软件分离,停止了免费送软件。

2.小型机和PC的兴起,计算机用户激增,对软件的需求也多样化了,没法送了。

3.操作系统和编译器等,基础软件技术日益成熟和复杂,用户没必要和也很难DIY了。

基于以上几点,在比尔盖茨等人的忽悠和努力下,软件开始卖了,作为一个独立行业兴起了。新的行业需要新的玩法,于是闭源、二进制代码、版权、授权和版本号等,让软件行业利益最大化的游戏规则,开始逐步建立了。

软件从开源走向商业化,不仅使得微软、Oracle等软件巨头崛起了,也让对软件的认知,从知识走向了商品,从开源走向了闭源,背离了早期软件开放、共享、协作和免费等的理想和信念。

自由软件和开源软件

于是,被人称为“最后一个黑客”的 RMS 等黑客们愤怒了,先是提出了自由软件(Free Software)的理念,后来又整出了开放软件(Open Software)的方法。

◆自由软件是理想主义者的Logo,是信仰,是道德,要求我们尊重每个人使用软件的自由,涉及的是对与错的问题。

◆开源软件是现实主义者的Logo,是价值观,是方法论,提出有一个开源开发的模式,不涉及对与错的问题。

一个自由软件应该是开源的,但只有部分开源软件是自由软件。如果说自由软件是共产主义的理想,那么开源软件就是社会主义初级阶段。

更加接近商业现实的开源软件,不仅得到了学术界的继续支持,也得到了产业界的大力支持,明显更接地气。

软件行业诞生于计算机行业,是软硬件分离的产物。互联网是硬件、软件和通信融合的结果,是计算机之间需要连接的产物。

整个互联网的设计,就像一台放大版的计算机,只是从本地扩展到全球了,把总线从物理的扩展成逻辑的了,把I/O从外设扩展到整个计算机了。

事实上,设计互联网的早期专家,大多是操作系统背景的。

进入80年代,软件业反超硬件业,成为拉动计算机行业前进的核心引擎。

互联网就是开源软件的外延

进入21世纪,互联网超越软件,成为拉动计算机行业和通信行业的核心引擎。而90年代的联网功能,只是计算机一个可有可无的附加功能,并且还需要专门购置的外置猫和通过电话线。

互联网与开源软件,采用了几乎相同的理念和方法。比如:

◆互联网开放网络接口,小蛮腰模型,压制网络服务商,为消费者和ICP扩权。互联网服务的发布主张快速迭代,Running Code和客户体验。

◆开源软件通过源码开放,释放代码自由,压制软件开发商,为用户和硬件厂家扩权。开源软件主张早发布,频繁发布和倾听客户。

无论如何开放,都必须遵循一些最基本的游戏规则。以Request For Comments(RFC)为代表的互联网标准,其理念和产生流程等,与开源软件几乎是一模一样的。

RFC和开源软件本质上都是标准,只是一个是给人阅读理解的,用自然语言的;一个是给机器阅读理解的,用机器语言写的。

80年代初,BSD Socket 明确定义了 Unix 和互联网之间的标准接口,并且被集成到了开源的BSD-UNIX中去,极大促进了互联网的兴起。

Unix的核心理念是模块化和工具化,强调一个系统的价值来自程序之间的关系,而不是程序本身,这与TCP/IP的核心理念,简直就是孪生的。

其实这种KISS(Keepit Simple and Stupid)原理,是70年代的主流思想,不仅是在计算机界。

90年代互联网的崛起,让开源拥有了一个完美的支撑工具。源代码的传播先是主要靠BBS,后来增加了UUCP、Usenet、IRC和Gopher等工具,现在是P2P、BLOG、SNS和Git工具等。

Linux因互联网而生。在Windows如日中天的90年代,Linus Torvalds 几乎靠一己之力和互联网的力量,成功实现了Linux。Linux的成功说明:

  对于大型复杂软件的开发,不仅只有大教堂模式(微软为代表)一条路;借助于互联网的力量,集市模式(以众包)也可以成功。

2008年,微软首席执行官史蒂夫·鲍尔默说,“Linux是癌症”。

互联网让开源更加盛行

甚至 Open Source 一词,也是因为互联网的直接产物。1998年1月,为了抗衡如日中天的IE浏览器,网景公司发布了Navigator浏览器的源代码,为了区别于之前的 Free Software,业界开始启用了Open Source这个新名词。

反过来,互联网也得益于开源的成功。操作系统Linux,安全通信OpenSSL,数据库My SQL,门户工具Apache,排版引擎Webkit,手持终端Android,网络Open Daylight,云计算Open Stack,大数据Hadoop等,这些借助开源互联网而起的开源软件,今日又成了互联网的基石。

没有互联网就没有开源的今天,没有开源就没有互联网的今天。先是Open Source over Internet,然后Internet over Open Source。开源与互联网,同根同源,相同的理念,共同的兴趣,成了一对好基友。

作者:何博
来源:51CTO

开源和互联网是天生的一对好基友相关推荐

  1. 开源工业互联网联盟推出“数字健康”开源项目

     关注ITValue,看企业级最新鲜.最具价值报道! 本文来源@开源工业互联网联盟 | 2020年2月6日,由开源工业互联网联盟发起"数字健康"(Digital Health)开源 ...

  2. 《金山卫士开源--让互联网拥抱安全》语音互动实录

    12月22日,金山网络安全技术研发中心过程改进经理,参与了主题<金山卫士开源--让互联网拥抱安全>的公开YY语音,与网友们进行了深度的互动,为广大网友答疑解惑有关金山卫士的详情. 嘉宾简介 ...

  3. 一款基于java的超级棒的开源支付系统(用来毕设也不错),国内首款开源的互联网支付系统

    最近年初刚开始了,小编想着应该会有很多公司开始冲一波今年的业绩,既然是冲业绩,就离不开我们的支付系统,所以小编就去网上给大家找到了一款超级棒的开源支付系统!帮助大家从头到尾了解清楚这其中的逻辑! 所以 ...

  4. 开源是互联网发展的核动力

    互联网发展的核动力是什么?人们往往认为是技术本身. 也有人认为技术还要分个三六九等.什么技术比什么技术高深,什么技术比什么技术简单,等等. 这些往往也害了我们自己.其实技术都是人创造的,都是我们的未来 ...

  5. 互联网 性能 开源_开源的互联网25年及未来

    互联网 性能 开源 始于1969年的ARPANET如今已成为今天我们所知的Internet. 今年3月12日标志着万维网的25年. 当...开始时 1989年3月,欧洲核子研究组织(CERN)的科学家 ...

  6. spark 算子使用类变量_Scala与Spark是天生的一对?

    在Spark诞生之初,就有人诟病为什么AMP实验室选了一个如此小众的语言--Scala,很多人还将原因归结为学院派的高冷,但后来事实证明,选择Scala是非常正确的,Scala很多特性与Spark本身 ...

  7. 互联网天生本质与产业大局的开始

    互联网天生本质与产业大局的开始 互联网,即广域网.局域网及单机按照一定的通信协议组成的国际计算机网络.关于互联网的本质的问题,业界.学术界有很多说法,抛开互联网的技术属性.媒体属性和社会属性,我们单纯 ...

  8. PPDE英雄帖!广邀全球开发者执开源之桨,汇百川成海

    允中 发自 凹非寺 量子位 编辑 | 公众号 QbitAI 1976年,当时初出茅庐的比尔·盖茨发表了著名的<Open Letter to Hobbyists>,在这份公开信里,盖茨首次将 ...

  9. 代码投毒、删库跑路,开源生态链安全该如何保证?

    [CSDN 编者按]这两天node-ipc作者往开源代码投毒一事引起热议,在此之前出现了Log4j2事件,与Marak Squires删库事件,一时间大家都议论纷纷.热议之后,我们不妨品读一下开源社理 ...

  10. 很多年之后,我才知道关于互联网营销的很多说法都是无稽之谈

    01.关于竞争优势的积累 在一定的时间内,竞争优势越积累越好.但更长的时间看,你今天成功的原因,可能就是明天失败的原因.你今天所有的积累,也会成为明天的巨大负担.其实不光是互联网,很多传统产业也如此. ...

最新文章

  1. CentOS安装VSFTP及配置用户
  2. 转货币格式和 rgb转hex
  3. Linux下使用MySQL——忘记root密码及修改MySQL默认编码
  4. 【数据竞赛】“达观杯”文本智能处理挑战赛5
  5. 1031 Hello World for U
  6. 总的秒数等于几小时几分钟几秒(Python)
  7. 风洞试验计算机控制模块,计算机控制风洞
  8. PHP中||与or的区别
  9. C#绘制立体三维饼状图(超酷)
  10. HTML5文件上传插件 Huploadify V2.1发布
  11. 产品设计体会(6010)有关网站改版
  12. 修复Mac无法进入睡眠模式的技巧
  13. 菜鸟初步设计的开放平台框架
  14. 大学计算机基础:信息处理技术实验教程,大学计算机基础实验教程
  15. 人生就像一张茶几,摆满了各种杯具/洗具/餐具!
  16. ssh远程访问控制(一)
  17. 2019网络小说十大口碑神作盘点,诡秘剑来谍影覆汉牧神学霸皆在
  18. Element UI, Ant Design Vue
  19. (与运算)、|(或运算)、^(异或运算)的含义
  20. 《程序员》2012年12期精彩内容:2012这一年

热门文章

  1. Vue-Layout(可视化布局)
  2. C#维特智能蓝牙5.0加速度陀螺仪角度姿态传感器协议解析
  3. 从面试官的角度聊聊培训班对程序员的帮助,同时给培训班出身的程序员一些建议
  4. matlab求含参数一元三次方程,matlab 求解一元三次方程,带其他参数
  5. 计算机相关的外国文献,计算机发参考文献外国 计算机发参考文献有哪些
  6. size of的用法总结
  7. android获取摄像头视频分辨率,相机自定义拍照录像,可设置分辨率、焦距、无声录像、支持横竖屏...
  8. Android锁屏壁纸 代码,android 锁屏壁纸和桌面壁纸的设置实现
  9. TensorFlow北大公开课学习笔记-3.1张量计算图会话
  10. 怎样在线生成ICO 图标?图片怎么转ICO图标?