开源最大的谎言是什么?

一天前,网友 niksmac 在 Hacker News 上提出了这样一个问题:“开源最大的谎言是什么”?由此引发了诸多讨论。从其他网友的回复来看,他们主要将焦点集中在开源的安全性、使用成本、商业化、开源精神及道德等方面。

收到最多回复的网友 fbhabbed 提出了安全性问题,在他看来,开源最大的谎言是“仅假定源代码是公开的,就认为开源程序是安全的”,而“事实上这是一种错误的安全感”。

他认为应该从源代码编译自己的二进制文件,不要盲目地相信下载的二进制文件。另外,他还提到开源的安全性建立在足够多的人来阅读代码并进行漏洞审查的基础上,但有的软件不够流行,有的软件代码又过于庞大,操作起来并非易事。

网友 gmuslera 表示认同。不过他指出,开源和闭源软件都会遇到安全问题,相对来说,在开放源代码上可能能够更快速地解决。

“开源软件没有成本”是另一个讨论度较高的关于开源的谎言。网友 p0d 表示,许多人为开源软件付出了代价,“我为那些对开放源代码有着过于浪漫想象的年轻人感到担忧,他们会要求开源英雄如何按照他们的考虑来创建软件”。他提醒这些人在“成为 ARPANET 或 Linus Torvalds 之前”多付出一些。

显然这里讨论的是人力成本和对开源的贡献度。不少网友表示赞同,thevagarant 认为那些从项目中受益的人应当做出贡献,但是大部分人接受软件的馈赠后却不予以回报。iekahVa5 也为维护者的大量工作负担叫苦。

关于对开源的贡献度,网友 waynetfw 指出另一个谎言是“开源贡献者比测试者和捐赠者等其他贡献者有着更高的道德优越感”。有些人会将自己对某项目的贡献历史与别人进行对比,以证明自己对于该项目有更多发言权。waynetfw 毫不客气地表示这些人都是”自以为是的混蛋“,因为向开源做出贡献并不仅仅只有贡献代码一种方法,代码贡献者不见得更优越。

说回开源的成本,上面提到人力成本,自然也有人指出经济成本的谎言:“开源是便宜的”。BrandoEIFoIIito 就表示,如果他在公司中进行 IT 业务,那么他将选择一套完整的 SaaS 服务,付出的费用将用于抵消维护成本。开源软件不便宜的部分在于自己运行并维护它们。

网友 open-source-ux 对开源精神产生质疑,“可以将开源产品卖给用户并以此为生”在他看来是开源精神失败的地方之一。他认可使用开源软件为客户提供解决方案来赚钱,但驳斥了将开源产品出售给客户、让他们自己运行这种做法。在他看来,GNU 项目仍然“鼓励重新分发自由软件的人们按照自己的意愿或能力进行收费”这样的做法在当今网络世界是没有意义的。

该条问题下的讨论还在持续,你认为的开源最大的谎言又是什么呢?

推荐阅读

TIOBE 5月榜单:时隔五年,C语言重返第一

微软开源MsQuic,QUIC的跨平台实现

上游开源项目闭源,相关仓库被GitHub要求下架

从Copyright到Copyleft,聊聊版权与开源协议

Redis 6.0.0 GA

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/309969.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

唯品会php接口,唯品会链接生成联盟链接 - 唯品会API免费API接口-唯品会API开放API接口-云商数据(www.ecapi.cn)...

{"code":200,"data":{"list":[{"noEvokeUrl":"https://t.vip.com/xxxxx?&wq1","vipQuickAppUrl":"hap://app/com.VIP.VIPQuickAPP/pages/index?targetpages/product/detail&params{"productI…

[设计模式]代理模式

代理模式: 为其他对象提供一种代理以控制对这个对象的访问。 在某些情况下&#xff0c;一个对象不适合或者不能直接引用另一个对象&#xff0c;而代理对象可以在客户端和目标对象之间起到中介的作业。 代码如下: #include <iostream> using namespace std;//共有接口 …

Minimize the Permutation CodeForces - 1256(贪心)

题意&#xff1a; q次询问&#xff0c;每次询问给你长度为n的排列&#xff0c;然后你每次可以选择一个位置i和i1的数字进行交换。但是每个位置只能交换一次&#xff0c;问你反转若干次后&#xff0c;这个排列最小是多少&#xff1f; 题目&#xff1a; You are given a permu…

IO 模型知多少 | 代码篇

引言之前的一篇介绍IO 模型的文章IO 模型知多少 -- 理论篇比较偏理论&#xff0c;很多同学反应不是很好理解。这一篇咱们换一个角度&#xff0c;从代码角度来分析一下。socket 编程基础开始之前&#xff0c;我们先来梳理一下&#xff0c;需要提前了解的几个概念&#xff1a;soc…

[设计模式]外观模式

外观模式:为一组具有类似功能的类群&#xff0c;比如类库&#xff0c;子系统等等&#xff0c;提供一个一致的简单的界面。 代码如下: #include <iostream> using namespace std;class Television { public:void on(){cout << "Tv on" << endl;}v…

Keywords Search HDU - 2222(AC自动机模板)

题意&#xff1a; 给定 n个长度不超过 50的由小写英文字母组成的单词准备查询&#xff0c;以及一篇文章&#xff0c;问&#xff1a;文中出现了多少个待查询的单词。多组数据。 题目&#xff1a; In the modern time, Search engine came into the life of everybody like Go…

php fpm 调试模式,调试 – nginx php-fpm xdebug netbeans只能启动一个调试会话

在过去,我使用apache mod_PHP xdebug netbeans进行开发我的网站(服务器是我的本地机器,运行Debian Squeeze),很高兴 – xdebug工作正常,调试会话可以随时启动和停止,当我需要时它.但是,当我转移到Nginx PHP_fpm xdebug netbeans时,我遇到了一些调试问题.>我的调试会话可能会…

介绍一个基于 .NET 的船的新 PHP SDK + Runtime: PeachPie

前言这几天想基于 .NET Core 搞一个自己的博客网站&#xff0c;于是在网上搜刮各种博客引擎&#xff0c;找到了这些候选&#xff1a;Blogifier、Miniblog 以及 edi 写的 Moonglade。Blogifier&#xff1a;这是前端是个 Angular SPA 应用&#xff0c;不利于 SEO&#xff0c;同时…

[设计模式]适配器模式

适配器模式:将一个类的接口转换成客户希望的另外一个接口&#xff0c;使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 &#xff08;将已经写好的&#xff0c;但是不符合需求的接口&#xff0c;转换成目标接口&#xff09; 代码如下: #include <iostream>…

数位dp总结 之 从入门到模板(stO)

#转载自https://blog.csdn.net/wust_zzwh/article/details/52100392 基础篇 数位dp是一种计数用的dp&#xff0c;一般就是要统计一个区间[le,ri]内满足一些条件数的个数。所谓数位dp&#xff0c;字面意思就是在数位上进行dp咯。数位还算是比较好听的名字&#xff0c;数位的含义…

matlab极大无关组,matlab最大无关组

与《matlab最大无关组》相关的范文课程设计任务书 2011-2012学年第一学期 专业: 通信工程 学号: 姓名: 课程设计名称: 信息论与编码课程设计 设计题目: 对称信道容量的求解 完成期限:自 2011 年 12 月 19 日至 2011年 12 月 25 日共 1 周 一&#xff0e;设计目的 1.深刻理解信道…

[工具]微软的学习平台Microsoft Learn很好用,推荐一下

1. 什么是Microsoft LearnMicrosoft Learn是微软这两年大力推广的全新学习平台&#xff0c;可提供 Microsoft 产品交互式学习体验。基本上无需登录即可使用&#xff0c;但登录后可以使用更多功能&#xff0c;包括&#xff1a;累积分数和成就跟踪学习活动进度使用免费的 Azure 资…

[PAT乙级]1030 完美数列

给定一个正整数数列&#xff0c;和正整数 p&#xff0c;设这个数列中的最大值是 M&#xff0c;最小值是 m&#xff0c;如果 M≤mp&#xff0c;则称这个数列是完美数列。 现在给定参数 p 和一些正整数&#xff0c;请你从中选择尽可能多的数构成一个完美数列。 输入格式&#xf…

php抓取多个网页合并,PHP 使用 CURL 同步抓取多个网页

一般CURL 抓网页的方法&#xff0c; 是一页一页抓&#xff0c; 假设要抓 4页&#xff0c; 所费时间各别是 5,10,7,5 秒&#xff0c; 那全部总合所花的时间就是 5 10 7 5 27 秒。若能同时间去抓取多个网页&#xff0c; 所花费的时间 5,10,7,5 秒&#xff0c; 全部总合所花的…

多终端数据同步机制设计

多终端数据同步机制设计之前写过一篇文章数据同步流程设计的文章&#xff0c;这里整理一下在公众号里分享一下Intro因为项目需要&#xff0c;需要设计一个多终端数据同步的机制&#xff0c; 需要满足以下条件&#xff1a;多个终端数据操作及同步&#xff0c;终端可能离线每次同…

Popular Cows POJ - 2186(tarjan算法)+详解

题意&#xff1a; 每一头牛的愿望就是变成一头最受欢迎的牛。现在有 N头牛&#xff0c;给你M对整数&#xff08;A,B&#xff09;&#xff0c;表示牛 A认为牛B受欢迎。这种关系是具有传递性的&#xff0c;如果 A认为 B受欢迎&#xff0c; B认为 C受欢迎&#xff0c;那么牛 A也认…

[设计模式]装饰模式

装饰模式: 通过AbstractEquipment装饰AbstractHero&#xff0c;使其heroA增加了一个穿装备的功能。 代码如下: #include <iostream> using namespace std;class AbstractHero {public:virtual void showStatus() 0;int hp;int mp;int at;int df; };class HeroA :publi…

ASP.NET Core分布式项目实战(Consent Controller Get请求逻辑实现)--学习笔记

任务20&#xff1a;Consent Controller Get请求逻辑实现接着上一节的思路&#xff0c;实现一下 ConsentController根据流程图在构造函数注入 IClientStore&#xff0c;IResourceStore&#xff0c;IIdentityServerInteractionService构造函数private readonly IClientStore _cli…

[设计模式]观察者模式

代码如下: #include <iostream> #include <list> using namespace std;class AbstractHero { public:virtual void update() 0; };class HeroA :public AbstractHero { public:HeroA(){cout << "英雄A正在打BOSS" << endl;}virtual void u…

oracle导出BOM文件,ORACLE ERP导数据(BOM清单)-备份恢复-Oracle频道-中国IT实验室

方法&#xff1a;把数据导入BOM清单的方法是&#xff0c;把数据导入接口表中&#xff0c;让其自动运行既可。上传文件的时候&#xff0c;要注意使 用ASCII字符模式。1、自己建立一中转表drop table cux_bill_temp;create table cux_bill_temp(bill_sequence_id number,as…