36 歲被裁失業(yè),開源框架 NanUI 作者轉(zhuǎn)行賣鋼材:“很遺憾,項(xiàng)目將暫停開發(fā)”
本文經(jīng)授權(quán)轉(zhuǎn)自公眾號(hào)CSDN(ID:CSDNnews)
整理 | 鄭麗媛
近日,開源 DevOps 服務(wù)供應(yīng)商 Sonatype 最新發(fā)布了的一份《軟件供應(yīng)鏈狀況》報(bào)告,其中提到了一個(gè)令人擔(dān)憂的事實(shí):“去年有近五分之一的項(xiàng)目停止了維護(hù),這對(duì) Java 和 JavaScript 生態(tài)系統(tǒng)都造成了影響。”
越來越多開源項(xiàng)目停更的背后,究其原因,正是開源開發(fā)者圈內(nèi)那個(gè)幾乎無解的難題:堅(jiān)持開源和維持生計(jì)之間,項(xiàng)目維護(hù)者究竟該如何兩全?
數(shù)不清的開源項(xiàng)目維護(hù)者困于生存壓力,在身兼全職工作的同時(shí),出于熱愛與責(zé)任在業(yè)余時(shí)間“用愛發(fā)電”??梢坏┧麄兪ベ囈陨娴墓ぷ?,其苦苦維護(hù)的開源項(xiàng)目還能長(zhǎng)久嗎?
如今看來,這個(gè)答案似乎是“很難”——在 36 歲這個(gè)“尷尬的年紀(jì)”被裁員失業(yè)、轉(zhuǎn)行銷售鋼材后,開源 .NET 項(xiàng)目 NanUI 作者在國慶節(jié)發(fā)布了停更公告:“很遺憾,NanUI 將暫停開發(fā),做出此艱難決定本人只能深表抱歉?!?/span>

1、項(xiàng)目還沒改名,就迎來了“停更”
從項(xiàng)目介紹來看, NanUI 是 .NET 平臺(tái)上的一個(gè)開源框架,適用于希望使用 HTML5 / CSS3 等前端技術(shù)來構(gòu)建 Windows 窗體應(yīng)用用戶界面的 .NET / .NET Core 開發(fā)人員。
(NanUI 項(xiàng)目地址:https://github.com/XuanchenLin/NanUI)
NanUI 基于 Xilium.CefGlue 項(xiàng)目,其渲染引擎基于可嵌入的谷歌瀏覽器框架(Chromium Embedded Framework),因此“用戶可以使用各種前端技術(shù)(HTML5/CSS3/JavaScript)和框架(React/Vue/Angular/Blazor)設(shè)計(jì)和開發(fā) .NET 桌面應(yīng)用程序的用戶界面”。此外, NanUI 特有的 JavaScript Bridge 還可以方便簡(jiǎn)潔地實(shí)現(xiàn)瀏覽器端與 .NET 之間的通信和數(shù)據(jù)交換。
基于以上特點(diǎn),NanUI 作者林選臣自信表示:“使用 NanUI 界面框架將為傳統(tǒng)的 WinForm 應(yīng)用程序的用戶界面設(shè)計(jì)和開發(fā)工作帶來無限種可能!”

從誕生到現(xiàn)在,NanUI 已經(jīng)度過了 9 個(gè)年頭,雖仍是測(cè)試版,但在功能和 API 語法上已趨近穩(wěn)定,為此林選臣在項(xiàng)目介紹中透露:“經(jīng)過了 9 年的迭代,是時(shí)候?yàn)?NanUI 發(fā)布正式版了!在 NanUI v1.0 正式版發(fā)布時(shí),將正式啟用項(xiàng)目的新名稱 - WinFormium。”
然而,我們還沒有等來 NanUI v1.0 正式版發(fā)布,WinFormium 這個(gè)新名字也還沒有正式啟用,項(xiàng)目就迎來了“停更”。
2、沒人能接手,也沒有足夠捐助
在官宣 NanUI “停更”通知時(shí),林選臣提到了他的失業(yè):
非常不幸的是,本人所在公司也因疫情的原因去年(2022年)初徹底宣布裁減所有開發(fā)崗位,因此本人也只能順應(yīng)大流在 36 歲這個(gè)尷尬的年紀(jì)失業(yè),原本在上班的時(shí)候可以靠著閑暇摸魚時(shí)間開發(fā)和維護(hù) NanUI,但這一失業(yè),這種機(jī)會(huì)也完全喪失了。
失業(yè)之后,他決定跨行業(yè)以銷售鋼材為生。從那個(gè)瞬間開始,對(duì)于林選臣而言,寫代碼這件事就從曾經(jīng)的職業(yè)變成了業(yè)余愛好:“畢竟得生活,得吃飯,我也只能先解決好溫飽問題?!?/span>
或許有人會(huì)疑惑:NanUI 都誕生 9 年了,就沒有人對(duì) NanUI 這個(gè)項(xiàng)目進(jìn)行捐助嗎?有啊,當(dāng)然有,但那些收入根本不足以維持溫飽。
據(jù)林選臣介紹,基于 MIT 協(xié)議開源的 NanUI,如今在業(yè)內(nèi)已有一定的用戶基礎(chǔ),其中不乏有像中國聯(lián)通、百旺金賦、城市快捷酒店、申通等這些知名企業(yè)。但 NanUI 始終采取開源免費(fèi)的政策,偶爾的捐助不過 5 塊10 塊,就算靠著提供支持 H264 編碼的 CEF 編譯庫“逼捐”,每年也最多只有一兩千的收入。
正如林選臣所說,“這對(duì)一個(gè)項(xiàng)目的維持和開發(fā)是遠(yuǎn)遠(yuǎn)不夠的”。
或許又有人會(huì)問:可以把 NanUI 移交給其他項(xiàng)目維護(hù)者啊,沒必要停更吧?按理說是可以的——如果這個(gè)項(xiàng)目還有其他人在開發(fā)維護(hù)的話。
從 NanUI 的 Star 數(shù)(3k)和 PR 數(shù)(5)可以看出,這 9 年來雖然其用戶里有不少知名企業(yè),但整體而言還是一個(gè)比較小眾的開源項(xiàng)目:社區(qū)生態(tài)沒有建立起來,幾乎沒有收到過任何 PR,因此 NanUI 目前還是由林選臣一個(gè)人負(fù)責(zé)開發(fā),也就并沒有其他接替者。
3、為了生存,只能無奈停更
一面是沒人接手、無法維持溫飽的開源項(xiàng)目,一面是從零開始、賴以生存的鋼材銷售工作,這個(gè)選擇對(duì)于林選臣而言,既艱難也無奈:
“為了生存,本人只能花費(fèi)更多的時(shí)間和精力去談單,去銷售,去收款,因此已經(jīng)很難再騰出時(shí)間來開發(fā)和維護(hù) NanUI 項(xiàng)目,對(duì)此我深感無奈,也希望后面生活和工作穩(wěn)定后能騰出時(shí)間來繼續(xù)維護(hù) NanUI?!?/span>
在停更通知的最后,林選臣還交待了一些有關(guān) NanUI 的后續(xù)安排:
目前 NanUI 的最新版本已開發(fā)完成。本打算將該版本作為 NanUI 1.0 正式版發(fā)布,但實(shí)在沒有時(shí)間和精力去編寫文檔和制作示例程序,因此只能延期,開發(fā)者可繼續(xù)使用目前 0.9.109 版本的 NanUI。
當(dāng)前 0.9.109 版本的 NanUI 在功能上已基本穩(wěn)定,沒有什么致命 Bug,可用于開發(fā)各種生產(chǎn)環(huán)境的軟件。
如果遇到問題,“可以到 QQ 群咨詢已經(jīng)開發(fā)有成熟產(chǎn)品的各位大佬,也可以私聊我留言,我有空的時(shí)候盡量回復(fù)”。
4、36 歲就從碼農(nóng)身份畢業(yè)?“怎么想都想不通”
稍感欣慰的是,林選臣的這則停更通知吸引了不少開發(fā)者的關(guān)注,在了解事件因果后,紛紛向他進(jìn)行了捐贈(zèng)和祝福,為此林選臣再次上線表達(dá)感謝:
除了感激之情,林選臣還就未來 NanUI 項(xiàng)目的發(fā)展做了進(jìn)一步規(guī)劃:可能會(huì)效仿一些國內(nèi)開源項(xiàng)目,即基礎(chǔ)版繼續(xù)使用 MIT 開源免費(fèi),進(jìn)階版收取一定費(fèi)用來貼補(bǔ)家用——對(duì)于進(jìn)階版的內(nèi)容,他特別補(bǔ)充道:“進(jìn)階版只是提供額外的工具類方便開發(fā),并不會(huì)縮減開源版目前的功能和特性?!?/span>
而對(duì)于 36 歲就從“碼農(nóng)”身份畢業(yè)這件事,林選臣也深感無奈:“我從 10 歲開始玩 BASIC,到后來的 Turbo C,Pascal,大學(xué)讀了計(jì)科開始玩 C# 到現(xiàn)在,感覺從學(xué)校出來沒有幾年,36 歲難道就畢業(yè)了?怎么想都想不通,真是無奈至極~”
林選臣分享的這些經(jīng)歷和心聲,不出意外地引起了許多開發(fā)者的共鳴:
”36 的 C# 程序員了,感覺現(xiàn)在的這份工作也是最后一份寫代碼的工作了,如果轉(zhuǎn)的話,如果還是寫代碼的話估計(jì)只能上位機(jī)了,大齡程序員在二三線城市還好點(diǎn),沒一線城市那么的無奈,年紀(jì)大了不想寫代碼了,也不知道應(yīng)該做啥了啊。“
”中年人的程序員生涯這么艱難嗎……唉,在想要不要提前找好退路?!?br>
”作為曾經(jīng)的 .Net 和 C# 忠實(shí)碼農(nóng),看到此文真是感慨萬千。“
參考鏈接:
https://blog.sonatype.com/introducing-our-9th-annual-state-of-the-software-supply-chain-report
https://github.com/XuanchenLin/NanUI/discussions/367
本文轉(zhuǎn)自公眾號(hào)“CSDN”,ID:CSDNnews
---END---
