開源項目用英文標識符就能招徠國外用戶嗎?

前文《開源項目必須用英文命名標識符嗎?》有幸得到很多社區響應,其中對中文命名技術自己的質疑大多在《Gitee 開源指北》第 5 小節:有關開源的常見誤區 中已做闡述。很高興看到母語命名在可讀性方面的優點已有至關共鳴。git

另有幾位提到,想要項目有「國際影響力」,或者「有可能面向國外開發者」,就該用英文命名標識符。想起一位國外開發者對中文命名標識符的觀點,頗爲應景,就由此展開吧。 rust討論github

來自 Rust 語言支持非ASCII碼標識符的討論中的 這一樓,發言者 @Manishearth 是 Rust 開發組成員。摘錄以下:小程序

I argue this (指樓上某位提出若是有 API 是非英文命名而使用者無此語言的輸入法怎麼辦) is already an issue that's not made much worse, there are plenty of libraries out there where the only place English is used is the function/variable/class names -- documentation/etc has almost no English. I'm unable to use wepy and I doubt I'd be more unable to use it if the class names were all in Chinese. Sure, they could translate the documentation, but that's not overly common unless the library is popular, at which point they'd probably be using English identifiers anyway.微信小程序

The answer to "how would you even start using that crate" is that you don't. Some splitting is inevitable even if we don't support this.微信

逐句來看:有不少庫除了標識符用英文命名以外,其餘的文檔等等大多不是英文。這種庫,即使是像 wepy 這種兩萬星的受歡迎項目,他也不會用,即使 wepy 用了中文類名,對他來講,也沒有什麼區別。項目是能夠有英文文檔,但除非項目已經火了不然不常見,而夠火的時候,項目可能就用英文命名了。至於非英文命名的 API 怎麼用?就不用唄。less

這段話很值得琢磨。ide

一個國內開源項目,若是沒有國外用戶,何談國外開發者參與貢獻?而沒有完備的英文文檔(wepy 項目首頁的英文版在 2020 年 7 月編寫,而這位發言早在 2018 年),國外開發者幾乎不會去了解項目內容。以 wepy 爲例,我的很難想象這位 Rust 語言開發組成員打算寫微信小程序,也就是說他沒找到英文文檔極可能就沒細看 wepy 項目究竟是啥。ui

那麼,像 wepy 這樣首先面向國內市場,在數年沒有英文說明的項目開發時間內,用英文命名標識符有什麼必要呢?this

至於 API 用非英文命名,國外開發者每每已有英文命名的類似 API 可用,幾乎沒有「缺你不行」的狀況。想從其餘方面與現有英文 API 競爭的話,爲什麼不從國內市場開始呢?用中文命名無疑會對國內用戶更友好,如再轉戰國外市場時,大可再開發一套英文 API。url

不管國內國外市場,也不管開源閉源,軟件項目的推廣首先是「讓人知道好用」。而「讓人知道」和「好用」二者都不依賴於用英文命名標識符。

對於我的開發者來講,項目推廣的開銷尤爲大。公司背景的開源項目每每能夠自帶流量,但我的項目每每只能經過各類社區的自薦,而在國外社區的推廣每每更加困難。若是在座各位獨立開發者有在國外市場推廣成功的國內原創開源項目例子,不妨分享一下,相信不少開發者都會有興趣。

在完成了英文文檔、編寫英文推廣文案各處散發、與國外潛在用戶交流等等「瑣事」後,若是真有哪天必須開始重命名標識符爲英文,會發現這一「最淺層重構」的工做量相對而言不值一提。

正如前文評論區的某位指出的:

徹底能夠先用中文! 若是發現效果好(能夠出圈),能夠由小組成員改成英文,改更名字和註釋,又不是多難的事

在完善項目功能的整個過程當中,使用母語命名的益處,可另開文章詳述,這裏僅舉一個方面。開源項目,尤爲是我的業餘開發的,每每是利用各類碎片時間,能隨時「拿起來」就是個重要優點。試想,若是過幾天回頭看代碼時,就要卡在某些標識符命名上困惑當初究竟是怎麼個思路纔會起這個名字,會消磨掉多少更新改進的熱情。固然,用母語也可能起爛命名,但不管在起命名仍是在讀命名上,都會比用第二語言更加易於表達和理解。

小結

開源項目使用什麼標識符,應當綜合考慮,而不是盲從「所有用英文命名確定沒錯」。是否要國外市場、打算爲了國外市場持續付出多少、是否值得在一開始就用第二語言命名、在得到國外用戶以前會爲此付出多大額外開發開銷,都值得思量。

相關文章
相關標籤/搜索