36岁程序员失业后转行卖钢材,开源框架NanUI项目暂停开发

发表时间: 2023-10-10 19:16

整理 | 郑丽媛
出品 | CSDN(ID:CSDNnews)

近日,开源 DevOps 服务供应商 Sonatype 最新发布了的一份《软件供应链状况》报告,其中提到了一个令人担忧的事实:“去年有近五分之一的项目停止了维护,这对 Java 和 JavaScript 生态系统都造成了影响。”

越来越多开源项目停更的背后,究其原因,正是开源开发者圈内那个几乎无解的难题:坚持开源和维持生计之间,项目维护者究竟该如何两全?

数不清的开源项目维护者困于生存压力,在身兼全职工作的同时,出于热爱与责任在业余时间“用爱发电”。可一旦他们失去赖以生存的工作,其苦苦维护的开源项目还能长久吗?

如今看来,这个答案似乎是“很难”——在 36 岁这个“尴尬的年纪”被裁员失业、转行销售钢材后,开源 .NET 项目 NanUI 作者在国庆节发布了停更公告:“很遗憾,NanUI 将暂停开发,做出此艰难决定本人只能深表抱歉。”

项目还没改名,就迎来了“停更”

从项目介绍来看, NanUI 是 .NET 平台上的一个开源框架,适用于希望使用 HTML5 / CSS3 等前端技术来构建 Windows 窗体应用用户界面的 .NET / .NET Core 开发人员。

(NanUI 项目地址:https://github.com/XuanchenLin/NanUI)

NanUI 基于 Xilium.CefGlue 项目,其渲染引擎基于可嵌入的谷歌浏览器框架(Chromium Embedded Framework),因此“用户可以使用各种前端技术(HTML5/CSS3/JavaScript)和框架(React/Vue/Angular/Blazor)设计和开发 .NET 桌面应用程序的用户界面”。此外, NanUI 特有的 JavaScript Bridge 还可以方便简洁地实现浏览器端与 .NET 之间的通信和数据交换

基于以上特点,NanUI 作者林选臣自信表示:“使用 NanUI 界面框架将为传统的 WinForm 应用程序的用户界面设计和开发工作带来无限种可能!”

从诞生到现在,NanUI 已经度过了 9 个年头,虽仍是测试版,但在功能和 API 语法上已趋近稳定,为此林选臣在项目介绍中透露:“经过了 9 年的迭代,是时候为 NanUI 发布正式版了!在 NanUI v1.0 正式版发布时,将正式启用项目的新名称 - WinFormium。”

然而,我们还没有等来 NanUI v1.0 正式版发布,WinFormium 这个新名字也还没有正式启用,项目就迎来了“停更”。

没人能接手,也没有足够捐助

在官宣 NanUI “停更”通知时,林选臣提到了他的失业:

非常不幸的是,本人所在公司也因疫情的原因去年(2022年)初彻底宣布裁减所有开发岗位,因此本人也只能顺应大流在 36 岁这个尴尬的年纪失业,原本在上班的时候可以靠着闲暇摸鱼时间开发和维护 NanUI,但这一失业,这种机会也完全丧失了。

失业之后,他决定跨行业以销售钢材为生。从那个瞬间开始,对于林选臣而言,写代码这件事就从曾经的职业变成了业余爱好:“毕竟得生活,得吃饭,我也只能先解决好温饱问题。”

或许有人会疑惑:NanUI 都诞生 9 年了,就没有人对 NanUI 这个项目进行捐助吗?有啊,当然有,但那些收入根本不足以维持温饱。

据林选臣介绍,基于 MIT 协议开源的 NanUI,如今在业内已有一定的用户基础,其中不乏有像中国联通、百旺金赋、城市快捷酒店、申通等这些知名企业。但 NanUI 始终采取开源免费的政策,偶尔的捐助不过 5 块10 块,就算靠着提供支持 H264 编码的 CEF 编译库“逼捐”,每年也最多只有一两千的收入。

正如林选臣所说,“这对一个项目的维持和开发是远远不够的”。

或许又有人会问:可以把 NanUI 移交给其他项目维护者啊,没必要停更吧?按理说是可以的——如果这个项目还有其他人在开发维护的话。

从 NanUI 的 Star 数(3k)和 PR 数(5)可以看出,这 9 年来虽然其用户里有不少知名企业,但整体而言还是一个比较小众的开源项目:社区生态没有建立起来,几乎没有收到过任何 PR,因此 NanUI 目前还是由林选臣一个人负责开发,也就并没有其他接替者。

为了生存,只能无奈停更

一面是没人接手、无法维持温饱的开源项目,一面是从零开始、赖以生存的钢材销售工作,这个选择对于林选臣而言,既艰难也无奈:

“为了生存,本人只能花费更多的时间和精力去谈单,去销售,去收款,因此已经很难再腾出时间来开发和维护 NanUI 项目,对此我深感无奈,也希望后面生活和工作稳定后能腾出时间来继续维护 NanUI。”

在停更通知的最后,林选臣还交待了一些有关 NanUI 的后续安排:

  • 目前 NanUI 的最新版本已开发完成。本打算将该版本作为 NanUI 1.0 正式版发布,但实在没有时间和精力去编写文档和制作示例程序,因此只能延期,开发者可继续使用目前 0.9.109 版本的 NanUI。

  • 当前 0.9.109 版本的 NanUI 在功能上已基本稳定,没有什么致命 Bug,可用于开发各种生产环境的软件。

  • 如果遇到问题,“可以到 QQ 群咨询已经开发有成熟产品的各位大佬,也可以私聊我留言,我有空的时候尽量回复”。

36 岁就从码农身份毕业怎么想都想不通

稍感欣慰的是,林选臣的这则停更通知吸引了不少开发者的关注,在了解事件因果后,纷纷向他进行了捐赠和祝福,为此林选臣再次上线表达感谢:

除了感激之情,林选臣还就未来 NanUI 项目的发展做了进一步规划:可能会效仿一些国内开源项目,即基础版继续使用 MIT 开源免费,进阶版收取一定费用来贴补家用——对于进阶版的内容,他特别补充道:“进阶版只是提供额外的工具类方便开发,并不会缩减开源版目前的功能和特性。”

而对于 36 岁就从“码农”身份毕业这件事,林选臣也深感无奈:“我从 10 岁开始玩 BASIC,到后来的 Turbo C,Pascal,大学读了计科开始玩 C# 到现在,感觉从学校出来没有几年,36 岁难道就毕业了?怎么想都想不通,真是无奈至极~”

林选臣分享的这些经历和心声,不出意外地引起了许多开发者的共鸣:

  • 36 的 C# 程序员了,感觉现在的这份工作也是最后一份写代码的工作了,如果转的话,如果还是写代码的话估计只能上位机了,大龄程序员在二三线城市还好点,没一线城市那么的无奈,年纪大了不想写代码了,也不知道应该做啥了啊。

  • 中年人的程序员生涯这么艰难吗……唉,在想要不要提前找好退路。

  • 作为曾经的 .Net 和 C# 忠实码农,看到此文真是感慨万千。

参考链接:

https://blog.sonatype.com/introducing-our-9th-annual-state-of-the-software-supply-chain-report

https://github.com/XuanchenLin/NanUI/discussions/367