我们将结束开源的又十年,这是一段漫长而奇怪的旅程。 回顾一下2009年的预测,没有人知道GitHub会永远改变软件开发(对所有人而言),还是微软将从开源贱民变成世界上最大的贡献者,或者发生了许多其他的巨大变化,这是最模糊的线索。在十年之内成为了新常态,但绝非常态。
十多年来,我们都是开源者。 让我们回顾一下让我们来到这里的一些最重要的开源创新。
阴暗的未来
当然,开源在2010年之前成为头条新闻,但是当时的许多开源新闻都是“自由软件”与“开源”宗教战争以及针对Linux的诉讼。 为了运行开源软件,您仍在打电话给IT调配服务器(或使用恰好坐在办公桌下的备用服务器)。 云改变了这一切。 突然之间,开发人员无需从IT获得通行证即可运行其开源代码。 就像开源使开发人员免于购买/法律批准一样,云也使开发人员摆脱了硬件固有的摩擦。
但是,云只是推动者。 正如Corey Quinn所强调的那样 ,基础架构已成为“开源”,尽管不是因为云本身可以在开源许可证下获得:“它在云上运行,但是我可以从GitHub上获取Terraform计划或无服务器配置,并拥有一个并立即进行测试。” 开源许可和对云硬件的轻扫式访问以某种方式提高了开发人员的生产力,这种方式在2010年初(毕竟AWS始于2006年)就已经不明显了,但是直到十年之后才意识到。
一直到Git
“在过去十年中,开放源代码发生的最大事件是GitHub对pull request的介绍,” Tobie Langel宣称 。 他继续说,在云的支持下,“ GitHub提供了开源可见性,并将协作的竞争环境降低了一个数量级。” 协作始终是开源承诺的核心,但是直到GitHub解锁了编码的社交方面才真正成为现实。
正如Michael Uzquiano所说 :“我们以前曾进行过版本控制,但是GitHub / Lab确实使任何人都可以轻松地进行代码分叉,尝试并提供想法。 评论,问题和批准-确实是对代码公开承诺的实现。” Git并非诞生于最近十年,但就像云一样,它直到2010年代才真正繁荣起来。
Docker与容器革命
像版本控制和Git一样 ,容器在2010年后并不是新造的。 实际上,容器的想法最早是在1979年由chroot提出的(尽管种子的播种时间更早)。 但是,正如Steven Vaughan-Nichols断言的那样 ,真正使容器活跃起来的是Docker:“ Docker,或更确切地说,是……Docker技术将容器从晦涩的技术转变为当今软件使用的主体。 它改变了一切。”
一切? 好吧,是的,至少对于企业应用程序开发而言,不是因为它是考虑虚拟化的一种很酷的新方法。 正如戈登·哈夫(Gordon Haff)解释的那样 :“ Docker / Kubernetes之前的容器只是另一种分区技术。” 真正的魔力始于Docker巩固了开发人员的经验,然后,他继续说“事情滚滚而来”,从而彻底重塑了CI / CD管道等等。 十年前,还没有人听说过Docker和Kubernetes 。 上个月,超过13,000人参加了KubeCon 2019,以探索Docker帮助创建的这个现代应用程序世界。
数据科学成为主流
大数据一直是“我们其他人”(即不是Google的公司)的梦想,在2010年之前,我们看到了为实现这一目标而进行的认真努力。 自1970年代以来,我们就已经建立了数据集市,后来又有了商业智能,甚至在2005年甚至看到Roger Magoulas都使用了“大数据”这个词。但是,这些都没有真正预期到数据的大小和关键的数据直到十年来见证Apache Hadoop(创建于2008年)的科学家和数据工程师都将成为自己的人才 ,然后Swift被 NoSQL数据库和其他开源基础架构的浪潮所取代 。
如今,用于存储和流式传输大量数据的基础结构大多是开源的。 无论是像MongoDB这样的现代数据库都可以更轻松地处理非结构化数据,还是像Apache Kafka这样的用于移动数据的工具,开放源代码都可以使现代数据科学成为可能,并且几乎所有这些事情都发生在过去的10年中。
此外,我们用于分析数据的工具也越来越开源。 实际上,许多工具(如TensorFlow)从第一天开始就是开源的,而不是Hail Mary! 试图恢复其曾经广受欢迎的数据分析工具的衰落命运的专有供应商传来的消息。 Python专家Matt Harrison 指出 ,Numpy和Scikit学习已经变得“无处不在”。 在2010年,这两者都不存在。正如Jacob Redding所言,开源一直是使这个世界得以发展的核心:“没有Pandas,Scikit,Jupyter和整个R的世界,数据科学将不会像它那么大。” 当然,所有这些工具都是开源的,从而降低了任何想要尝试新技术的人的门槛。
开源编程语言
还记得关闭编程语言的时间吗? 过去的十年似乎永远关闭了那个时代的大门,甚至苹果公司最终屈服于开源运动,并将Swift开源。 同时,在语言和框架创新的疯狂时期,很多JavaScript框架( Node.js , Angular , React , Vue等)出现了(有时也消失了)。 的确,除了这个JavaScript框架世界之外(正如Alberto Ruiz所建议的那样 ,它们比曾经打算为其构建的浏览器还大),我们还看到了许多新的底层语言,例如Go , Rust和WebAssembly 。
Rich Sharples指出 ,尽管Java向开源的“持续进军”始于2010年, Rich Sharples指出 ,过去十年见证了这一推动力,因为Java的OpenJDK实现继续为该语言注入了新的活力。 然而,展望未来,最高法院对谷歌与甲骨文的迫在眉睫的审查, 丹尼斯·库珀指出 ,将产生巨大的影响,与SCO在当时(在Linux的未来)的威胁一样大。 当然,关系到API的版权保护以及Java的未来。 敬请关注。
十年的曲线球
有趣的是,微软几乎参与了所有这些领域,但微软在史蒂夫·鲍尔默(Steve Ballmer)的领导下开始了十年,仍然在与开放源代码的斗争中表现不佳。 然而,快进到2020年,“微软从最激烈的反开源倡导者(“开源是癌症!”到成为其最大贡献者之一)的转变代表着巨大的变化, Benoit Jacquemont说 。 如今,许多开发人员使用开放源代码的Visual Studio Code作为其代码编辑器,开放源代码的TypeScript来构建Web应用程序以及GitHub来存储其代码。 微软拥有每个。
可能是结束的好地方。 在这十年中发生了太多事情(而且我们甚至都没有谈论过开源Android如何为大部分移动设备提供动力,或者让我们加密对证书颁发机构行业产生的影响,或者开源在机器学习的前沿如何发挥作用,等),但我们还有很长的路要走。 微软的蜕变提醒我们组织和行业可以改变,拥抱开源符合我们的自身利益。 鉴于过去十年的变化莫测,我不敢预测未来十年,除非说它肯定会包含更多开放源代码。
From: https://www.infoworld.com/article/3481661/how-open-source-changed-everything-again.html