?作者 | 云昭
周下載2600萬,累計(jì)下載數(shù)十億次的Core-js的負(fù)責(zé)人要打“退堂鼓”了。Denis Pushkarev是數(shù)百萬網(wǎng)站使用的Core-js庫的維護(hù)者,近日,他發(fā)表言論說,他準(zhǔn)備放棄開源開發(fā),因?yàn)楹苌儆腥藶樗麄兯蕾嚨能浖顿M(fèi)。
Core-js是“JavaScript的模塊化標(biāo)準(zhǔn)庫”,它提供了一系列函數(shù)來執(zhí)行常見、有用的操作。它通常用于“polyfills”(在功能較弱的舊瀏覽器中實(shí)現(xiàn)現(xiàn)代瀏覽器功能),每周通過npm注冊表下載超過2600萬次,并被包括蘋果在內(nèi)的主要公司廣泛使用。
“自由開源軟件從根本上被打破了,”他在在Core-js存儲(chǔ)庫的note中寫道。“我可能會(huì)悄悄地停止這項(xiàng)工作,但我想給開源最后一次機(jī)會(huì)。”
開源軟件通常是由無償“志愿者”創(chuàng)建或管理的,由誰來支付費(fèi)用的問題的討論中,依然存在許多摩擦和不滿。
1.月收入僅400美元,被惡意攻擊
Core-js是一個(gè)JavaScript庫,已經(jīng)被下載了數(shù)十億次,并在前10000個(gè)網(wǎng)站中超過一半——但他從捐贈(zèng)中獲得的收入大幅下降。當(dāng)他開始全職維護(hù)Core-js時(shí),他之前每月預(yù)期可以收入2500美元,而現(xiàn)在每月只有400美元。
這有各種各樣的原因。一是普什卡列夫在俄羅斯,自沖突以來,俄羅斯一直受到廣泛的金融制裁。2020年,他因摩托車撞人事故在監(jiān)獄服刑了大約10個(gè)月。
作為一名開源人,他的經(jīng)濟(jì)處境十分堪憂。“當(dāng)我開始從事Core-js時(shí),我是一個(gè)人,”他寫道。“現(xiàn)在我有家庭了。一年多前,我成了一個(gè)兒子的父親。現(xiàn)在我必須為他提供體面的生活水平。”
當(dāng)一個(gè)每周下載2600萬次的JS庫的維護(hù)者因用摩托車意外事故而入獄時(shí),會(huì)發(fā)生什么?Core-js剛剛發(fā)現(xiàn)。
普什卡列夫承認(rèn),他收到了很多仇恨,而且不僅僅是社交媒體上有關(guān)其代碼風(fēng)格的敵意言論。
“今天,一個(gè)開發(fā)者給我寫了一條信息,”他寫道。“他稱我為開發(fā)者社區(qū)身體上的寄生蟲,通過發(fā)送垃圾郵件賺了很多錢,卻沒有做任何有用的事情。”
“他說我是和漢斯·賴澤一樣的兇手,他收買了法官,逍遙法外。他希望我和我所有的親戚都去死。這沒什么不尋常的,我一個(gè)月會(huì)收到幾條這樣的消息。最近一年,又加上了我是‘俄羅斯法西斯’無厘頭的污蔑。”
但是他也收到了很多來自開源社區(qū)用戶的支持,他們認(rèn)識(shí)到代碼的可持續(xù)性仍然是一個(gè)問題,并且將他們的考慮局限于財(cái)務(wù)問題。
2、開源難逃戰(zhàn)火與偏見
Pushkarev更喜歡關(guān)注開源的“經(jīng)濟(jì)學(xué)”,而不是他的處境和他居住的國家的政治。“開源應(yīng)該遠(yuǎn)離政治,”他說,并補(bǔ)充說,他不想深入研究這些問題的細(xì)節(jié),因?yàn)槎砹_斯和烏克蘭邊境兩邊的人都可能因此而遭受損失。
“我回到了俄羅斯,因?yàn)樵谀抢锟梢杂孟鄬?duì)較少的錢過上體面的生活,并專注于自由/開源軟件,而不是賺錢,”他寫道。“現(xiàn)在我不能離開俄羅斯,因?yàn)槭鹿拾l(fā)生后,我有數(shù)萬美元的未決訴訟,在這些訴訟得到清償之前,將被禁止出境。”
Victor Shepelev,是一名居住在烏克蘭哈爾科夫的Ruby開發(fā)人員和軟件架構(gòu)師,他在Twitter和GitHub上被稱為@zverok,則表達(dá)了開源應(yīng)該遠(yuǎn)離政治的觀點(diǎn)。
“對(duì)我來說,任何(有意義的)討論都可以圍繞開源的可持續(xù)性、獲得報(bào)酬等問題展開,但目前這些被‘戰(zhàn)火’問題掩蓋了,因?yàn)閱栴}就擺在在那里,我不想評(píng)論更多。”
Shepelev認(rèn)為,“文化應(yīng)該遠(yuǎn)離政治”是一種共識(shí),而軟件開發(fā)是人類文化的一部分。在一個(gè)和平民主的社會(huì)中,這是真理,就像“我對(duì)稅收和投票系統(tǒng)的細(xì)微差別有不同的看法,但這并不妨礙我們在有趣的項(xiàng)目上進(jìn)行合作”!
3、開源維護(hù)者是無名英雄
一位開源開發(fā)者、安全商業(yè)套接字的CEO對(duì)此表示了,開源維護(hù)者應(yīng)該得到大公司的尊重和饋贈(zèng)——
(開源)維護(hù)人員是軟件世界的無名英雄,他們?nèi)娜獾貏?chuàng)造大量的價(jià)值,而這些價(jià)值往往不被重視。這些無名英雄執(zhí)行著關(guān)鍵的工作,使得所有的現(xiàn)代技術(shù)得以運(yùn)行——這并不夸張。這些不知疲倦的人致力于編寫新功能、修復(fù)錯(cuò)誤、回答用戶詢問、改進(jìn)文檔和開發(fā)創(chuàng)新的新軟件,然而他們的努力幾乎沒有得到認(rèn)可。
他在信中還建議道,商業(yè)界和開源社區(qū)必須走到一起,尋找到一種方式,去認(rèn)可和獎(jiǎng)勵(lì)維護(hù)者的寶貴貢獻(xiàn)。如果重大的個(gè)人犧牲成為了開源參與的先決條件,那么許多聰明、有才華的人才將會(huì)挽留不住。這對(duì)誰都沒好處。
那些非安裝包的維護(hù)者,比如Core-js,在安裝其他包的時(shí)候經(jīng)常會(huì)順帶著安裝。可靠、無錯(cuò)誤的傳遞依賴是不可見的。因此,維護(hù)者也是隱形的。令人咋舌的是,這些維護(hù)者做得越好,他們就越不為人知。沒有人會(huì)為了一個(gè)完美運(yùn)行的可傳遞依賴而訪問GitHub庫——沒有理由這樣做。但是調(diào)查錯(cuò)誤堆棧跟蹤的開發(fā)人員可能會(huì)訪問存儲(chǔ)庫,原因不外乎提交一個(gè)問題。這正是Core-js維護(hù)者面臨的問題。
對(duì)于大公司來說,他們從開源代碼的免費(fèi)勞動(dòng)中獲得的比他們在捐贈(zèng)中付出的更多——如果他們真的付出了——現(xiàn)狀看起來是一個(gè)非常好的交易。
然而,對(duì)于個(gè)體開發(fā)者來說,無償?shù)拇a創(chuàng)建和維護(hù)是有成本的——不僅可以從財(cái)務(wù)角度衡量,也可以從社會(huì)和政治資本角度衡量。
4、開源人:成就感更大于收入
一位沒有透露姓名的開源開發(fā)者為Pushkarev給了一些建議:
開源人需要尋找堅(jiān)持的動(dòng)力。如果你不能繼續(xù)做無償?shù)摹爸驹刚摺保闳匀豢梢宰鲆恍┦虑椋蛘咦屍渌私邮诌@個(gè)項(xiàng)目。
如果我寫了一個(gè)自由和開放源碼軟件的東西,這對(duì)我獲得編程工作很有用,那么它會(huì)幫助我個(gè)人去做它。
如果其他人也從中受益,那就更有成就感了。比如說,至少可以部分處理使用者提交的修補(bǔ)程序并進(jìn)行管理。
補(bǔ)丁/測試形式的貢獻(xiàn)非常有用。一些開源人更喜歡這種成就感而不是錢,當(dāng)然,前提是收入都來自其他/不同的來源,而且修復(fù)FOSS代碼將間接幫助自己。
但不可否認(rèn)的是,在自由和開放源碼軟件上工作,很難謀生,所耗費(fèi)的時(shí)間和精力會(huì)很大。
于這部分人而言,優(yōu)質(zhì)補(bǔ)丁和測試的“實(shí)用”捐贈(zèng)與社區(qū)支持項(xiàng)目的捐贈(zèng)一樣好。不過,定制軟件和支持肯定會(huì)帶來收入,而這其中“增值”部分賺得最多。
5、寫在最后
開源看起來確實(shí)被打破了,但事實(shí)上,它從來都不是獨(dú)立或者公平的。它的問題在和平時(shí)期更容易處理。但出于地緣不確定性語境下,自由和開放源碼軟件(FOSS)的“理想”已然崩潰,人們需要資金來開發(fā)和維護(hù)它們,但誰又會(huì)觸碰這條敏感的神經(jīng)呢?
不過解決的方法永遠(yuǎn)比問題要多,開源維護(hù)者的收入支持,尤其是全職維護(hù)者,需要商業(yè)公司與開源社區(qū)的持續(xù)的合作與關(guān)注。
參考鏈接:https://www.theregister.com/2023/02/15/corejs_russia_open_source/