标签 开源 下的文章

Nilesh Vaghela 是 AWS 的 社区英雄 community hero ,也是一家云计算开源公司 ElectroMech Corporation 的创始人。据 Nilesh 说,为开源做出贡献本身就是一种有意义的事。但是它需要人们的投入和奉献,而这个过程涉及许多步骤,从选择项目到确保你的贡献成果获得关注。在与 OSFY的 Abbinaya Kuzhanthaivel 的对话中,他分享了一些关于开发人员如何帮助提高印度对开源的贡献的技巧。

Nilesh Vaghela, AWS 的社区英雄以及 ElectroMech 公司的创始人

问:你能告诉我们一下你目前的角色和对开源的贡献吗?

答: 我目前是一名从事自动化工作的架构师。我领导着多个团队,并且同时主要在开源安全服务平台 Invinsense 上作出贡献。我在 1998 年初创建了开源小组,当时已经有大约 1500 名成员。我现在管理的一个小组 (https://groups.google.com/g/vglug) 自 2014-15 年以来一直非常活跃。

问:你是如何开始在开源项目中工作的?

答: 我是一名有着从业资格的机械工程师,当时我在我的公司 ElectroMech Corporation 负责调制解调器和 UPS 系统。我慢慢地被拖入负责 PC、网络和 Linux 等等。1996 年,我在核科学中心看到超过 150 台计算机服务器在 Linux 上运行时广受启发,之后便开始尝试。自此我将我的公司完全转变为专注于培训和支持的开源公司。

我可以自豪地说,我是最早一批使用开源的人 —— 帮助客户了解什么是开源、它有什么好处、什么是免费的、安全或代码问题等等。我们在 Vadodara 得到了至少四五个客户,并且最终通过黄页上的广告宣传自己。我们与 Red Hat 合作并且关系一直持续到现在。

问:自那以来你认为开源发展如何?

答: 我可以说,早些时候,开源是一种令人着迷的强烈爱好,吸引人们参与其中。当一些来自西伯利亚的贡献者致力于改善水资源短缺问题时,世界各地的用户都说他们的产品有多么简单易用,这给我留下了特别深刻的印象。它更像是一项企业社会责任(CSR)活动。人们和专家创建一个委员会来管理和推进项目。人们会因为对技术的热爱而加入进来,没有任何期望。

那时我并不相信开源可以商业化,但它是当今大多数创新和技术的驱动力,而且越来越多的企业正在采用它。我们期待在贡献和使用开源方面取得很好的平衡,因为我们有个人、社区和大公司参与进来。这才是开源真正的未来和力量。

问:你可以分享一些自己遇到的困难吗?

答: 最初我是单枪匹马干,但一旦人们知道我的意图是好的,他们就会加入我。我在没有任何期望的情况下创建了很多社区,但确实在声誉或名望方面间接地获得了回报;有人理解我是技术达人,并长期给我项目。在早期,人们刚开始加入社区并且不需要付出很多精力就可以做出贡献。因为我的目标不是做生意,因此可以说我没有真正面临什么障碍。

问:作为社区领袖,你的领导格言和经验教训是什么?

答: 首先,如果你想建立一个社区,那就保持中立,不要抱有偏见。虽然看起来好像是你作为领导者正在管理一个社区,但请记住,加入社区的人都是平等地做出贡献的。永远不要让成员失去动力。在发表评论和回答问题时要有礼貌。不管是什么问题,如果你不想回答,那就选择沉默。但别让人们停止提问,而是帮助他们建立专业知识。

第二,不要让社区掺杂商业。不要让社区的目标和你个人企业的目标产生混淆和互相匹配。将它们严格区分开来。

始终尝试鼓励人们参与,而不是作为专家提供指导。如果你发现人们有兴趣领导项目并采取主动,请给出舞台让他们发挥。邀请他们参与社区活动。这将帮助你培养更多的社区领袖。此外,让你的社区保持简单,不要在初始阶段让赞助商参与进来。

问:你从谁那里得到了灵感?

答: 开源运动之父 Richard Stallman 是我的灵感来源,我一直很钦佩他的项目。

除了他之外,我还有一个有趣的事要分享,它激励着我从事开源工作。在我开始从事开源工作的时候,核科学中心的大部分软件都是基于 Windows 操作系统的。然而,许多科学家希望使用基于 Linux 的软件。在两三个月内,他们实际上创建了 Linux 驱动程序。这就是让我着迷的地方——用户可以创建这些驱动程序,这在专有软件中是不太可能发生的。我真的很喜欢开源赋权用户这一点。

问:你对印度开源格局以及改进空间有什么看法?

答: 印度是使用开源的人最多的国家(LCTT 校注:或应加上“之一”),我们正致力于成为贡献者。有这么多开发者,印度却仍然没有软件巨头。我们拥有的主要是服务提供者,而不是创新者。更多的人应该成为开源的贡献者,去开发具有国际标签的东西。

为开源做贡献的想法应该从学校和大学抓起。幸运的是,古吉拉特邦政府已经在 8 年级到 10 年级里推出基于 Linux 的课程。教育年轻一代并让他们了解开源模型很重要。

其次,我们要培养好的导师。当人们开始贡献时,找到一位在这个项目中工作的开源导师很重要。导师给出了一个小任务,尝试代码然后提交。如果一切顺利,成员的贡献会逐渐增加。不幸的是,在印度导师很少。我们需要有很多导师,或者可以与世界各地的导师建立联系。

第三是要鼓励那些踊跃贡献的人。让人们发现,一旦你成为了一位广受认可的开发人员或为开源开发做出贡献的人,你在职业发展和业务上也会有所突破。

通过遵循这些简单的方法,印度可以成为开源的主要贡献者。

问:你如何看待为开源做出贡献时编程方面的要求?

答: 根据我的经验,如果你知道计算机内部的知识,如何开发应用程序,你应该维护什么样的代码标准,以及如何管理团队和其他最佳做法,你可能不必担心编程专业知识。

在设计、安全维护和整合方面还有其他角色可以担任。看看你合适什么。通过做你喜欢的事情来不断提升加强自己的技能。如果你仍然对编码感兴趣,那么你就在其他开发人员的支持下去学习。

问:你如何确定一个你想参与的项目?

答: 你需要了解你最感兴趣的几个领域,然后对围绕这些领域发生的项目进行研究。你需要弄清楚哪些领域有招募更多志愿者的需求或职位空缺。 你可以从小处着手练习,然后积累专业知识。

避免随大流;重要的是你的个人兴趣。例如,因为现在 DevOps(开发运维一体化)的需求量很大,你便可能更倾向于选择 DevOps 项目。不要犯这个错误。

你可以在云原生基金会(CNCF)、Apache、Fedora、Red Hat 等平台上找到开源项目。通过这种方式,你还可以找到已经在从事项目并可以给出适当指导的导师。

问:每个项目有自己的目的和目标受众,有时它们甚至与开源目标不一致。那么,在开始做出贡献之前要核实什么?

答: 我同意,当有人开始一个开源项目但随后又将其商业化时,你会感到为开源作出贡献也变得颇有难度。但这样的风险总是会有的,不应让你对此感到挫败。

首先试着去了解该小组 —— 小组中的贡献者有多受欢迎,他们贡献了多长时间,以及他们的声誉如何。一旦你加入,观察每一个人和每一件事是关键。尝试至少学习三到六个月,并了解一切是如何运作的。如果你发现他们的意图不对,你可以随时离开这个项目。但如果你觉得没问题,那就继续做贡献吧。

ElectroMech 公司的团队

你可以看看他们是否有某些许可证,例如 GPLv3。你还可以查看未修改的许可证版本,例如 Apache 开源许可证。

问:你觉得大公司会接受应届生投稿吗?

答: 是的,当然。公司也喜欢指导新人。他们通常不允许你直接贡献,但可能先会给你一个小任务。导师会首先尝试了解你拥有什么技能以及你的能力如何。一旦他们认可你具备所需的技能,他们将继续指导你或根据你的技能将你分配给其他导师。初始阶段非常关键。很多公司都会做一些筛选,只有在你证明了自己的能力之后,你才会被允许做出贡献。

问:贡献者在接手项目时必须克服的最初挑战是什么?

答: 首先,你应该非常认真地对待你的贡献。没有书面承诺,贡献者可能倾向于对工作掉以轻心。这种想法是完全错误的。尝试每天投入 8-10 小时或任何可行的时间。如果你因为觉得没有立竿见影的回报而不愿投入其中,那么你就不是一个好的贡献者。

在最初阶段始终严格遵守导师的指导。这对于健康的贡献非常重要。有时你可能会认为自己擅长某事,而你的导师可能不会根据该技能给你分配项目。在这种情况下只需找你的导师,问他你应该做什么,你的角色是什么,以及你可以如何贡献。

问:许多开发人员在提交项目贡献后没有得到回复。如何让自己提交的东西被人注意到呢?

答: 写一篇关于你计划作出贡献的项目的小博客,包括你喜欢的方面,你不喜欢的地方,以及可以改进的地方。这种积极的推广方式可以帮到你很多。

成为小组的一员并参与与该项目相关的活动。作为贡献的替代,首先尝试参与到团队中去,这将增加你被采纳为贡献者的机会。

一旦你对项目有了更好的了解,你的工作不仅会被接受,而且你将能够更好地适应该项目。

问:你如何克服你的贡献不被接受的情况?

答: 就是理解发生这种情况的原因有很多 —— 也许你没有在合适的项目中,或者你没有做出正确的贡献。如果项目是国家驱动的,你的请求可能不会被接受。因此,如前所述,请记得列个清单。如果你的贡献没有被接受,请不要担心,因为要么你不适合该项目,要么该项目不适合你。

我会建议尝试找四到五个项目,并且至少有一个项目会接受你所做的工作。

问:你对我们的读者有何想说的?

答: 开源是当今大多数创新背后的驱动力。让我们根据自己的能力和技能试着做出贡献,而不是仅仅使用开源。贡献可以是代码、文档、测试、博客、金钱等。是时候做出贡献了。

问:ElectroMech 公司有招人的计划吗?

答: 我们在云计算 DevOps(开发运维一体化)方面有需求,正在招聘云架构师、Python 开发人员、Linux 架构师和安全专业人员。


via: https://www.opensourceforu.com/2022/06/its-time-to-contributing-to-open-source/

作者:Abbinaya Kuzhanthaivel 选题:lkxed 译者:XiaotingHuang22 校对:校对者ID

本文由 LCTT 原创编译,Linux中国 荣誉推出

谷歌正在开发基于 Blink 的 iOS 浏览器

当前的 iOS 版 Chrome 浏览器使用了苹果的 WebKit 渲染引擎,这是因为苹果要求每个 iOS 浏览器都必须使用 WebKit。但据称,谷歌的 Chromium 开发人员已经开始使用谷歌自己的 Blink 引擎为 iOS 开发一个实验性的浏览器。谷歌坚持说这是一个实验,“目的是了解 iOS 上性能的某些方面”,并不打算发布。但是,这个基于 Blink 的浏览器可能是为欧洲的竞争规则做准备,这些规则看起来将要求苹果停止要求其他浏览器必须使用其 WebKit 引擎。

消息来源:The Register
老王点评:就看欧盟能不能敲开苹果的外壳了。

谷歌将在下周披露挑战 ChatGPT 的 AI 工具

据报道,谷歌将在 2 月 8 日披露挑战 ChatGPT 的 AI 工具。该活动将围绕“使用 AI 的力量重新想象如何搜索、探索和与信息互动,使得比以往任何时候更自然、更直观的找到所需要的信息”。谷歌有大量的人工智能技术,但它大多不对公众开放。它有一个名为 LaMDA 的聊天机器人语言模型,和一个名为 Imagen 的图像生成 AI。不过,谷歌有对互联网上其他流行事物反应过度的历史,这些 “克隆竞争对手” 的项目在 “谷歌坟场” 里随处可见。

消息来源:Ars Technica
老王点评:或许,谷歌真的不必慌?

GitHub CEO 认为开源开发者应被豁免于欧盟的《人工智能法案》

欧盟议会即将在未来几个月表决的《人工智能法案》旨在解决人工智能在我们日常生活中日益增长的影响。批评者认为,该法案可能会给通用人工智能系统(GPAI)带来法律责任,并赋予大型科技公司更多的权力和控制权,因为独立的开源开发者没有资源来应对法律纠纷。GitHub CEO 在欧盟开源政策峰会上说,“因为最终这要归结为人。开源社区不是一个实体的社区。它是一个人的社区,合规负担应该落在实体身上,应该落在正在交付产品的公司身上。”

消息来源:Tech Crunch
老王点评:和 之前(#894) 的《网络弹性法案》一样,这些方案在要求加强监管和合规的同时,也无视了开源的社区本质,很可能影响到开源文化的根基。

一份用简单直白的语句来解释开源的新手指南。

要是你想要(或需要)知道 开源 的意思究竟是什么。我会介绍开源的一些基础,无论你是对项目贡献感兴趣,还是在想要融入的新工作圈子里总是听到这个名词,因为这个词总是被人不断的提起。

我坦白,我这个人没什么技术经验,在极具技术性的开源社区中从事着内容设计的边缘工作。考虑到我原来的背景是营销与传播,我决定换工作时感觉就像离了水的鱼儿。Git、数据科学、软件的来龙去脉……直到一年后的今天,我依然感到难以消化。

但这正是为什么我要写这篇文章。我想要让开源变得不那么令人生畏。毕竟,开源的中心是一个支持型的学习社区 —— 这个社区对所有人开放,无论你是否有技术经验。

我会从基础中的基础开始。

什么是开源?

在此声明,业界对开源的定义可以在 开放源代码促进会 Open Source Initiative 的网站找到。

然而,大众对“开源”软件的认知通常为它不用花钱,它的源代码是公开的,任何人都可以对其贡献,你可以重新发布它或者用它做任何你想做的事。

这里面有些是真的,而有些则属于常见的误解,其中之一就是关于花费。

开源只要 0 元

这是真的吗?大部分情况下是,但不是所有情况。开源软件的本质在于代码的公开性,所以获取软件本身确实不需要花费。但是,依赖开源项目营利的公司也确实存在。但如果软件不需要花钱,开源公司又是如何生存的?他们该如何盈利?

拥有“免费产品”这个概念本身是反直觉的。但你要知道:一个公司不一定要靠出售软件来赚钱,它也可以从产品的管理,数据的储存,以及对客户的支持中获利。

很多公司都采用了订阅模式,他们提供客户支持服务以帮助客户解决软件问题并为客户解答疑惑。数据储存也并非免费,这也是能为公司带来收入的另一领域。从这个角度来说,在销售的“产品”不是软件,而是订阅服务。

  • 开源代码是公开访问的:这是真的吗?是的,永远都是。“开源”一词的先决条件正是这份公开性。源代码必须允许被查看、使用、修改和重新发布。
  • 你可以用这份代码做任何你想做的事:这是真的吗?依情况而定。许可证条款会对你对代码的使用方式作出限制,但你通常都可以用代码做你想做的事。无论是调整该项目以满足特殊需求,还是以此为基础做些别的,开源软件允许你和其他所有人对其修改。
  • 任何人都可以贡献开源项目:这是真的吗?是的,但有限制。所有有 合适技能 的人都可以贡献开源。但是,这不意味着所有的贡献都会被接受和采纳。

比如说,你对一个目标是对地球上所有的鸟类进行分类的项目感兴趣。你恰好很喜欢恐龙,特别是那些最终进化成如今的鸟类的恐龙。于是,你为所有最像鸟类的恐龙提交了条目。项目所有者在看到这些后可能会想:“不错,这都是些很棒的史前鸟类。”但他们也可能会认为:“嗯……这些恐龙看起来像鸟,但他们还不是鸟,因此他们不属于鸟类百科。”

幸运的是,项目里的工作通常有法可依。开源项目通常有着贡献指南和行为准则,所以你不用担心你会加入什么使得项目脱轨的东西。

为什么选择开源呢?

那么,在众多贡献之后(如果这些贡献完成的话),为什么人们愿意免费赠送他们的软件?如果有那么多人为此付出了时间与精力,他们为什么不能联合起来为软件明码标价?

这个问题有很多回答。我在这里给出了一些:

  • 创业是艰难的,如果你开发的项目展现不出赚钱的潜力则尤其如此。召集一群志同道合的人,没有承诺也没有对薪水的期望,相对而言要简单得多。
  • 大部分开源社区的成员对软件的改进或者实现感兴趣,但他们没有时间或者不愿意将项目作为他们的全职工作。有时候开源代表的是热情驱动的项目、极客组成的团体,还有凝聚众人智慧对恼人问题的解决方案。
  • 围绕各种规模的开源项目形成的团体促进了支持型社区的成形,在这里贡献者与旁观者都可以练习他们的技能,改进他们常用的软件,互教互学,并为发声被听到而感到振奋。很多开源社区本质上就是高度集中的线上爱好者俱乐部。

我该如何参与呢?

现在你可能会问你自己:“我知道了这些信息又可以做些什么呢?我能贡献开源项目吗?如果我不够优秀的话该怎么办?”

不要害怕 —— 即便是 新手 也欢迎为开源项目做贡献。在与社区一起朝着更大的目标共同努力的同时,你也得到了一个磨练技能的绝佳机会。况且,正如我之前所说,最坏的情况也不过是你的提交不被“鸟类百科”所接受(而这也是因为项目的所有者看不到你对鸟类百科的愿景,那是一片关于鸟类知识的网络天地,鸟与他们的祖先在那里愉快地共存)。

你需要会写代码来贡献开源吗?与大众认知相违的是,你不需要。项目“需要举全村之力”以兴旺,这意味着他们需要来自不同背景的人的贡献。视觉设计师、撰稿人、营销、评审、翻译、主题爱好者,甚至只是最终产品的用户,都是可贵的贡献者。他们不仅是帮忙搭建并改进了产品,他们也识别出了漏洞,提出了修改建议,为项目做出宣传,最终使得社区强大。

简单来说,不论你的背景是什么,经验有多少,只要你对开源或是某个特别的项目感兴趣,你几乎可以保证会被张开双臂欢迎。

现在就加入开源吧

还是不确定应该从哪开始?这里有些能帮助你的想法和资源:

  • Up For Grabs 是一份“专门为新贡献者策划任务的开源项目清单。”这里很适合新贡献者们来寻找简单的初次 PR 机会,这次机会也能让你探寻你更喜欢哪种贡献。
  • 来看看 GitHub 上的这份 新手友好项目 列表吧。
  • 如果你还是缺乏灵感,考虑一下贡献(或一起“飞”) 红帽 Red Hat 的开放设计系统 PatternFly
  • LCTT 夹带私货:你还可以通过参与 LCTT 的翻译工作来首次体验如何参与开源,这几乎简单到你只需要懂一点点英文和一些热情,本文就是由开源贡献者翻译贡献而成的。入口在此: https://linux.cn/lctt/

via: https://opensource.com/article/22/11/get-started-open-source

作者:Katie Edwards 选题:lkxed 译者:yzuowei 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

欧盟拟议的《网络弹性法案》可能对开源产生可怕的影响

欧盟拟议的《网络弹性法案(CRA)》被称之为软件产品的 “CE 标志”。它有四个具体目标,其中之一要求制造商在 “整个生命周期” 内提高数字产品的安全性。对于软件开发商和硬件制造商来说,这将增加新的网络安全要求、合格评估、文件和报告义务的直接合规成本。这个成本预计将达到 290 亿欧元,但预计可以减少安全事件带来的成本为 1800 至 2900 亿欧元。问题是,自由软件开发者如何能够承担合规成本?这可能打破了开源生态系统的社会契约:免费提供用于任何目的的开源软件,可以自由修改和进一步分发,但作者、贡献者或开源分销商没有保证或责任。

消息来源:Dev Class
老王点评:我觉得,开源软件的基石不容触动,CRA 尽可以去约束那些商业的专有软件。

美国联邦调查局黑掉了勒索团伙

美国联邦调查局的政府黑客闯入了勒索团伙 Hive 的网络,并对该团伙进行了监视,窃取了该团伙用来解锁数据的数字密钥。然后他们提前提醒受害者,以便他们能够在 Hive 要求付款之前保护他们的系统。美国司法部表示,多年来,Hive 入侵了 80 个不同国家的 1500 多名受害者,勒索金额超过了 1 亿美元。周四,Hive 的网站被查封,并在该网站显示了查封信息。政府黑客对 Hive 的监视从 2022 年 7 月开始直到被查封前,都没有被 Hive 发现。

消息来源:路透社
老王点评:政府黑客技高一筹啊,看来是懒得和勒索黑帮玩下去了。

2022 年 FreeBSD 没有达到筹款目标

FreeBSD 发布了其 2022 年第四季度的状态报告。根据报告,他们 2022 年的筹款目标是 140 万美元,而截至现在大约是 114.7 万美元。他们正在考虑引进一个能够鼓励组织投资于 FreeBSD 的人。报告中其中值得关注的信息还有:发布工程团队正在努力推出 FreeBSD 13.2;正在开发集成应用容器 Vessel,以类似 Docker 的界面向应用开发者展示许多 FreeBSD 的特性。

消息来源:Phoronix
老王点评:FreeBSD 的日子比起来 Linux 惨淡得多,但是 FreeBSD 依旧带来了很多技术进步。

回音

  • AI 律师(#874)背后的公司受到多个州的律师协会 起诉,称未经授权进行律师执业活动在某些州属于轻罪,因此原定于 1 月 22 日的 AI 律师参与的庭审被取消了。

谷歌请回创始人帮助谷歌以打赢 AI 之战

上个月,谷歌的创始人拉里·佩奇和谢尔盖·布林与该公司高管举行了几次会议,以应对 ChatGPT 对该公司的搜索业务的挑战。对谷歌来说,ChatGPT 看起来似乎可以提供一种在互联网上搜索信息的新方法。这两位创始人自从 2019 年离开谷歌的日常工作后,就没有在该公司呆过多少时间,他们审查了谷歌的人工智能产品战略,批准了将更多聊天机器人功能纳入谷歌搜索引擎的计划并提出了想法。

消息来源:《纽约时报》
老王点评:当年靠着搜索变成了一家独大,如今却有可能被 AI 掀翻。

苹果开源了 40 年的 Lisa 操作系统

作为苹果 Lisa 电脑发布四十周年庆典的一部分,苹果通过计算机历史博物馆公开了 Lisa OS 3.1 操作系统的源代码,它采用了苹果学术许可证协议,包括 26MB 源代码,超过 1300 个源文件。苹果 Lisa 发布于 1983 年 1 月 19 日,其名字来自于乔布斯的女儿。它是一款基于鼠标 GUI 的商用计算机,但由于太过昂贵而在商业上失败,苹果于 1985 年终止了该项目。但它为之后的 Macintosh 奠定了基础。

消息来源:计算机历史博物馆
老王点评:欢迎苹果公司将古老的操作系统“文物”放入博物馆。

美科技公司反对对科技算法提起诉讼

在美国最高法院关于 YouTube 算法的一个关键案件中,众多企业、互联网用户、学者甚至人权专家为大科技公司的责任盾牌辩护,他们认为,如果将人工智能驱动的推荐引擎排除在联邦法律保护之外,会对开放的互联网造成全面的改变。他们表示美国联邦法律《通信礼仪法》第 230 条对网络的基本功能至关重要,该法条被用来保护所有网站使其免受第三方内容的诉讼。他们认为,允许对科技行业算法提起诉讼的裁决,可能会甚至导致未来对非算法形式的推荐提起诉讼,并可能对个别互联网用户提起有针对性的诉讼。

消息来源:CNN
老王点评:算法有罪吗?有意的算法作恶应该被惩处吗?无意的算法错误应该被惩罚吗?黑盒式的 AI 决策的责任该由谁承担?这个信息时代打破了很多既有认知。

回音

  • 受到批评后,CNET 暂停 了用 AI 辅助(#883) 撰写文章,并辩称,“我们不是秘密的做,而是悄悄的做。”

作为一个偏爱 在桌面电脑上使用 Linux,并鼓励使用开源软件的人,你可能期待就标题中提出的问题得到一个响亮的肯定回答。

然而,我并不打算仅限于讨论开源软件的优点。让我们一起探索更多观点!

在本文,我计划分享我关于开源软件是否安全的思考,以及哪些事情与开源软件的安全性相关。

为什么你需要关注开源软件是否安全?

不论你是使用 Linux 系统还是使用其他类型的操作系统,你都会在某种程度上(直接地/间接地)被开源软件所包围。

举个例子,大多数专有软件工具依赖于某种形式的开源库来保证其正常工作。

此外,各种规模的公司(包括谷歌、微软和 Facebook)依赖开源软件或者以某种途径向开源社区贡献资源是有原因的。

因此,开源软件的安全性是有必要了解的。

有关开源软件安全性的迷思

虽然有多种理由证明开源软件在安全性方面的缺陷,然而其中一些实际毫无意义。

任何人都可以查看并恶意利用开源软件代码

是的,开源软件代码对于任何人都是可访问的。但是你可以查看代码并不意味着你可以利用它。

不现实。

即使任何人都可以复刻(或者拷贝)该软件,原始软件也不能轻易地被修改使用。

通常,项目维护人员(或者维护团队)管理代码仓库,并且接受来自贡献者的提交。开源软件代码在接受之前会被审查。没有人可以就这样劫持代码。

不论是开源软件还是闭源软件,攻击者都需要付出努力来利用软件中的代码漏洞或者添加恶意代码。

没有专职团队,安全性无从谈起

很多人相信如果开源软件没有专职人员或者专职团队,维护软件安全性是困难的。

恰恰相反,由于各种各样类型的贡献者的加入与离开,开源软件获得了来自更大范围的开发者的更多关注。

他们可能比由专有软件所聘用的少数开发者更能够发现安全问题。

一些来自 Mozilla 等同类公司的项目拥有自己的专职团队来高效处理安全问题。同样的,大部分成功的开源项目拥有大量的资源用于保障安全性。

因此,开源软件的生态系统是安全性的组合包。即使没有专职团队,开源项目也可以得到来自各类贡献者的帮助,他们中的一些很大程度上是有利可图的,这有助于他们投入更多的精力。

开源软件是安全的,以下是原因

既然我们已经澄清了这些有关开源软件安全性的迷思,让我重点展示一下开源软件是如何处理安全问题的。

换句话说,开源软件在安全性上的优势。

请不要忘记,开源软件的优势也是 Linux 比 Windows 更好 的一些原因。

更多的眼晴关注开源软件代码

不像专有软件,(对开源软件的)代码访问并不局限于少数几个开发者。

一些开源项目甚至可能拥有数以万记的开发者可以查看代码、审查它们并标记和修复其中的安全性问题。

相比闭源软件,这给予了开源项目拥有快速识别问题并尽快修复它们的能力的优势。

不仅仅限于拥有更多的开发者,企业通常也会参与他们所使用的开源项目。当他们这样做的时候,他们也会查阅代码并审查它们。

这提供了另一条外部审查的途径,而这可能有助于提升开源软件的安全性。

反之,就闭源软件而言,数量有限的开发者可能并不能找出所有种类的安全问题。而且他们可能需要花费更长的时间来一一修复发现的问题。

社区决定安全问题的优先级

闭源软件的开发者可能在处理什么问题和什么时候解决问题等方面有某些限制或者优先等级。

而如果是开源项目,贡献者社区可以自行决定优先级,并自行安排他们想解决的问题以及决定合适修复问题。你不需要依赖于供应商的决定或者按照他们的指示来解决一个安全问题。

着手处理和修复安全问题的决策在开源软件项目中更加透明和灵活。因此,它可以被证明是更有效的,并为你带来以下三个益处:

  • 透明度
  • 不依赖供应商
  • 更快的安全更新

开源软件不是防弹的,以下是原因

虽然在某些情况下,开源软件可能在安全性上具有优势,然而仍有一些因素影响它。

承认这些问题的存在是很重要的,据此,企业或者个人可以就开源软件的安全情况做出更好的决定。

并无足够的眼睛来审查代码和不确定性

即使开源软件代码可以被全世界的开发者自由访问,项目没有足够的贡献者/开发者彻底审查开源代码的可能性仍然存在。

既如此,我们不能对开源软件的同行审查抱有极高的信心,因为它恰好缺失了这一点。

开源软件可能“声称”拥有最高的安全性因为它们是开源的。在没有足够的开发者致力于该项目时,这是一种误导。

同样,我们也无从得知有多少开发者在查看/检查代码,也不知道代码的检查进行到什么程度了。

举例而言, 心脏出血漏洞 Heartbleed 是在一个被广泛使用的项目(OpenSSL)中引入了 2 年以后才被发现的。

软件责任与问责

对于个人用户这可能并不重要,但是开源项目通常并无任何保证

因此,如果一家公司使用它,它们必须自行承担任何由该软件使用造成的数据丢失与损坏。

这告诉你,没有什么是 100% 安全和没有漏洞的。无论有多少眼睛聚焦在代码上或者贡献者的技术多么精湛,总会存在某种形式的风险,无论是安全风险还是数据丢失。

这告诉我们一个现实:开源软件并非防弹的。

开源软件有其更高安全性的优势,但是...

就安全性而言没有什么优胜者。不论是闭源还是开源,当涉及安全问题时都适用同一套原则。

有很多外部因素可以影响软件安全性,而其中很多因素并不依赖于源代码

必须以某种形式监控代码,以保证安全。

是的,开源道路提供了闭源软件所不具备的优势,但是这并不意味着开源软件是防弹的。

你对开源软件安全状况有何思考?你又是否认为开源软件比专有软件解决方案更好呢?

提前感谢你在下面的评论中提出的宝贵意见。


via: https://news.itsfoss.com/open-source-software-security/

作者:Ankush Das 选题:lujun9972 译者:CanYellow 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出