国内开源项目的不可持续性之我见
源自:如何看待国内开源项目的不可持续性? 虽不是唯一、但是往往被忽视的一个重要因素。
先做个小实验:写一段 50 字左右的中文随笔,再用英文写一遍同样的内容。懒的话,下面是我刚写的:
首先,你先看了哪段?
这就是第一个大问题:第二语言写就的内容,不如母语写的看着吸引人。说什么自然语言和代码完全不搭噶的,请自己去了解”代码可读性“。换言之,写出的英文代码往往更没有拥有感。国外有个很常见的说法,”take ownership of your code”。写出的代码感觉是”你的“,才有更多的动力去维护去改进。如果看到英文就没有读的欲望,还怎么持久?
二,第二语言不如母语写的方便。个人在国外也有段时间了,工作生活英文交流即使不算流利,至少过关。写上面英文版本的仍然不比写中文的省劲。这还是先写了中文版的情况下,不需构思内容只要翻译即可。再看看用词用语和表达,更不如中文的灵动。
为什么上面两点对开源项目影响尤其大?很简单:因为开源项目不赚钱(相对闭源项目而言)。这决定了开源项目需要创作者的更大激情和内驱力才能维系。最大的动力是什么?也许是某个理想,但更原始的动力,是乐趣。
从小到大,只有一件事做起来有趣味,才会有内驱。用母语读写,用语更灵活自由,更体现个性。比比小学毕业写的中文作文,和大多数高中生写的英文豆腐干,高下立判。能够充分的表达自己的意图和情绪,是写作的最大目标,也是最能给作者带来快乐的。那么,为什么写代码要逼着自己用第二语言呢?
第一,仍有很多开发者还不知道绝大多数常用编程语言早已支持中文命名标识符这一事实。
第二,也许更重要的,是认为,只要是开源项目就”必须“在代码中用”国际语言“——英文。
【高能预警】
这,太,扯。
把代码放到 GitHub 上,就是为全人类作贡献了??理想很丰满,现实呢?
Manishearth 对此回应:早已有大量库除了命名之外的所有文档都用非英文编写,比如腾讯的 wepy,他就不会用。用了中文命名之后,也不会更糟。如果一个库流行到有英文文档的程度,很可能那时也会用英文命名了。至于如果库用了不认识的语言,那就——不用。
这还是大厂的两万✨开源项目。没有完备的英文文档,国外开发者用都不会用(或者说都不屑于了解项目内容,因为发言者是 Rust 开发组的,感觉不会闲的写个小程序玩吧),更不用说看你的代码了。
更不用说九成九的开源项目都属于自娱自乐,自始至终都不会有第二个人参与。逼着自己写烂英文命名恶心自己是什么趣味?
想学习英文当然是好,只有写代码自己练习一条路吗??跑去路上给外国游客当志愿者啥的,不比宅家里用谁都看不到的”英文“代码忽悠自己来的效果好一万倍??
用最近很火的在 Python 中使用中文命名的万星项目镇楼:
还是那句话:因地制宜,不搞一刀切。有意继续探讨的,不妨到这里: 在国内原创开源项目中使用中文命名的意义与方式
也可到刚建的知乎圈子发表高见: 中文编程圈 - 知乎