close

關注科技圈的差友,前段時間應該聽過這麼一個事情。

開源項目faker.js 和 color.js的開發者Marak,一夜之間清空了所有項目,並塞進一些惡意代碼。

雖說 Marak 名聲不大,但這兩項目可是在開源界極其火爆。

Faker.js 可以幫開發者生成偽數據,Color.js 可以幫助網頁着色。它倆在 NPM( 組件庫網站 )上每周下載量加一起近乎 2700 萬。

所以 Marak 這通操作,讓很多用戶突然無法工作,引起了不小的混亂。

用戶應用輸出亂碼▼

當然,Marak 這麼做可不是因為中午多喝了 2 杯。

而是作品一直被各大公司白嫖的同時,經濟上還遇到了困難,心裡不平衡引發的。

這故事裡細節還挺多的,差評君簡單給大家講講。

2020 年 10 月,Marak 發推特說它的公寓失火,家當都燒沒了。希望大家走過路過,多少意思一下。

但看這寥寥無幾的轉發和點讚數,我估摸他是沒收到多少錢。

接着,他又從小道消息得知,不少大公司都在大量使用他的項目。

而他作為作者,不僅沒撈到啥錢,甚至現在都要流浪街頭了。

換做是誰,可能心裡都有點不爽。

於是 Marak 就發了一個通告說,不想搞免費了。
你們這些白嫖怪要麼給個 6 位數的合同,要麼 Fork ( 類似於復刻)一份代碼自己研究去。

然而,理他的人並不多。

後來為了生存,他基於 Faker.js 做了一個網頁版的應用 Faker Cloud。

但沒多久他發現別的公司也開發了一款類似的,服務正是基於 Faker.js,於是他向那個公司發郵件,問要不收購 Faker Cloud 算了。

但是對方只是敷衍了一下,沒有再回應。

最後,這個擁有頂級開源項目的老哥,由於一窮,二賺不到錢,三總被白嫖,選擇了刪庫。。

關於這件事,網友觀點也不太一致。

有人說他不守規則:你都開源了,別人再怎麼白嫖你,也是按規矩來的。

但也有很多的人認為「 為眾人抱薪者,不可使其凍斃於風雪 」。

圖源IT之家▼

意思就是這些開發者是為大家提供便利,在他們遇到困難時,那些白嫖他們成果的公司,理應提供點支持。

不知道各位差友怎麼看,差評君先就事論事:

老哥刪庫可以,但他想法不對,推送惡意代碼更不對。另外那些公司白嫖 Faker.js 在法律上沒啥毛病。

看到這可能有的差友急了,你這是公開支持白嫖怪?

當然不是,看看文章結尾的點讚和在看,你就知道差評君向來不鼓勵大家白嫖。

在解釋觀點之前,大伙兒不妨先認識一下開源這個玩意。

為了更好的理解,我們把代碼比喻成菜譜。

你擅長做一個菜,並為此寫下一份菜譜。

開源呢,就是你把這份菜譜公開出來,用的原材料和配方,別人都能看到,也能複製一份。

當然,別人也可以根據自己口味,在你的菜譜上做點改動。

這就是開源。

但通常來講,為了維護開源社區,代碼不被濫用,大家開源時還會加一份開源協議。

大大小小的開源協議有上百個,非常複雜。目前主流的有:MIT、GPL、BSD、Apache。

它們主要區別就是,別人修改代碼後是否可以閉源( 私藏起來),是否要遵循同樣的開源協議。

圖源阮一峰博客▼

比如你選了 GPL 協議,那別人改動你的菜譜之後,他也要公開出來,不能藏着掖着。

但如果你選了寬鬆點的 MIT 協議,別人改動菜譜後就無需公開,還能把它作為「 秘方 」,開個排檔賺點錢啥的。

刪庫這件事中的老哥 Marak,選的是 MIT 協議。

這個協議里可沒規定別的公司不能用 Faker.js 賺錢,也沒規定使用 Faker.js 後要付錢給 Marak。

所以人家白嫖,在法律上,確實是沒啥毛病。

那為什麼說 Marak 想法不對呢。

首先啊,一個項目開源了,相當於給別人提供了自己的結晶,方便了大家。

第二,項目開源後,參與的人自然變多了。那大家一起改善優化,技術也會進步得快。

所以,開源本質是給大家提供便利,促進技術發展。


但 Marak 呢?

他選擇了 MIT 協議,就理應做好會被別人「 白嫖 」的準備。

卻因別人用他項目賺錢,自己沒賺到錢,一怒之下刪庫甚至放入惡意代碼。

這,恐怕有點違背了開源精神吧。如果每個開源維護者都像 Marak 這樣,不全亂套了麼。

Marak真想賺錢,其實辦法挺多的。
就憑這 2 個火爆的開源項目,我想他不難找到一份好工作吧?

或者,他也可以像 Redhat一樣,提供免費版產品,當用戶遇到技術問題,再提供付費支持。

要實在不行,就想躺平,也可以和之前一樣,每個平台都放上贊助碼。只不過人家幫你是情分,不幫是本分。

當然了,差評君寫這篇文章並不是要背刺一下 Marak,而是因為這件事映射出了開源界的現狀:

絕大多數開發者們和 Marak 一樣,在開源項目上幾乎就沒啥回報。

美國有一家公司叫 Tidelift,他們的產品可以幫別人管理開源項目,所以平時會和大量優秀的開發者打交道。

去年,他們做了一份《 開源維護者現狀調查 》報告,有 400 人參與了調查。

調查發現,46% 的開源維護者在開源項目里賺不到 1 分錢。

我們假設 1 萬美元可以供一個人吃住行 1 年,那只有13% ( 7%+1%+5%)的開發者能達標。

也就是說,10 個開發者中,僅有 1 個人能靠開源生活。

真實情況可能更慘。

差評君寫文章時採訪了一個 7 年程序員同學,他說開源是好的,利於互聯網發展。

但當我問到他,開源就是用愛發電嗎,如何賺錢呢。

他說:我不太懂其中的商業模式。

事實上,大部分開發者和他一樣。

他們沒有商業思維,開源時就沒太考慮要怎麼賺錢。

關於開源帶給自己的物質利益,他們能想到的,除了是把它作為個人簡歷,好找一份得當的工作,最多也就是放上一個收款碼賺點零花錢( 收入全靠他人自願)。

他們想法都很純粹,就是要促進技術發展。

當然,大家都是普通人,誰會不愛錢呢?如果開源能多賺點錢,那肯定開心。

但,賺不到錢,他們也不會怎麼樣。

當初選擇開源,就已經決定用愛發電了,該更新的還會更新,該修補的漏洞還會去修補。

前段時間 log4J2 漏洞事件大家都知道吧。

出事之後,有人追責甩鍋,有人擔心漏洞影響,卻很少有人關心 log4J2 的維護者。

說出來你不信,Log4J2 這麼大一個開源項目,只有 3、4 個程序員在業餘時間來管理和維護。

曝出漏洞後,他們第一時間就在努力修復,他們有問別人要過回報麼?

雖然吃力不討好,但他們依然堅持着。。

這樣的事情,這樣的開源維護者,還有很多很多。

我知道,我們沒有贊助他們的義務,但差評君還是希望,大家可以在力所能及的地方,多給給這些人一些關注和支持。

他們把工具和知識分享出來,為別人帶來便利,也加快了技術進步。

他們為互聯網發展帶來了很大的貢獻,他們在做一件非常有意義的事。

如果真要問,是什麼讓他們選擇開源,是什麼讓他們堅持下來。

也許 Tidelift 上的投票會給你答案。

71% 的開發者選擇了 Making a positive impact on the world。

——為世界創造積極的影響。

撰文:刺蝟 編輯:小鑫鑫 封面:萱萱

圖片、資料來源:

魔術師卡頌:2021全球開源維護者生存現狀

魔術師卡頌:Faker.js作者:要麼付錢要麼你行你上

機器之心:暴力拒絕白嫖,著名開源項目作者刪庫跑路,數千個應用程序無限輸出亂碼

2021_Tidelift_Maintainer_Survey_FINAL.pdf

阮一峰博客

知乎:如何看待faker.js 開源作者刪除了所有的代碼?

IT之家:開發者自己破壞 GitHub 兩個知名開源庫,大量用戶受影響


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()