選單

開源的惡果,程式設計師正在“自掘墳墓”

上面這個公號「澀郎」,是我的一個備用號,為了防止萬一哪天大號失聯,平時一週我也會發三篇左右的我的思考,讀書筆記,認知感悟等文章,帶領大家一起探索精神與財務自由之路。

大家好,我是校長。

最近開源社群裡發生了一件大事,在 IT 圈引起了轟動,那就是:

faker.js 開源專案的作者刪除了該專案的所有程式碼。

01

事情是這樣的

作為一個著名的 nodejs 工具庫,Faker。js 是作者 Marak 耗時十餘年完成的,Faker。js 可以製造非常多不同型別的假資料,用於開發除錯。他的工作成果為一些大公司創造了非常多價值(包含 Google 在內),大公司卻並未為此付給他一分錢薪水。

Marak 曾在 2020 年 10 月 25 日的時候在推特發帖聲稱自己在公寓火災中丟失了所有東西,幾乎無家可歸。

開源的惡果,程式設計師正在“自掘墳墓”

雖然這一舉動收穫了不少網友的熱心捐款,但最終 Marak 還是選擇刪除了所有的程式碼。

可能 Marak 自從遭遇了火災,損失慘重,而又想到自己的開源專案這麼受歡迎,卻不能給我帶來任何收益而憤怒無比。其實,在刪除之前 Marak 也有一系列的謎之操作,就是往自己的開源專案裡注入各種無關的程式碼,甚至是亂改自己的開源專案,導致使用最新版本 faker.js 的開發者都受到了影響,甚至都跑出了 bug 。最後,大家發現只要退回到之前的版本,就沒有問題。

當然了,最後,想回退到之前的版本也回退不了了,因為 Marak 最終還是一氣之下刪除了這個庫的所有的程式碼。

02

各有各的看法

這件事一時之間,引起了大家的廣泛討論。開源社群一部分開發者表示理解,另一部分則直接「口吐芬芳」。

資訊保安專家 VessOnSecurity 稱這種行為是「不負責任」,如果你對企業免費使用你的免費程式碼有意見,就不要釋出免費程式碼。透過破壞你自己被開發者廣泛使用的專案,你不僅傷害了大企業,也傷害了所有在使用它的人。

但是有人則認為:將程式碼釋出到他們自己的庫中,不需要對任何事情負責。如果你不同意我的觀點,那麼請閱讀許可證中的實際法律條文,它沒有給出任何保證。如果是不負責任的,那又怎樣,他們不需要負責任。

開源協議上是有規定的:

一旦開源專案有問題,是使用者負責,而非開源者負責任。

也有網友說:faker。js 作者破壞他們自己的軟體包的反應,恰好也說明了有多少企業開發者認為他們在道德上有權使用開源開發者的無償勞動,而不用做出任何回報。

對於這件事,大家是怎麼看的呢?其實,大家可以聊一聊自己的看法。

03

開源是技術人的自媒體

有人說:開源是技術人的自媒體。

簡單來講就是:

程式設計師透過自己打造開源專案就相當於在展示自己的技術能力,在打造自己的技術影響力,透過開源專案即使開源作者得不到任何金錢報酬,但是卻給他帶來了名聲和地位。

所以,很多人都樂於開源的目的就是希望透過開源,有利於提升自己的聲望,可以讓自己找到更好的工作。

但是,faker。js 開源作者免費維護專案數十年,擁有上萬 star,上億次下載使用,Marak 好像並未因此受益,並沒有得到更多的報酬,如果 Marak 現在擁有一份很好的工作,也不至於惱羞成怒去刪庫吧?

其實,這個世界就是這樣殘酷,這就像是有的人做自媒體成功了,賺到錢了,有的人確實也有做自媒體的實力,默默寫了上百篇有價值的文章,依然也賺不到錢,所以,有實力並不一定代表可以利用它賺到錢。

因為商業的世界裡,並不是有技術就能賺錢的,必須得有商業思維。

其實,在我看來,技術人的開源世界,更像是滿足了自己的生活之後,用來搞自己業餘愛好的行為。如果一個人在滿足不了自己肚子的前提下,搞開源註定是走不遠的。用愛發電的前提是自己得有足夠的電,否則,你看,為什麼這麼多的開源專案都爛尾了?為什麼久而久之都不維護了呢?

大部分開源的人,其實還是沒有賺到足夠的錢,以致於自己不得已去專心賺錢,沒有時間再去維護開源專案。

純用情懷搞開源,不現實,也不長遠。

大部分餓著肚子搞開源的作者其實都有自己的其他目的。

關於開源,我昨天看到半佛仙人的文章,可謂思考的很有深度。

04

開源是在自掘墳墓

半佛老師用了非常長的一篇文章,論述了他關於對程式設計師開源的看法,我就不贅述了,我就總結一下吧。

半佛老師文章的觀點其實就兩點:

開源給程式設計師創造了更大的蛋糕,但是,開源者並沒有分到蛋糕;

開源專案降低了程式設計師門檻,讓更多的人進來瓜分蛋糕,以致於自己被競爭下去了,就像是自掘墳墓。

我簡單說一下:

開源確實給整個行業帶來了很大的價值,因為開源的存在,讓整個網際網路開發更加高效,更加方便,讓網際網路行業蛋糕越做越大,但是,整個行業在蛋糕做大的同時,卻沒有分給開源者更多的蛋糕,反而是開源的存在,讓開發變得更加簡單,很多複雜的效果,很多複雜的專案都有現成的開源庫,大家直接引用就可以啦,並不需要再自己動腦了,方便高效,以致於,程式設計師行業門檻別的越來越多,吸引了更多的人來瓜分蛋糕,讓自己的蛋糕卻越分越少。

包括像 Google 這樣的大廠,也在使用很多開源專案,自己方便的同時,收穫了巨大的市場蛋糕,卻沒有給開源者任何收益。

這就會讓開源者很鬱悶,我開源了專案,你們拿去賺錢,你們白嫖,我卻還在餓著肚子。

從商業的角度來看,你看看哪家公司不都在為自己建立護城河,技術壟斷,知識壟斷,專利需要版權費,書籍有版權費。換句話講:技術有壟斷,知識有版權,大家都在靠壟斷和版權賺錢。

而程式設計師在開源技術的時候,是去打破壟斷的,但是卻沒有賺到錢。

半佛說:

程式設計師的程式碼像什麼?其實像軟體,像遊戲,只要有原始檔,盜版隨意複製,人人都能用。所以那些付費軟體和遊戲,和防賊一樣保護智慧財產權,實在是傳播成本和應用成本太低太低了。而程式設計師的程式碼開源,同樣的性質,卻恨不得免費給全世界,這時候,沒有人有付費成本。付費的前提,要麼是給了錢有好服務。要麼是不給錢有代價。而【開源】恰恰好兩不沾。

這話,這麼一看確實很有道理。

這個問題確實很值得深思,開源可能正在成為開源者的痛苦。

我想問大家一句:你會為開源付費嗎?什麼?付費了就不叫開源了?

05

如何讓開源者體面的賺到錢?

其實,我也在思考,開源這件事對於大家來講都有好處,其實,開源是在創造更大的蛋糕,是在正和博弈,並不是說開源無法創造更大的價值,也不是說蛋糕就是固定的,你分的多了,我就必須分的少。

當所有人正在做大蛋糕的時候,雖然湧入的人也多,但是蛋糕也在變大,按道理,技術更好的人,其實分到的蛋糕並不是一定都在變小。

如何讓開源作者體面的賺到錢,而又不影響開源呢?

我看到微博上@Easy 大神出了幾個注意,有的還挺不錯的。

開源的惡果,程式設計師正在“自掘墳墓”

我感覺眾籌可能不太靠譜,畢竟使用者都不知道專案會怎麼樣呢?先眾籌,萬一專案不靠譜,有點浪費時間,而且可能開發者們專案正著急用呢,等開源了,時間可能需要一段時間,等不及啊。

其實,第一點還挺靠譜的,開原始碼,服務收費。就像是現在的很多軟體一樣,基礎版免費,高階功能收費。

比如:我把程式碼開源了,你有本事,你自己下載開原始碼,去引用,可能會浪費時間和精力。但是,我在此基礎上提供更便利的服務,比如:直接線上引用,提供更多的服務,提供影片教程,提供程式碼講解等等。

其實,我在思考一個問題:

在既不破壞開源的前提下, 能否將羊毛出在豬身上呢?也就是:我免費開源給所有的開發者,但是,開發者可以交錢,我可以透過其他第三方來賺錢呢?

你看,像 Faker。js 上萬人 star ,上億次下載使用,平臺能夠在開源專案下提供廣告位呢?

讓開源者可以賺廣告商的錢,其實,有價值的,好的開源專案,每天的瀏覽量挺大的。

是不是 GitHub 官方平臺,可以從商業的角度來講,整個 GitHub 平臺可以接廣告呢?接的廣告,掙的錢,可以按照開源專案每天的瀏覽量,給開源者進行廣告分成呢?畢竟 GitHub 是全世界最大的開源社群,每天至少得有幾百萬人在使用。

你看看現在的內容平臺幾乎都是這麼幹的,內容創作者在平臺創作分享,使用者免費看,平臺接廣告創造收益,然後拿出一部分來給創作者分成。

GitHub 其實也可以這麼幹。

對此,大家是怎麼看的?