现在是2016年,你环顾一下四周,开源早已无处不在了。开源无论是规范、形式、以及面貌都和最初的大相径庭,然而事实上,这也预示着新一代的开源程序员们的崛起。下面我们尝试解释下。

(以下这一段落为作者自谦)

为了避免我是在互联网上散步谎言的嫌疑,我需要声明几代的想法纯属虚构。我很清楚这其中并没有某人是某人生理上的下一代,我清楚的意识到只是说哪些第一个写自由和开源软件的前辈们,而且说上个世纪的事情。

作者解释了题目,以免产生一些不必要的误解。比如 Python 编程语言的技术研讨会就会经常被环保主义者抗议。根据常识,一代这个概念用于衡量文化的变革是个非常不错的概念,如果读者能够从这个角度来看待自由和开源软件的话,我认为你可以很容易的看出三个分离的代。

第一代开源人

第一代是 Richard Stallman 那一代。Richard Stallman 在上世纪80年代发起了自由软件运动,他们创建了GNU和FSF,而这就是差不多十年后Linux能够诞生的基础。他们也更加的倾向于视自由软件为一种道德讨伐,而且他们在相对主流的技术世界仍然是处于边缘的位置。

第二代开源人

第二代的来临则是伴随着 Linux 内核的诞生而开始的一代,他们是第一次能够访问能够正常运行的自由/开源操作系统的一代,而此操作系统是 Linus Torvalds 的内核加上 GNU 的套件组合而来的。
(作者在此声明,他至今没有完全搞清楚自由软件和开源软件的区别。)

关于自由软件与开源软件的区别,恐怕是作者故意所为,或者是讽刺那些视自由软件,或者对 GPL 许可证无视对人们的吧。

第二代相比于第一代要少一些思想,Torvalds 和他的追随者或合作伙伴们之所以青睐开源主要是因为其带来的功能,而道德的原因很小。他们认为这是一种更加有效的编码方式,能够以更加便宜、平民的方式使用电脑。但是,他们仍然保持独立,没有成为某些大企业的爪牙。

第二代开源人也是将 GNU/Linux 带入主流的一代。他们所写就的代码不仅是开源的操作系统更加的完善和实用,而且在追求至高,能够和专业的闭源平台进行正面的竞争。他们在上世纪末和本世纪初面临的是和微软这样的大鳄的艰苦斗争,关于此,年轻一代的程序员可能难以理解。在2000年左右的那些个不怎么活跃的开源程序员或用户,会想当然的认为,他们使用 GNU/Linux 并不会担心会被起诉。

当下这一代

也就是说的第三代的开源程序员和用户们,他们长大成人后,GUN/Linux 已经是部署在数百万台服务器上运行的操作系统了,此时已经没有人再质疑开放源代码的价值了。对于这一代人来说,开源是毋需争议的默认选择。

基于这个原因,什么理想、什么功能主义统统都销声匿迹了。今天多数的开源程序员不曾放弃代码是因为他们认为这是在道义上正确的事情,或者说他们认为这样更加的高效。他们这样做的原因其实是没有更多的项目让他们去选择。从云计算(其中,OpenStack更是说明这事的根本)到大数据(什么Hadoop、Spark、以及正在吞噬专有软件地盘到NoSQL数据库)乃至SDN,甚至是NFV,开源都是占主导地位的。如果你是在这些生态系统中做事情的话,你一定得用到开源代码。

很大一部分开源的支持者都毫无疑问的认为这是好事情。在另一方面,有些人也开始担心,开源界正在失去前两代人所努力争取的东西。对于许可证的使用的趋势基本都是 Apache,而放弃了 GPL,这对哪些认为 Apache 许可太过于宽松的人来说,更加的紧张不安。

同样,在开源领域,企业对其的影响是越来越大--尤其是大家最近争论的 Linux 基金会改变了某些章程--引起了社区各界的各种紧张。

最后说一点,声明这是非常重要的一点。开源社区最近几年在拉拢着微软,这虽然对于第三代开源人来说是比较正常的,但是那些曾经在昔日战斗过的人们是坐立不安的。

开源真的已经进入了一个全新的时代,再也回不去了?这是一件好的事情吗?这些都是很主观的问题。但是值得我们去深思,尤其是我们正在准备迎接 Linux 内核25周年的这个时刻。

原文地址:http://www.infoq.com/cn/articles/foss-historical-review


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

FOSS历史回顾:三代开源人的故事相关推荐

  1. COSCon'22 杭州会场回顾 | 谁说开源人只懂代码不懂玩?

    COSCon'22 开源社/KAIYUANSHE    10月29日 COSCon'22第七届开源年会杭州分会场 在大家不太整齐的"比yeah声"中 圆满结束 开源年会虽然落幕了 ...

  2. OCR研究与发展的历史回顾

    Historical Review of OCR Research and Development 文章目录 摘要 1 介绍 2 OCR的黎明 3 试一试的时代 3.1 模板匹配方法 3.2 结构分析 ...

  3. 压缩软件大比拼历史回顾:ZIP与RAR

    压缩软件大比拼历史回顾:ZIP与RAR 前言--王者归来? 等待足足两年之久,压缩霸主WinZip终于在万众期待下发布了 9.0 正式版.全世界自然一片沸腾,在世 界各大知名下载网站中,WinZip9 ...

  4. 中国星际争霸历史回顾(重写版)

    作者:[AOQ]Cat -------------------------------------------------------------------------------- 这个事情并非说 ...

  5. Datawhale x 开源社,COSCon'22 这场开源人的年度盛会不容错过!

    COSCon'22 开源社/KAIYUANSHE    作为业界具有广泛影响力的开源年度盛会,2022 第七届中国开源年会 (COSCon'22) 将于 10 月 29 日 - 30 日在线上(元宇宙 ...

  6. 《OpenGL超级宝典(第5版)》——第1章,第1.1节计算机图形的简单历史回顾

    本节书摘来自异步社区<OpenGL超级宝典(第5版)>一书中的第1章,第1.1节计算机图形的简单历史回顾,作者 [美]Richard S. Wright , Jr.Nicholas Hae ...

  7. 贾扬清感谢信:阿里开源10年,致敬千万开源人

    整理 | 夕颜 [导读]2019 年 10 月,有人曾根据 www.gharchive.org  的数据整理出一份 2019 年GitHub 开源贡献排行榜,获取 GitHub 2019 年的 Pus ...

  8. 知识图谱(历史回顾及技术挑战)

    知识图谱的基础知识 什么是知识? 知识的形成分为下面四个部分,数字附上量纲信息结合生活尝试变成知识,如今天13度,直接穿件衣服就出去啦 知识的体系主要有陈述性知识和程序性知识,右侧游戏规则需要认为设置 ...

  9. 编程语言的发展趋势及未来方向(1):历史回顾及趋势概述

    大家好,我是Anders Hejlsberg,现在是微软的Technical Fellow,担任C#编程语言的首席架构师,也参与并领导.NET Framework以及各种语言的开发.我现在打算谈一下- ...

最新文章

  1. 并发容器CopyOnWriteArrayList
  2. java session使用_使用Neo4j和Java进行大数据分析 第2部分
  3. The Changing Face of Business Intelligence(正在改变中的BI的脸)二
  4. 单选按钮_PerlTk教程之按钮Button、复选按钮Checkbutton、单选按钮Radiobutton(附完整代码)...
  5. 在scrapy中parse函数里面xpath的内容打印不出来_如何正确的使用Scrapy ?
  6. golang import中的.和_的使用,import的几种方式点,下划线,别名
  7. Java使用正则表达式抓取日期和访问量
  8. 通过while循环一步步实现九九乘法表
  9. XNA 3.1 转换到 XNA4.0 的备忘录
  10. Hbase-day03_java操作hbase_hbase_各种过滤器使用
  11. 移动广告平台有哪些,各有啥优缺点?
  12. WebRTC音频处理流程简介
  13. 利用clamav为程序添加查毒功能
  14. 乐高创意机器人moc_LEGO MOC 国外资源分享 之二十四 创意机器人集粹一
  15. 浏览器打不开网页 服务器停止响应怎么办,浏览器打不开未响应怎么办
  16. canvas压缩图片或者进行视频抓拍
  17. 日期格式符RR和YY的区别
  18. python画图时,中文无法正常显示的问题,RuntimeWarning: Glyph 26631 missing from current font. font.set_text(s, 0, fl
  19. 字符串匹配 (KMP)
  20. WPS表格级联菜单设置方法

热门文章

  1. 针对SharePointFarm场时安装部署OWA的步骤
  2. 设计模式--6大原则--单一职责原则
  3. 做移动互联网App,你的测试用例足够吗?
  4. 聊一聊Yarp结合Nacos完成服务发现
  5. C#的dapper使用
  6. C# 是否可以将 动态或匿名类型 转成 强类型 ?
  7. 没有违反GPL,他们真的给了源码
  8. RabbitMQ 入门:2. Exchange 和 Queue
  9. C# :异步编程的注意点
  10. 在IIS中部署SPA应用,多么痛的领悟!