這個重要開源項目全靠一位低調的“怪老頭”維護!他和比爾蓋茨一樣撐起了計算機世界

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"衆所周知,時區設置是計算機的基本功能,大多數操作系統的用戶界面都提供了該功能。通常,用戶只需要手動設置粗略的地理位置來確定時區時間,之後便不需要更改,除非換到了其它國家。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"時區設置背後有一組大量關於全球許多代表性地點時間歷史信息的代碼和數據,這些代碼和數據被稱爲時區數據庫(即tz、tzdata 或 zoneinfo),該數據庫會定期進行更新以反映各政治實體對時區邊界、UTC 差值和夏令時規則的更改。對tz的更新遵循BCP 175流程進行管理。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"儘管大多數計算機用戶從未聽說過時區數據庫,但tz數據庫對全世界的計算機非常重要。所有基於Linux和Mac的計算機都是從一個極其重要的數據庫(時區數據庫)中提取時區。目前,使用該數據庫的項目包括:the GNU C Library (used in GNU\/Linux), Android, FreeBSD, NetBSD, OpenBSD, Chromium OS, Cygwin, MariaDB, MINIX, MySQL, webOS, AIX, BlackBerry 10, iOS, macOS, Microsoft Windows, OpenVMS, Oracle Database, Oracle Solaris等。"}]},{"type":"image","attrs":{"src":"https:\/\/static001.infoq.cn\/resource\/image\/7c\/c0\/7cc937bbf0yy959c5d46530090b687c0.png","alt":null,"title":"","style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":"","fromPaste":false,"pastePass":false}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":"center","origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#757575","name":"user"}}],"text":"如果你想知道你的計算機在Ubuntu Linux中被配置成什麼時區,你可以在終端運行'timedatectl'命令。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"tz數據庫背後,一個人在維護"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"tz數據庫由David Olson創立,收集了自1970年以來被廣泛認可的民用時鐘的時區信息。2011年,互聯網域名與數字地址分配機構ICANN 接管了這個被全球電腦和網站廣泛使用的時區數據庫,該機構通常只贊助對互聯網發展非常重要的項目,"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"現在,具體的維護工作由互聯網分配號碼管理局(Internet Assigned Numbers Authority, IANA)負責。Paul Eggert是時區數據庫的項目負責人,該職位被稱爲TZ協調員。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"image","attrs":{"src":"https:\/\/static001.infoq.cn\/resource\/image\/0f\/06\/0f9901489b4e60e5e2e527a7423d3a06.png","alt":null,"title":"","style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":"","fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":"center","origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Paul Eggert,圖片來源:加州大學洛杉磯分校官網"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Paul Eggert 是一位計算機科學家,在加利福尼亞大學洛杉磯分校的計算機科學系任教,也是GNU\/Linux核心開發者之一。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"據說,學生們想要從他那裏拿到高學分幾乎是不可能的。有選過 Eggert 課程的"},{"type":"link","attrs":{"href":"https:\/\/www.reddit.com\/r\/todayilearned\/comments\/q041gt\/til_theres_a_guy_who_is_responsible_for","title":null,"type":null},"content":[{"type":"text","text":"網友表示"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":",Eggert 的課程很有趣,但考試卻很讓人“抓狂”。他的考試並不考計算機知識,而是哲學。“有一次他期中考試出了一道題他自己也不知道答案,他表示他希望有學生能替他解答這個問題……”“他的考試open book open notes,還把過去所有他的考試以及答案都發給學生,因爲他知道這是沒用的。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我和同學在準備期中考試時,一位助教說:“我會給你們一些過去期中考試的題目和答案,但這其實沒什麼用”。幾個學生問助教這是什麼意思。“你們會知道的。一定要回答每個問題,把任何能想到的都寫上去。” Eggert一直在教授新東西,他的期中考試題目從來不會重複。有一次,他甚至到了期中考試前一天晚上纔開始準備考試題目。班級平均通過率爲 30%,因爲大多數人拿到了相同的錯誤答案,所以助教還是給了一些分數。"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"網友“GoatRocketeer”分享道:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"有一次,我找他尋求家庭作業上的幫助,因爲我不確定其中的一個解決方案的方向是否正確。我告訴他之後,他說“這很有趣”,我說“這是一個很好的補充,但不知道是對還是錯的”,他回答道“我不知道答案,我只是想看看你們在想什麼。” 最後都沒有回答我的疑問!"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"當然,Eggert 也會犯錯,但他犯的錯可能也會成爲考試題目。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在一次關於彙編的演講中,Eggert 指出某些編譯器會以某種方式翻譯代碼,並給出了背後的推理。只是他錯了。後來,一名學生髮郵件向他解釋了正確的推理過程。這件事直接成爲期中考試的問題: “XXX 是我認爲編譯器做該優化的原因。說明我錯在了哪裏,我爲什麼會犯這個錯誤,以及正確的推理過程是什麼。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Eggert 的考試會有課堂或家庭作業中沒有涉及到的內容,這讓一些學生感到沮喪。Eggert 解釋道:“考試中當然會有新內容。有些學生曠課,寫作業也會作弊,所以我只有在考試中才能讓所有人全神貫注。這是最好的教學時間!”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Eggert 辦公室的門總是開着。無論是講座還是教學時間,他都會留下來回答任何人提出的任何問題。他總是滿臉笑容。“我記得有一次,他不得不離開去看眼科醫生,但他提出讓學生和他去,他在路上甚至到候診室後仍在回答他們的問題。”GoatRocketeer在帖子裏寫道。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"有網友評論表示,“聽起來確實像是那種會維護時區數據庫的人。”Eggert 的學生們在談論他時,都帶着尊敬且敬畏的語氣。但他的學生們之前可能並不知道 Eggert 數十年來一直參與記錄時區數據。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在Eggert的事蹟被廣泛傳播後,Reddit 用戶分享了一部來自"},{"type":"link","attrs":{"href":"https:\/\/xkcd.com\/2347","title":null,"type":null},"content":[{"type":"text","text":"xkcd"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"的漫畫,該漫畫描述了互聯網不爲人知的另一面:大量互聯網程序依賴某個小型項目及其工作人員(如Eggert等人的工作),來爲使用計算機的人提供真正必要的服務。"}]},{"type":"image","attrs":{"src":"https:\/\/static001.infoq.cn\/resource\/image\/25\/4d\/254b9b5c19374e97aa2d06659byy854d.png","alt":null,"title":"","style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":"","fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" 除了Eggert,還有一些開發者也是憑一己之力守護着某個重要開源項目。比如開源項目 cURL 真正的核心主力開發 Daniel Stenberg。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"cURL主要包括curl(命令行工具)和libcurl(C語言的API庫)兩大塊。curl 和 libcurl 在幾乎所有的互聯網服務器上都可以使用,並且是 PHP 默認的傳輸引擎,而在全球近 20 億個網站中,有近 80% 使用了 PHP。雖然cURL項目有不少貢獻者,但是 Daniel 爲 cURL 提交了 16000 次 commit,並在幾年前全職維護該項目。目前,curl 完全獨立於任何組織和公司。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"有句話是這樣說的:世界上,有一半的技術大師是像比爾·蓋茨和史蒂夫·喬布斯這樣的人,另一半的人被稱爲 Ronald ,他們運行着一臺叫做R.u.n.k的機器,這個機器代表了Ronald的通用數字計數器,來爲地球上的每臺機器做所有的數學運算。總有一些人,不爲大衆熟悉,但默默爲世界做着貢獻。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"單人維護讓社區不“和諧”了嗎"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"一個人維護項目聽起來很爽,但社區並沒有大家想象的和諧。時區項目也有自己的社區,但如果你認爲社區很簡單、無聊,甚至很少發生爭議的話,那就錯了。這個社區目前似乎陷入瞭如何維護數據庫的程序性爭議之中。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"今年9月,tz 數據庫社區就對是否合併某些時區的提議發生過激烈"},{"type":"link","attrs":{"href":"https:\/\/www.theregister.com\/2021\/09\/28\/time_zone_database_controversy","title":null,"type":null},"content":[{"type":"text","text":"爭吵"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。由於擔心 ID 剔除可能導致 1970 年之前的數據變得難以獲取,Eggert提議將 1970 年之後具有相同數據的多個地區合併到一個時區。比如,將“Europe\/Oslo”作爲“Europe\/Berlin”的別名後,就意味着奧斯陸在1970年以前的數據會被柏林的數據取代。這當然遭到了很多人的反對。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"著名的Java專家 Stephen Colebourne 表示,“爲什麼柏林可以保留其狀態和完整歷史,而奧斯陸卻被刪除了?”“答案是柏林的人口更多。”在 Colebourne 看來,項目負責人正試圖通過時區的合併影響1970年以前的時間戳。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"要理解爲什麼社區決策如此反覆無常,大家可以先看看"},{"type":"link","attrs":{"href":"https:\/\/youtu.be\/-5wpm-gesOY","title":null,"type":null},"content":[{"type":"text","text":"Tom Scott"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"的視頻。Tom在視頻裏指出,處理時區的最好方法就是不要通過將庫集成到代碼中來處理時區。最好不惜一切代價避免這種情況發生,不然會引發各種各樣的問題。他提到一系列令人發狂的問題、例外情況和矛盾。值得慶幸的是,現在任何開發人員都可以通過簡單地集成時區數據庫來避免這些問題。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"維護tz數據庫的人做着喫力不討好的工作。Tom的視頻可能讓他抓狂了五分鐘,但對這些人來說,解決這些問題是他們整個職業生涯都在努力的事。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"時區管理社區的精英們都是很嚴肅的人,是科技巨頭和重量級人物。Colebourne 在9月份寫的一篇題爲"},{"type":"link","attrs":{"href":"https:\/\/blog.joda.org\/2021\/09\/big-problems-at-timezone-database.html","title":null,"type":null},"content":[{"type":"text","text":"“時區數據庫的大問題”"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"的博客中表示:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Paul Eggert是託管在IANA的時區數據庫的項目負責人,該職位被稱爲TZ協調員。他是該領域的專家,數十年來一直參與記錄時區數據。不幸的是,他目前似乎只想解決一個他認爲重要的虛構問題,而忽視了所有對他這一行動的反對。"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Colebourne的尖銳批評引起了其他人的憤怒,他們指責Colebourne的指責過於草率。此外,還有人提出找人替換Eggert 的TZ協調員職務。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"可以看出,不僅時區大佬們目前還不能就時區數據庫向前推進的最佳方式達成一致,時區的編纂和標準化的整個過程也是一項具有長期動盪歷史的有爭議的政治事務。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"時區維護者,爲什麼很難"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"實際上,時區維護過程被嚴格控制,並與主要的行業利益相關者共享。但最終,時區數據庫代表着對其決定的一種最終仲裁,至少在技術上是這麼解釋時區的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"社區裏的人爆出了一些非洲國家的事情:在僅僅提前4天通知的情況下,這些國家就草率決定了時區。也許他們只是想暗中捉弄Eggert這樣的人。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"“政治性”是對這個科技領域小角落的一種威脅,但有時需要政治決策。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Y Combinator在"},{"type":"link","attrs":{"href":"https:\/\/news.ycombinator.com\/item?id=28650019","title":null,"type":null},"content":[{"type":"text","text":"Hacker News"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"中提供了一個罕見的視角,可以看出這個項目的大部分協調工作都發生在晦澀難懂的列表項中,密切參與其中的人都敏感地意識到了這個項目的重要性。正如一位用戶在回覆另一個質疑時區是否真有那麼大意義的帖子時評論道:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"“我們在阿塞拜疆的一位客戶非常生氣,他們的時區顯示爲Asia\/Yerevan。你可能不知道,阿塞拜疆和亞美尼亞處於對戰狀態。”"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"還有一個知識點:獨立前的愛爾蘭曾經擁有自己的時區:都柏林時間,後來英國人將其取消,作爲對復活節革命(Easter Rising)的懲罰。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"這就是爲什麼世界時區社區的官方源代碼讀起來不像文本數據庫,更像是一種獨特的文學形式:一部分是歷史發展(被註釋掉的部分),一部分是可由計算機讀取的實際代碼,還有一部分是瑣事參考。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/e2\/e289cb11e612832efdf7598e031d61ed.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"對於那些花費了大量時間跟蹤時區演變的人來說,諸如法國試圖在採用十進制以及國際原子能機構定期決定在世界時間系統中增加核秒數等,都是他們每天要解決的問題。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"時區數據庫業內人士表示,每一次高風險的討論都代表着在避免一場千年蟲(Y2K)災難。這甚至可以成爲好萊塢大片的素材。一個無賴國家如果實施了時區騙局,最好在爲時未晚時想出應對之策。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"寫在最後"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"雖然Linux桌面上的許多應用可能會過時或者被取締,但時區檢測程序似乎從未出現過錯誤。否則,我們可能會錯過無數次Zoom會議、面試會遲到等。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"現在很多創業公司表示做了技術創新,並賺到了很多錢,但許多公司可能在短短數年內就會被遺忘,但時區數據庫不會,因爲它無法被遺忘。那些處於技術堆棧最底層的人,默默無聞、不知疲倦地維護着這個世界上很多計算機所依賴的開源項目。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"相關鏈接:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/onezero.medium.com\/the-largely-untold-story-of-how-one-guy-in-california-keeps-the-worlds-computers-on-the-right-time-a97a5493bf73","title":null,"type":null},"content":[{"type":"text","text":"The Largely Untold Story Of How One Guy In California Keeps The World’s Computers On The Right Time Zone. (Well, Sort Of)"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章