为什么要开源?

这篇具有很好参考价值的文章主要介绍了为什么要开源?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

什么是开源?

开源软件是其源代码已由其版权所有者公开的软件。在真正的开源许可证下,软件是协作开发的,其他程序员可以查看、修改或使用自己的代码。这种“纯”开源模式通常被称为FOSS(自由和开源软件)。

开源的一个变体是“源代码可用”,这意味着没有授予修改或以其他方式使用代码的权限,但它可供检查。出于安全目的,这与真正的开源一样好,因此当我在本文中提到“开源”时,我包含“源代码可用”的代码。

什么是闭源?

大多数软件都是由商业公司编写和开发的。可以理解的是,这些公司热衷于不让其他人窃取他们的辛勤工作或商业机密,因此他们使用加密隐藏他们的代码,以免被窥探,任何未经许可使用或修改代码的尝试都将导致诉讼或更糟。

那么问题出在哪里呢?

正如我所说,这一切都是可以理解的,但是在安全性方面,它提出了一个主要问题。如果没有人能看到程序所做的事情的细节,我们怎么知道它没有做恶意的事情呢?基本上我们不能,所以我们只需要信任所涉及的公司,这是我们偏执的安全类型不愿意做的事情(有充分的理由)。

为什么开源是最好的解决方案?

如果代码是开源的,那么它可以由任何有资格这样做的人独立检查和审计,以检查是否存在后门、漏洞或其他安全问题。开源不是一个完美的解决方案(见下文),但它是验证软件是否只做它应该做的事情的唯一方法。

即使代码尚未经过审核,它可免费进行审核的事实也强烈表明它是可以信任的,因为开发人员不太可能包含恶意代码,然后让任何愿意查看的人发现它。

不是一个完美的解决方案...

不幸的是,拥有审核开源软件(通常是免费的)的技能和时间的人数量有限,这意味着绝大多数开源程序尚未经过审核。

这个问题变得更加复杂,因为许多开源程序非常复杂,包含成千上万的代码行,所以即使它们已经过审计,审计人员也完全有可能错过了一个问题(特别是如果恶意代码被故意隐藏)。

但。。。

因此,开源并不能保证程序是“干净的”,但它仍然是我们拥有(或可以拥有)最好的保证。另一种选择是闭源,不提供任何保证。

始终验证开源程序

因此,开源对安全性非常有用。耶!但是你怎么能确定你刚刚下载的开源程序没有被以某种方式篡改呢?

这听起来像是妄想的阴谋幻想,但在 2016 年 <> 月,最流行的 Linux 开源操作系统版本之一 Linux Mint 的网站遭到黑客攻击,下载者可以使用该操作系统的受损版本,

"黑客制作了一个修改后的Linux Mint ISO,里面有一个后门,并设法入侵我们的网站以指向它。"

受感染的Linux ISO映像安装了带有Internet Relay Chat(IRC)后门Tsunami的完整操作系统,这使攻击者可以通过IRC服务器访问用户的系统。所以威胁是非常真实的。

在这种情况下,费心对文件的 MD5 哈希进行校验和的下载者会发现欺骗,但这种哈希检查并不是可靠的保护,因为如果网站首先可以被黑客入侵,那么用验证所包含文件的虚假校验和替换已发布的校验和是微不足道的。

对于开发人员来说,更好的是对其软件进行数字签名,以便用户可以验证文件的来源(Mint 开发人员在这方面非常宽松,因为他们的软件没有进行数字签名,甚至使用的 MD5 哈希函数也已知已损坏!

请参阅我的文章 数字签名 - 为什么以及如何使用它们以获取更多信息。不幸的是,验证数字签名是一种痛苦,但如果您关心安全性,这是必要的。

我还应该指出,理想情况下,所有软件都应该进行数字签名和验证,但由于任何人都可以自由修改开源代码,因此它比封闭源代码更容易篡改。因此,验证开源程序尤为重要。

开源:结论

开源不是一个完美的解决方案,但它提供了最好的(也是唯一!)保证软件是可信的。另一种选择是闭源,它不提供任何保证(除了对公司的盲目信任,这是科技公司不值得的信念)。文章来源地址https://www.toymoban.com/news/detail-616847.html

到了这里,关于为什么要开源?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 为什么要用开源容器?

    说到开源容器,大家首先想起来的应该是Docker吧,那么我们就以Docker来从个人角度理解一下为什么要用开源容器。 通常都会说Docker开源容器,但是Docker 实际上是一个开源的应用容器引擎。Docker是一个基于轻量级虚拟化技术的容器,整个项目基于Go语言开发,并采用了Apache 2

    2024年04月16日
    浏览(48)
  • 为什么开源语言大模型很重要?

    在LLM领域,开源究竟意味着什么?假设开源社区拥有了真正的开源LLM,其权重、数据集、代码和基础设施都可公开获取,我们又将从中获得哪些重要收益? 本文作者为Vikram Sreekanti和Joseph E. Gonzalez,前者是Aqueduct的联合创始人及CEO,后者是加州大学伯克利分校的教授和Run LLM联

    2024年02月05日
    浏览(48)
  • 为什么程序员都喜欢开源的软件?

    程序员宝藏库 :https://gitee.com/sharetech_lee/CS-Books-Store 商业软件 :下载、安装、注册账号、登陆、看广告…费了半天功夫之后发现竟然收费! 开源软件 :开放透明、完全免费。 这么明显的对比,为啥不喜欢用开源软件呢? 以PDF阅读为例,这类商业软件不少,用的时候会发现

    2023年04月09日
    浏览(46)
  • 为什么超 80% 的开源开发者苦苦挣扎在贫困线?

    【CSDN 编者按】开源开发者究竟该如何生存?这是一个业界为之困扰许久的问题。如果开发者只从事开源项目工作、且没有其他收入来源的话,那么开源项目的捐赠就是他们的工资。事实证明,超过80%我们以为具有可持续性的项目实际收入都低于行业标准,甚至苦苦挣扎于贫

    2024年02月08日
    浏览(37)
  • 为什么 Midjourney 效果远远好于开源的 Stable Diffusion Model?

    midjourney之所以让你觉得效果好,是因为他是一个更接近于应用层的工具,你就聊聊天对对话,他就能给你很好的反馈,内部的调优都封装成黑盒,不太需要你去关心 而stable diffusion更适合爱折腾,懂折腾的专业一点的人去学习去了解,他是一个更接近于可自定义的工具,你可

    2024年02月16日
    浏览(30)
  • 我为什么使用Jumpserver开源堡垒机?以我的应用场景为你解答。

             上一篇文章介绍了“Jumpserver开源堡垒机的LDAP同步配置和MFA多因子认证功能的优化”收到一位小伙伴的私信感觉他对堡垒机的概念都不是那么的清晰,那可不就是曾经第一次接触堡垒机的我吗,于是我便想再写点什么。         我们都知道堡垒机的最大作用其

    2024年01月19日
    浏览(63)
  • Redis的速度不够用?为什么你应该考虑使用 KeyDB,一个更快、更强大、更灵活的开源数据库

    你是否正在使用 Redis 作为您的数据结构存储,享受它的高性能、高可用的特性?如果是这样,那么你可能会对 KeyDB 感兴趣。 KeyDB 一个由 Snap 提供支持、专为扩展而构建的开源数据库。它是 Redis 的高性能分支,专注于多线程、内存效率和高吞吐量。KeyDB 采用 MVCC 体系

    2024年02月08日
    浏览(53)
  • 阿里云/腾讯云国际站账号:私服游戏服务器:阿里云CTO周靖人:AI时代,为什么阿里云一定要做开源

    开源技术报告, 阿里云私服游戏服务器 怎么看待大模型的路径? 随着 Meta 的 Llama2 开源,开源模型,以及聚集大模型开发者的开源社区,正在发挥不可或缺的作用。 一个例子是,上个月 Hugging Face 得到了谷歌、亚马逊、英伟达、Salesforce、AMD、英特尔、IBM 和高通的共同投资。

    2024年02月06日
    浏览(41)
  • 【全网首发开源教程】【Labview机器人仿真与控制】Labview与Solidworks多路支配关系-四足爬行机器人仿真与控制

    🎉欢迎来到Labview专栏~四足爬行机器人仿真与控制 ☆* o(≧▽≦)o *☆ 嗨 ~我是 小夏与酒 🍹 ✨ 博客主页: 小夏与酒的博客 🎈该系列 文章专栏: Labview-3D虚拟平台 文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏 📜 欢迎大家关注! ❤️ 🔸 四足机器人整

    2024年02月03日
    浏览(36)
  • Netty为什么高效,为什么这么受欢迎?

    上篇文章通过 Java NIO 的处理流程与 Netty 的总体流程比较,并结合 Netty 的源码,可以更加清晰地理解Netty。本文将结合源码详细解析Netty的高效和强大功能的设计原理,学习 Netty 是如何实现其卓越的性能和功能特性,也希望可以在日后工作中利用到 Netty 的设计思想。 我们先看

    2024年02月12日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包