本文偏长的,但无任何推广内容,大伙放心食用。 另外,不知道哪些字被屏蔽了,因此换成了拼音。
申明:由于现在“开源项目”一词普遍用法更偏向于其广义上的定义,即几乎只要是公开源码 /文档的项目,人们就自称或称其为“开源项目”,但其实“公开源码的项目”离严格定义上的开源项目还相差甚远,其具体定义读者可以阅读The Open Source Definition。本文在不特指的情况下,沿用如今普遍使用且广义上的“公开源码 /文档的项目”的定义
前段时间在读梁光耀的《图解实用伦理学》,这书通俗易懂,举的例子也非常有趣且接地气,唯独深度上差了些意思,可能就是为了照顾我这样的小白吧。而开源圈总是有“开源态度”相关的话题,这类话题真算是经久不衰了,每年都有人开新话题进行讨论,但感觉无数人的讨论在深度上都差了点,让人看得也不够过瘾,于是想试着从伦理学角度并结合长期在开源圈的观察来简单聊聊这话题。
评价开源作者的“道德问题”,或者说是“开源项目作者的态度重要吗?”,感觉有两个因素非常关键:一是从康德伦理学角度来看,就看看开源作者的态度,动机是好的,那就无可非议,动机不行的,那就算“不道德”,这类评价方式好像很像是自由软件强调人 quan 的评价方式?;二是从功利主义来看,看看开源作品的价值,不谈动机,只谈结果。我通过这两个角度,把各开源项目分为了 6 类:
当然,一位作者是否有态度,项目是否有价值,有时候并不是那么绝对的,大家评判不一,甚至还能同时存在“即有态度,又没态度”的矛盾状态,态度也能随着时间不断变化,我感觉也正是因为这些模棱两可的状态,让网上吵个半天也聊地不够透彻。这里先简单谈下什么是“有态度、无所谓的态度、态度恶劣”、“有 /没价值”:
“有态度”主要指开源作者有责任心、有真奉献精神、做事踏踏实实,主动性强。补充:大部分开源 License 都不要求开源作者负有任何义务。
“无所谓的态度”主要指开源作者通常就是抱着玩的心态,也没指望什么人严肃地来用,就日常做做,比如简单的练手项目,它即不像“有态度”那样偏于积极的态度,但也不像“态度恶劣”那样偏于负面的态度,反正就是随便做做,无所谓的态度。
“态度恶劣”主要指作者急功近利,开源的首要目的就为了搞 KPI 、推广公众号或面试加分,通常目的完成就跑路。当然还有更恶劣的,就是开源项目带有欺骗性质,比如结派互刷 Stars 、抄袭套皮,初期看似诚意慢慢,后期展露本心,开始无下限地进行收割。更有甚者不以为耻,反以为荣(笑贫不笑娼)。
“有价值”主要指开源项目或文章的原创内容比较稀缺,比如开源的基于双数组 Trie 的 AC 自动机算法实现,又或者voicevox、audiveris( PS:非推广,本人和这些项目没有任何利害关系)。另外一提,一些大佬看不上很多开源项目,感觉 Nginx 或 Redis 的源码也不过如此。但这就是稀缺度的问题,每位大佬都感觉自己也能写,但愿意腾出自己那么多时间、持之以恒,并能写出名的,可真就寥寥无几了。
“没价值”主要指某个开源项目或文章千篇一律、烂大街。特别一提,没什么技术含量的项目也可以有高价值,关键还看稀缺度。
特别注意:这里指的稀缺度,指的是原创内容的稀缺度。
特别注意:这里指的稀缺度,指的是原创内容的稀缺度。
特别注意:这里指的稀缺度,指的是原创内容的稀缺度。
之所以要特别强调是原创内容的稀缺度是因为还有一种观点认为是“世界上不存在没价值的项目,只有没放对位置的项目”,诸如一个在 GitHub 上被人抄了几万次的面经文档项目被培训班用于给完全不懂编程 /还没入行的人做培训,那客观来说该文档确实变得有价值了,但如果按这观点来看,那啥项目都可以被认为是“有价值的”,但如果真把具有稀缺原创性的项目和那些抄袭集大成的项目归为一类,认为“都有价值”,那我们也会觉得这样的价值分类太笼统且随意了,怎么可以把抄袭的项目和原创项目的价值混为一谈呢?
正是由于价值的标准可以如此多样,为了避免有关价值判断的讨论无休无止,本文谈的“价值”主要是基于其原创性内容的稀缺度来判断的。
另外,从项目的 Stars 或付费用户数来评判也是不准确的,诸如像Maven这样被无数人使用过的项目一共也才 3K stars ,尤其越底层的项目通常越是如此,尤其是捐钱的人通常更愿意给它们使用的上层应用捐钱,而不给其底层项目捐钱。
先从简单的“态度恶劣且没价值”入手吧。我初想“态度恶劣没价值”的东西怎么会有人关注呢?但转念一想,GitHub 的中文榜单很多时候还真就这样(我最近没关注了,我是被恶心坏了,整出 PTSD 了),都是一堆被无数人做了无数次的电商 /博客项目,被人抄了无数次的面试题,很多作者是开个源,维护几周,刷完面试 /公众号 /KPI 就跑路了,这些作者就像是无生气、无创造力的机器人(不知道教育在这里做了多少“贡献”),又像是一群西西弗斯,不断重复地把山下的巨石滚上山,项目 README 底下也不忘贴几个公众号进行收割...这类项目让我体会到了什么叫做 PTSD ,如今当我看到带有“电商 /博客”关键字的开源项目,人就本能地就泛起了厌恶之感。
从功利角度来说,这些项目确实推广了一些被抄了无数遍的有用或无用的知识。但从功利主义的另个角度来看:
这样的项目吞噬了本属于更具有原创价值开源项目的关注度,并且不少项目还采用不道德的手段(如买 Stars 、互捧臭脚互刷 Stars 、频繁买广告 /发帖刷 Stars ),刷 KPI/开公众号做广告,目的完成了就拍拍屁股闪人,导致部分具有原创价值的开源项目的作者“做啥原创内容,吃力不讨好,隔壁一个 Markdown 项目靠抄袭+疯狂推广,Stars 都比我的多 10+倍,哥们我累了,不玩了,你们自己玩吧”,同时新人看到这类项目,也发现苦心做原创内容,还不如搞点哗众取宠来 Stars 快,既简历看着“牛逼”(“管它是什么样的 Stars ,反正我项目就 Stars 多,牛逼不”),指不定还能搞手副业。最终,劣币驱逐良币。
我们都知道互联网有一个大问题,这个大问题不是有价值的文章越来越少了,而是水文的数量在以指数式增长,导致想找有价值文章的人不知去往何处,导致我们找一篇有价值的文章的成本越来越高,很多时候犹如大海捞针,因此不得不换一个平台,或者干脆“哥们我退出,不玩了,你们自己玩吧”。开源圈同理。
另外也让一些人觉得“搞慢工出细活,不赚钱+原创性高的开源项目的作者都是 SB 吧,看看别人天天水文,给新人做 Hello World 项目,靠公众号做推广,现在都已经买车买房了”,认真做开源的人但不赚钱的开源项目作者反而被扣上了“老实人 /天真”甚至“愚蠢 /不懂赚钱”的污名化帽子,一些同行也在不自觉地笑贫不笑娼(或者干脆打心底就认为:我就笑贫,不笑娼,咋滴?)
并且这样的风气通常越越演越烈,“反正抄就行,我干嘛要原创?”,很多项目都是抄来抄去,甚至还有欺骗 /抄袭 /套皮性质(我个人认为“抄袭 /套皮并说是自研”是开源圈里的最无耻的行为,没有之一。如果还有,请读者帮忙补充),真是体现了马太效应,恶者愈恶,癌细胞般的存在。
举例:《字节跳动涉代码抄袭被诉陪 22.74 亿,连错误的函数都搬》、《字节跳动回应“抄袭阿里 Ant Design 代码”:早期使用了相关文案》、《 TikTok 桌面直播应用被质疑“违规使用 OBS 等源码”》
综上,大量的无价值开源项目其实是在稀释开源圈的价值,模糊所有人的价值观,劣币驱良币。就算从功利主义角度来说,当今存在大量这样高关注度+无价值的项目也是站不住脚的。我个人也因此戏称这样的圈子为“开源娱乐圈”( PS:这也是我个人虽然天天主动做开源,但却说自己对开源圈没什么兴趣的原因之一)。
一些开源作者会以“自由主义”来为自己正名,类似于“我开源攒了这么多关注,我自己做公众号卖广告也搞到钱了。我虽然这项目没什么原创内容,做的是电商 /博客 /...,但这关你 P 事,我怎么做是我的自由,你眼红了?”,但我的回答同上,自由是有前提的,那就是“不伤害原则”,这类开源项目的价值会以“圈子劣化”、“更多人做这类没价值的项目”、“倒逼有价值项目作者弃坑,转去搞其他来钱快的项目”等现象而作为代价,损人利己的自由是很难站得住脚的。
说完“态度恶劣且没价值”的,再聊下“无所谓的态度或有态度,但项目没价值的”,这个我感觉完全 OK ,所有人都是这么过来的,只要不要有“卧槽,我这么牛逼,你们怎么不关注”的心态就行。
还有就是“不管作者啥态度,反正项目就是有价值”。这种我感觉就算作者态度恶劣,但只要不是抄袭 /套皮 /发布的是别人家的源码,其实也还 OK ,诸如要是一老哥当初给我“你这代码写得是真的烂,你算法也太菜了,我给你写了一个为实现敏感词过滤的基于双数组 Trie 的 AC 自动机算法,你拿去用吧”,我不会吐槽这老哥,我会感激不尽,并想办法给这老哥发个红包。
综上,我个人在开源圈更认同功利主义,而非像自由软件那样强调人 quan 、更像是奉行康德伦理学。我觉得只要是有价值的项目,作者的态度其实不太重要,就算作者是为了刷 KPI/卖广告等等,我都觉得完全 OK ,只要不过红线即可。但没价值的项目,作者的态度就重要了,态度恶劣的应该谴责,态度正向 /无所谓的就无可厚非。
各位 v2exer 又觉得如何呢?欢迎各位大佬评论与指正。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.