開源軟體在應對新冠病毒中的貢獻
在當前緊張的疫情環境下,保持專註和積極性是一個很大的挑戰。而研究開源社區如何應對這一次疫情爆發,對於我來說卻成為了一種宣洩。
從今年一月底開始,整個開源社區已經貢獻了數以千計關於冠狀病毒或新冠病毒的開源軟體倉庫,其中涉及的內容包括但不限於數據集、模型、可視化、Web 應用、移動應用,且大多數都使用了 JavaScript 和 Python 編寫。
之前我們分享過一些關於開源硬體創客們在幫助遏制冠狀病毒傳播方面做的貢獻,現在將繼續分享四個由開源社區作出的應對冠狀病毒和新冠病毒的項目,這體現了開發者們和整個開源社區在當下對整個世界的影響力。
1. PennSignals:CHIME
![CHIME by PennSignals](/data/attachment/album/202003/30/210656xfpiuupf33lns9fu.png "CHIME by PennSignals")
新冠病毒流行病醫院影響模型 (CHIME)是由賓夕法尼亞大學 Penn Medicine 機構的數據科學家們建立的開源在線應用,它可以讓醫院更好地了解本次新型冠狀病毒對醫院需求的影響。
醫院的管理人員可以通過 CHIME 來大致預測未來幾天和幾周內將會有多少患者需要住院治療,並推算 ICU 和呼吸機的需求量。只需要輸入當前住院患者數以及一些相關的變數,就可以看到未來幾天內需求的變化情況。
CHIME 主要使用 Python 開發,並通過 Pandas 這個開源庫實現了大部分的數據轉換和數值計算,最終得出相關的估計值。Pandas 的背後有一個強大的團隊進行支持,它是在數據分析方面被廣泛使用的 Python 庫之一。和很多其它的開源項目一樣,Pandas 團隊的收入大部分來源於用戶的資金支持。
2. Locale.ai:實時新冠病毒可視化
![Locale.ai COVID-19 visualization](/data/attachment/album/202003/30/210713x5m01890zmr59je5.png "Locale.ai COVID-19 visualization")
實時顯示世界各地病例數量分布的地圖可以讓我們直觀了解新冠病毒的規模和擴散程度。Locale.ai 就開發了這樣一個開源、可交互的新冠病毒已知病例可視化分布圖,這個圖會根據最新的可靠數據實時進行更新。
這個項目有趣的地方在於,它的數據是是通過 GitHub 用戶 ExpDev07 創建的開源 API 進行檢索的,這個 API 的數據來源是約翰·霍普金斯大學的開源數據集,而約翰·霍普金斯大學這份聚合了多個來源的數據集則是 GitHub 上新冠病毒相關的最受歡迎的項目。這就是開源項領域中分支帶來的一大好處。
Locale.ai 的這個圖表通過 Vue.js 開發。Vue.js 是一個在 Web 應用開發方面非常流行的框架,它是由尤雨溪創造並維護的。值得一提的是,尤雨溪是少數以全職參與開源項目維護的人之一。
3. BlankerL:DXY-COVID-19-Crawler
![BlankerL DXY-COVID-19-Crawler](/data/attachment/album/202003/30/210730s1f2n1elklohlnhp.png "BlankerL DXY-COVID-19-Crawler")
DXY-COVID-19-Crawler 建立於今年 1 月份,是開源社區對新冠病毒最早發起響應的項目之一。當時該病毒主要在中國範圍內傳播,中國醫學界通過丁香園網站來進行病例的報告和跟蹤。為了使這些疫情信息具有更高的可讀性和易用性,GitHub 用戶 BlankerL 開發了一個爬蟲,系統地從丁香園網站獲取數據,並通過 API 和數據倉庫的方式對外公開。這些數據也被學術研究人員用於研究病毒傳播趨勢和製作相關的可視化圖表。到目前為止,DXY-COVID-19-Crawler 這個項目已經獲得了超過 1300 個星標和近 300 次的復刻。
BlankerL 使用 Python 和 Beautiful Soup 庫開發了這個爬蟲。Beautiful Soup 是 Python 開發者用於從頁面 HTML DOM 中提取信息的庫,它由 Leonard Richardson 維護,這位作者另外還全職擔任軟體架構師。
4. 東京新冠病毒工作組網站
![City of Tokyo's COVID-19 Task Force site](/data/attachment/album/202003/30/210739ti5dm55ibddzdwl6.png "City of Tokyo's COVID-19 Task Force site")
世界各地很多城市都在網路上持續更新當地的新冠病毒信息。東京都政府則為此創建了一個綜合性的網站,讓東京當地居民、在東京設有辦事處的公司以及到東京的遊客了解最新情況,並採取相應的預防措施。
這個網站的不同之處在於它是由東京都政府開源的。這個項目受到了來自 180 多名用戶的貢獻,日本的長野市、千葉市、福岡市還對這個網站進行了改造。這個項目是城市公共建設更好地服務大眾的有力示範。
這個開源網站也使用了很多開源技術。通過 Tidelift,我留意到項目中存在了 1365 個依賴項,而這都是由 38 個由開發者明確使用的直接依賴項所依賴的。也就是說,超過一千多個開源項目(包括 Nuxt.js、Prettier、Babel、Ajv 等等)都為東京向市民共享信息提供了幫助。
![Dependencies in Tokyo's COVID-19 Task Force site](/data/attachment/album/202003/30/210749v6amimp7itl067z6.png "Dependencies in Tokyo's COVID-19 Task Force site")
其它項目
除此以外,還有很多應對新冠病毒的重要項目正在公開進行當中。在這次研究中,開源社區應對流行病以及利用開源技術開展工作的方式讓我深受啟發。接下來的一段時間都是應對疫情的關鍵時期,我們也可以繼續在開源社區中尋找到更大的動力。
如果你也參與到了新冠病毒相關的開源項目當中,歡迎在評論區分享。
via: https://opensource.com/article/20/3/open-source-software-covid19
作者:Jeff Stern 選題:lujun9972 譯者:HankChow 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive