一個 # 字號,激起了 GitHub 上台灣、中國開發者的熱議

來報導一下這幾天在 vuejs/events 這個 GitHub repo 上發生的爭議事件。

吳冠融 Roger Wu
May 29 · 10 min read

前情提要

https://events.vuejs.org 這個網站記錄了全球各地的 vue.js 相關會議、活動、社群。 註:vue.js 是一套熱門的 JavaScript 網頁前端框架, 其作者與主要貢獻者多來自中國。

https://github.com/vuejs/events 這個 GitHub 版本庫存放了前述網站的程式碼。

在 events.vuejs.org 其中有一頁 https://events.vuejs.org/meetups/ 列出了全球各個區域的 vue.js 社群, 裡面本來將 China, Hong Kong, Taiwan 並列在 Asia 之下。

事發經過

在台灣時間 2019/5/28 16:31, 某位中國開發者 mqhe2007vuejs/events 上發出了 issue #29, 指出「聚会列表犯了一个严重的政治错误」。

mqhe2007 指出「聚会列表犯了一个严重的政治错误」

該 Repo 的主要貢獻者 bencodezen 便在 5.5 個小時後提交 commit 正了這個「錯誤」 , 修正的方法是: 在 Hong Kong, Taiwan 前多加一個 # 字號, 使其降一階並列入 China 之下。

引起爭議的 # 字號

隔天, 台灣開發者 kurotanshi 發現了這個「修正」, 留言指出 “Taiwan is not a part of China.”

kurotanshi’s comment

bencodezen 很有風度地選擇復原之前的 commit, 並接受了另一位開發者 cattla 的 pull request, 將 China 改為 Mainland China 以作為區分。

China → Mainland China

但仍有網友提出 issue 表示不滿

還有網友貼出了「举报地址」的圖片。

你為什麼不自己去舉報就好了?

最後, bencodezen 在文件中加入了 Disclaimer, 聲明這個列表的結構並不指涉任何特定的政治觀點。

The following list prioritizes users’ ability to quickly locate the regions they identify with — the structure does not imply any specific political views.

到此事件算是告一段落了。

插曲

在整個討論中, 有一名網友建議採用奧運採用的國家、區域劃分架構, 但最後沒有被採用。

a comment suggesting restructuring the architecture according to Olympics Committees

可見「能不能在奧運成功正名」是有可能在意想不到的地方造成蝴蝶效應的。

2019/05/30 更新

今天早上, 另一位開發者提出了 issue #36 質疑: 為什麼日本、印度都採用一樣的地區合併規則, 而中國卻採用不一樣的規則?

why meetup locations grouped for Japan, India, but not for China?

I saw similar tickets closed and locked, with comments like to help user to locate meeting quickly and not to project any political view.

if that’s the case, it should be the same for other countries like Japan and India

care to explain why different rule for China?

緊接著另一位網友 tag 了管理者 bencodezen 甚至 vue.js 的作者尤雨溪(yyx990803), 要求說明是採用什麼規則列表的。

@bencodezen @yyx990803 I know the pionts that the list is non-political relates, but please take the constant rule to sort the list, as NON-POLITICAL you mean! what’s the rules or standards you’re using? by continent? by country? or by what? if you cannot give the rules, there’s no way to get people out of claiming!

接下來大家開始討論可以採取什麼規則來列表, 整個討論串就 9 則留言而已, 有興趣可以直接點進 issue #36 看。

我覺得過程中比較值得一看的是, 有人引用了 Apple 的介面來說明 把國家跟國內的區域列在同一個位階並不是不可行。

最後尤雨溪竟然親自回覆了這個討論串: (下有中文翻譯)

1. The list contains both countries AND regions.

2. The list prioritizes how users identifies themselves as "from a certain region". Historically and culturally, people living in Hong Kong and Taiwan first identify themselves as "from Hong Kong" or "from Taiwan". If the listing makes it easier for users to find their respective locations then that's the way it will be listed. This is unrelated to "which region is part of which". As far as we know, countries like Japan or India do not have this unique situation.

3. Politics is complicated. You can claim that Taiwan is part of China, when in fact it is not actually ruled by the PRC government and its citizens travel with a different passport that is recognized by most of the world, and YOU as a citizen of China needs a visa to go to Taiwan. You may think Taiwan should be listed under China, when users from Taiwan thinks the other way around. This whole thing is controversial and as a project Vue tries to be as neutral as possible. In trying to do that, we have to look at what international organizations are doing. And if you do that yourself you will notice the way we are listing them right now is adopted by almost all international companies like Apple, Google, Facebook, Microsoft etc. If you think that's wrong, you should probably stop using anything they make (mind you, that includes iOS, Android, Windows, macOS, VSCode, Angular, React, oh... and GitHub). Olympics lists Chinese Taipei separately from China as well. I'm pretty sure all these international organizations also want to take a neutral stance on this matter, and this is what they have commonly adopted, and that is what we are adopting as well.

4. Trying to argue against this commonly adopted convention in an open source project is probably the most political thing you can do. If you really believe open source should be non-political, please stop that.

中文翻譯: (個人 + Google 翻譯,歡迎提供修正建議!)

1. 這個列表同時包含國家和地區。

2. 這個列表優先考慮使用者會怎麼認定自己「來自某個地區」。在歷史和文化上,居住在香港和台灣的人們首先將自己稱為「來自香港」或「來自台灣」。如果這個列表方式能讓使用者更容易找到他們各自的位置,那就以這個方式列表。這與「哪個區域是不是哪裡的一部分」無關。據我們所知,像日本或印度這樣的國家沒有這種獨特的情況。

3. 政治很複雜。你可以聲稱台灣是中國的一部分,然而實際上它並非由中國政府統治,其公民使用被世界上大多數認可的不同護照旅行,而你作為中國公民需要簽證才能前往台灣。你可能會認為台灣應該被列入中國,但台灣使用者們不這麼想。這一切都是有爭議的,而 Vue 作為一個項目努力保持中立。在努力做到這一點時,我們必須看看國際組織是怎麼做的。如果你也看了,你會注意到我們現在列出地域的方式被幾乎所有國際公司採用,如蘋果、谷歌、Facebook、微軟等。如果你認為這樣是錯的,你應該停止使用這些公司做的任何東西(提醒你,那包括 iOS、Android、Windows、macOS、VSCode、Angular、React、哦……和 GitHub)。奧運會也將中華台北與中國分開。我很確定所有這些國際組織也想要在這個問題上採取中立立場,這是他們普遍採用的,這也是我們正在採納的。

4. 試圖在開源項目中反對這種普遍採用的慣例可能是你能做的最政治的事情。 如果你真的相信開源應該是非政治性的,請停止那麼做。

隨後這個討論串就禁止回應了。 之前較激進的 issue #33, #34 也被刪除了。 至此這個事件應該是真正結束了 嗎?

吳冠融 Roger Wu

Written by

專精區塊鏈、加密貨幣、智能合約、網頁前端 | 台大電機系畢業