近日,开源社区传来一个令人扼腕叹息的消息。致力于将 Avalonia 和 .NET 引入鸿蒙(HarmonyOS)生态的开源组织 OpenHarmony-NET 宣布,其旗下的所有项目正式停止更新并归档。项目作者“布布”(CeSun)在项目主页的 README 中,公开了这背后的种种无奈与商业博弈。
这不仅是一个技术项目终止的故事,更折射出了开源开发者在面对企业合作、外包招标时的复杂处境。

发生了什么?一场被“截胡”的开源合作
根据作者布布的自述,项目之所以走到今天这一步,背后是一连串出人意料的变故:
- 合作与闭源的初衷:早在去年 7 月份,该项目就停止了公开发布更新。原因是跨平台 UI 框架 Avalonia 官方当时正在与华为洽谈合作,并承诺一旦合作达成,将全职或兼职雇佣布布来继续主导鸿蒙的适配工作。为了保护自己与 Avalonia 的利益并对齐技术规范,布布放缓了开发进度,并将后续代码仅推送到闭源仓库。
- 被背刺的真相:然而,双方的合作一再推迟。直到今年春节前,多家外包公司通过 B站和博客园主动联系布布寻求竞标合作,他才恍然大悟:华为明面上虽然在与 Avalonia 谈合作,背地里却拿着 Avalonia 提供的技术信息,在招标平台上向国内供应商公开招标。外包公司手里拿到的信息,正是 Avalonia 之前提供给华为的核心资料。
- 拒绝外包与最终归档:面对外包公司“随便开条件”的竞标邀请,布布果断选择了拒绝。他表示,自己本身就有待遇不错的工作,参与 Avalonia 开发完全出于业余爱好和对该框架团队氛围的喜爱,并不想为了外包去冒风险。近期,随着某外包公司在招聘平台上正式招募《Avalonia框架工程师》,布布确认该项目已被外包公司成功竞标。尘埃落定后,他决定彻底停止 OpenHarmony-NET 的更新,且已开发的闭源内容也不会公开。
对于未来,布布表现得很坦然。他指出,竞标成功的外包公司为了获取国家对开源项目的补贴,大概率最终也会以某个 SIG(特别兴趣小组)的名义将代码开源。他唯一的希望,是未来使用或参考他们代码的企业能够遵循 MIT 协议,将他们的项目保留在 LICENSE 中,以肯定前期开发者的付出。
认识作者:纯粹的 .NET 极客“布布” (CeSun)
在这场风波中,我们看到了一位纯粹、不为短期利益妥协的开发者。作者布布 (CeSun) 是一位资深的 .NET 开发者,长期活跃于博客园等技术社区,热衷于分享 .NET 底层技术,并致力于将 .NET 跨平台生态带入各种全新的领域。
他的技术实力和开源精神有目共睹,除了此次归档的 OpenHarmony-NET 以外,他还有以下几个非常亮眼的个人开源项目:
- OpenHarmony-NET (鸿蒙适配系列项目):布布是国内极少数死磕将 .NET 运行时和 Avalonia UI 移植到纯血鸿蒙(HarmonyOS Next)的先行者。他曾在 .NET Conf CN 大会上分享过相关经验,并独立解决了鸿蒙系统下底层的 syscall (seccomp) 限制、P/Invoke 调用鸿蒙 NDK 等极其硬核的技术难题。
- Aura3D:随着 Avalonia 生态的丰富,客户端的 3D 可视化需求逐渐增加。为了填补生态内缺乏开箱即用的轻量级 3D 控件的空白,布布开发了 Aura3D。该框架支持布林冯光照模型、静态模型渲染以及蒙皮动画,让 Avalonia 开发者能够非常轻松地在 UI 中加载和展示 3D 模型。
- Blazor Hybrid 鸿蒙适配:除了 Avalonia,布布还成功将基于 Web 技术的 Blazor Hybrid 架构适配到了 HarmonyOS 上。他利用鸿蒙底层的
WebMessagePort机制打通了 Webview 内 JS 与原生 .NET 代码的交互,为鸿蒙生态提供了另一种高性能的混合开发解决方案。
OpenHarmony-NET 的归档无疑是 .NET 和鸿蒙开发者社区的一大遗憾。一个由个人兴趣驱动、本可以成就一段官方开源合作佳话的硬核项目,最终淹没在了商业竞标和外包的潜规则中。
但正如布布所言,他对此并不后悔,也不需要网友们为他打抱不平。作为旁观者,我们唯有向这样纯粹的技术极客致敬。希望未来的商业力量在利用或接手这些开源探索的成果时,能够多一份对原创作者的尊重。保留一个 MIT 协议的署名,是开源代码最后的尊严,也是企业应有的底线。
评论 0 条
暂无评论,来种下第一颗种子。