作者|李建盛
中国有句古话,叫做“入乡随俗”,也就是说,我们首先要分辨出自己所处的空间,然后根据空间的形势和状态进行观察、学习,然后在进一步的找人沟通。
拿 Apache APISIX 这个 issue 的回答来说,哪位叫嚣汉语自信的同学,显然是走错了门,他应该去榕树下之类的网站寻找自己的自信,比如和《三体》的作者刘慈欣探讨下未来宇宙中汉语的声音,或者是给诺贝尔文学奖得主莫言先生最近的《晚熟的人》进行评论。
在专业的共同体里,有其独特的文化和传统,使用什么样的语言、鼓励什么样的措辞、配合什么样的语气表达都是由其自主特色的。后来跟进的人,应该尊重共同体的做法。
这个世界上没有任何统一的标尺,将所有事情都囊括。自然语言自信应该在其自身的领域里寻找,而不是到非常专业的计算机专业领域里寻找存在感,这无异于缘木求鱼。
由 X-lab 发起,同济大学开源学博士赵生宇领导的《GitHub 2020全域报告》里明确指出“孤岛项目”多数是非英语项目,是没有融入开源世界的,或者是想进入开源世界的通道没有打开,语言成为了不可逾越的沟壑。
作者|庄表伟
一、编程语言与源代码
这个其实应该是最少争议的环节。因为几乎所有的编程语言,都是“类英语”的形式。所以,从阅读体验的角度来说:
我们将一个源代码文件,看做一篇完整的文章。在这篇文章中:中英文夹杂,甚至英文加汉语拼音混杂都是严重影响阅读体验的
包命名、文件名、函数名、变量名等等,都严重建议一律使用英文
在源代码中,我的个人意见是尽量用源代码本身来说话,而无需注释。如果一定要加注释,也强烈建议使用简短英文说明
二、文档
我的建议是:最开始写文档的人,用你最熟悉的语言来写。然后再量力而为,翻译成其他需要的语言。
三、围绕项目的讨论
这个问题,需要从两个层面来看,一个是:你参与到一个已经存在的社区。另一个是:你管理自己的社区。
参与人家的社区:入乡随俗
自己的社区:取决于社区的目标
所谓入乡随俗,其实很简单:人家社区都用英文,或者都用中文,你就不要冲过去说:“能不能语言自信点?”
社区的目标,就比较麻烦了。我只能说:无论基于何种目标,一个健康的社区,与是否使用英语,并无必然的相关性。或者,换言之:下定决心,一开始就用全英文交流,并不是一个繁荣发展的开源社区的,天然保障。
四、项目之外的日常交流
这个其实更少争论,大家在微信群、QQ群、邮件列表、Slack里,自然就会选择自己最常用的语言交流。如果是一个国际化的社区,自然就会更加多的使用英语。而如果中国人占大多数,自然就会使用中文。强行规定,并无必要。
作者|吴烜
开源项目的基本架构搭建之后,如果项目本身使用的是中文命名,用户(往往非程序员)应该会更有动力去学习代码。并不是说英文命名肯定会阻止参与项目,但会让很大一部分人望而却步。
实际上开源项目很大一部分工作量在于后期维护、界面改进、相似功能的堆积,以及相关测试。这部分完全可以由原作者之外的参与者,即普通用户来实现,原作者就可以专心投入到架构/大功能的优化改进上。久而久之,编程新手也会逐渐成为熟练程序员、核心贡献者。
能够吸引更多人来投入项目,而不是点个星就走,是开源项目能够壮大和持久的关键。任何能够降低参与门槛的技术,都应该值得项目作者认真考察,根据项目酌情决定。
回忆一下,无论是开源还是闭源项目,过去几周有没有碰到如下情况之一:
翻自己之前写的代码,发现某个标识符不知所谓
看别人的代码,不懂某个标识符