前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >开源开放的魅力|为什么转向、贡献和使用开源软件

开源开放的魅力|为什么转向、贡献和使用开源软件

作者头像
TARS基金会
发布2021-04-21 10:55:59
3610
发布2021-04-21 10:55:59
举报
文章被收录于专栏:TARS基金会TARS基金会
作者简介:Isabella Ferreira 是加拿大蒙特利尔工学院的在读博士生,也是TARS基金会的Ambassador,为TARS社区贡献了许多博客文章、教程视频以及电子书,与广大的开源爱好者分享关于开源软件以及社区的见解。本文翻译自她的文章《Why you should switch to, contribute and use open source software》,将介绍一些对开源文化和开源模式的解读。

在2016年攻读硕士学位期间,我有机会深入了解开源软件(Open Source Software)。从那时起,我一直在研究开源开发,并爱上了它的协作性以及编写和使用软件的方式。从那以后,我一直在倡导开源项目,并通过许多不同的方式支持开源社区。开源开发让我印象最深的是,它的协作性允许快速创新,从而带来许多未来的探索发现。

虽然开源的概念似乎是最近才兴起,但它在70年代末和80年代初就已经被定义为一个实际的术语。对于那些不熟悉这个术语的人来说,开源是一种技术开发和发布体系,在这个体系中,从设置开发新特性的Roadmap、修复Bug、代码审查到源代码本身等等都是公开透明的。通常情况下,还会有一个由开源爱好者组成的管理委员会,或一家公司,或基金会,对项目进行公开管理。

开源无处不在!从最小的嵌入式系统到电脑、手机和我们每天接触的公司的基础设施。例如,当你在家里观看Netflix的视频时,你启动了亚马逊网络服务(Amazon Web Services),其中大部分在Linux系统上运行,而Linux则是最大的开源项目之一。如果你有一个安卓手机,那么你每天都在使用Linux系统。不仅如此,下一代技术中的许多应用程序都是开源的,例如,谷歌在2015年开源了它的人工智能引擎TensorFlow。

开源如今已被大型科技公司所认可。例如,IBM斥资340亿美元收购开源公司Red Hat,微软则斥资75亿美元收购代码托管和协作平台GitHub。最后,沃尔玛刚刚发布了自己的开源软件[1](文末附链接)

有很多原因,用前面提到的Tensorflow为例来作解释。当谷歌开源Tensorflow时,不仅公司、研究人员和开源爱好者能够使用这个科技巨头的技术构建应用程序来做翻译任务,外部开发人员还能向该开源软件贡献代码,并根据每个人的需求作出改进。目前,除了谷歌之外,已有超过1300名开发者致力于贡献TensorFlow。

在这种情况下,开源Tensorflow的优势是什么?通过开源工具,谷歌帮助TensorFlow成为开发人工智能应用程序的标准框架之一,从而促进其他依赖人工智能的技术领域发展。此外,开源是一种有价值的营销手段,能够让更多的人使用该软件。在谷歌开源Tensorflow之后,Dropbox和Airbnb已经使用TensorFlow来识别文档和照片中的文本。

另一个例子是中国科技巨头腾讯开源了微服务框架TARS的源代码。TARS现在已成为了一个开源基金会,正致力于建立一个强大的微服务开源软件社区。在TARS成为开源项目之后,不仅项目本身的各项功能在来自世界各地的开发人员贡献下不断更新迭代,而且开源的模式还帮助了该项目吸引和留住更多的技术人才。

通过以上,我希望你已经看到了开源软件项目的许多优点。接下来,让我们看看为什么应该开源项目,使用开源软件或为开源开发做出贡献。这里提出以下三个原因。

供应商中立

开源软件支持供应商中立。这意味着,无论你是用户,公司还是国家,都不会局限于其他公司的技术栈,Roadmap或授权协议[2]。随着RISC-V芯片的兴起,芯片设计师将不再局限于英特尔或ARM。例如,由于有了OpenRAN项目,5G网络的建设者就不会被迫从诺基亚或爱立信购买产品[2]

安全性

你可能会认为,开放项目的源代码会使其更容易受到攻击。事实是,当公开代码库时,安全专家可以很轻松地对其进行测试并提高技术安全性。操作系统Linux和云容器编排系统Kubernetes是开源中安全性的很好的例子。

合作与分享带来创新

社区是开源开发的核心。在一个多样化和创新的环境中做出贡献有助于创建一个全新的组织,原因有三。首先,开发人员需要与其他人合作,解释事情是如何运作的,并寻求帮助(特别是如果你是社区的新人)。学习和教学的行为可以给每个参与的人带来很多益处[3]。其次,开源社区里有不同技能、经历、国籍和性别的人。通过重视环境的包容性和多样性,开源的团队会变得更具创新性。最后,开源模式是具有透明度,减少层级和开放沟通的实践,而这些实践是鼓励动力和创新思维的最佳引导。

开源开发依赖于一个充满激情的开发人员社区。要想在开源中取得成功,我相信用户、开发人员和公司之间必须持续合作。尽管开源开发可能会遇到问题(就像生活中的每一件事一样),利大于弊。多元化的团队构建更好的项目、更好的软件,正是开源所要达到的目标。

附文中链接

[1]

https://www.wired.com/story/wired-guide-open-source-software/ [2]

https://www.wired.com/story/opinon-the-future-of-american-industry-depends-on-open-source-tech/ [3]

https://opensource.guide/how-to-contribute/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-04-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 TARS星球 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
代码托管
CODING 代码托管(CODING Code Repositories,CODING-CR)是为开发者打造的云端便捷代码管理工具,旨在为更多的开发者带去便捷、高效的开发体验,全面支持 Git/SVN 代码托管,包括代码评审、分支管理、超大仓库等功能。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档