警告:本文章充满了大量个人主观观点。
# 引子
前几天我在浏览 PostmarketOS 的博客中了解到全职开发一词。
然后我就问了下 chatGPT 关于业余开发和全职开发的区别。很显然,我属于那种业余的不能再业余了那种开发,只能一厢情愿地负责 K20 Pro 这一款设备。
然后我就翻了一下 pmaports 的仓库,了解到 lenovo-q706f 和 huawei-milan 是由国人维护的。
然后我就去哔哩哔哩搜索了一下业余开发,
然后就基于此衍生出了一个问题:
# 都是中国人写的开源项目为啥要用英文?
关于中国人做的项目要不要用英语,以及在其他项目提 issue 要不要用中文的问题一直都有争论,我觉得这个事情其实完全不用上升到文化自信的高度,或者说,其实在文化自信这个事情上,反而是一种反直觉的形式呈现的。
首先并没有哪条法律规定开源文档必须用中文写。
我见过中国人的项目没中文文档,也见过外国人的项目十八种语言文档。
就以我参与维护的 KernelSU 和 kawaii-gcc 来说,这两个项目的作者都是国人,但是 README 的首选语言是英语。
从社区的视角来看,英语提供了一个开放的态度,这并不意味着向英语世界妥协,反而意味着,俄语,日语为母语的开发者也可以参与进来。针对不同语言的当地开发者,肯定要做对应语言的内容,i18n 和 l10n 是两件事。
再比如我自己的项目的文档用的也是英文。
中文写编程文档效率是极低的 (对我来说)。因为编程语言本身就是英语 所有的代码规范也都是按照英文制定的 即使是国内的大厂也用的相似的代码规范。有些时候我连单语文档都懒得维护;如果再加上中文文档的话,还得背负上增加中文在世界的影响力的重任,额外要花时间去同步更新双语文档,耗费的精力会呈指数型增长。
不仅如此,首先是终端装输入法很麻烦 (对我来说),其次是书写效率低,要不然用户希望我把 Python 翻译成蟒蛇?把 Java 翻译成爪哇?除了部分顶级的项目,基本没多少人做多国语言。无论从动机还是教育程度的角度来说,全世界的人凡是想要获取科技领域一手信息的都懂英语,我写一份英文文档就可以服务绝大多数潜在受众。
至于极少数的全球化边缘群体,他自己开个翻译软件难道是什么很难的事吗?凭什么非要人家无偿投入的开发者为了他们这一丁点的方便再多付出一分努力?在谴责别人的时候,有没有给开源项目提供过哪怕一分钱的赞助?我不是说不可以有中文文档,我只是说大家普遍选择英文书写主文档自然有他的道理。只维护一个语言的文档的话,英文的受众在现阶段比中文要高太多了。
举个例子:我曾经在 GitHub 刷过几千个项目,在占比很少的纯中文项目里(文档和操作界面都是中文),经常在 issue 看到道德绑架、毫无意义内容(把 issue 当留言区)、只有一个标题、没有提供任何有助于修复 bug 的内容,大部分人都是只伸手不做事,贡献者比例明显少于默认英文的同等规模仓库,这个比例是明显高于纯英文项目的。中英文社区唯一的共同点就是不论项目给自己带来多大收益,大家都不愿意给开发者捐钱。
本身就是用业余时间志愿做的事情。再说了,要真想编程还只会中文 干啥不去用易语言? 说白了中文在编程语言中的弱势来源于中文圈在技术上的弱势。 只有哪天中文编程技术水平超过了英文才能吸引别人为了接触编程信息学中文,让开发者为了提高中文影响力而专门写中文文档是本末倒置。
你要是嫌弃开源项目没中文文档,你 fork 下来翻译,给开发组发 PR,多简单的事。
项目都开源了,一点贡献都不做,只会伸手要,还特么道德绑架?
开源精神不是各个文化各自在互联网上圈地围城,而是尽可能消除种族和文化带来的隔阂,让全世界能共同投入到同一份事业中去;语言只是沟通交流的媒介而已,有让中文替代英文成为通用语言的心确实是好事,但是不能本末倒置,开源项目的核心是为了帮助更多的人,开源社区是为了交流更多的技术,怎么方便怎么了,别把政治正确往这里带,我用个 linux 提交代码,还得要我下个中文输入法写文档?没事找事罢了。