Kefir C 编译器公共开发的终止
致相关人士:今天我宣布终止Kefir C编译器的公共开发,并将工作转为私人模式,且时间未定。我对此变更感到悲伤,但我认为这是为了项目的可持续发展。从现在起,Kefir编译器项目将不会再有新的重大开发公开发布。该项目的工作将继续以私密方式进行。新的开发模式涵盖对项目的所有重大变更,但对错误修复和微小改进的例外,以及我认为尤其需要发布的任何其他内容。目前已经发布的工作将继续可用。因此,这一变化不应阻止任何人向现有的公开代码库报告错误。任何已报告的问题都会尽可能公开解决。 当前未发布代码的情况如何?目前发布的开发分支中有一定数量的代码。这些更改并非微不足道,但在我看来,这并不足以代表一个单独的发布。在接下来的几天里,我计划稳定这些更改并将其作为未发布的慢节奏主分支保留。任何潜在的错误修复都会在那里发布。“私密”意味着什么?意味着我将所有新代码保留给自己,供我个人享受、娱乐和消遣。我不打算出售任何东西,分发二进制文件等。如果有人对其特别感兴趣,我可能会以非常有限的方式分享,但这并不是我的意图。为什么?简而言之,总结下面冗长的段落,我希望为自己保留项目的乐趣精神,同时保持其在整体上的可持续性和健康性。我也不想让我的未来工作被无为而用作商业目的。将其私密化可以解决这两个问题。考虑到公众兴趣冷淡和缺乏合法化选项,这一决定的明显缺点似乎非常有限。接下来我将阐述一些想法,您可以随意跳过。 点击阅读闲聊。范围和开发资源 从一开始,我就完全出于对编译的兴趣而开展这个项目,C编程语言在这方面提供了丰富的环境。任何其他动机充其量都是次要的,并且是在事后附加的。因此,源代码的发布一直只是拥有它的副作用。我当初根本没有更好的事情可以做。我在空闲时间和个人预算下工作于该项目。然而,到此为止,编译器已经超出了我在各个重要维度上合理维持开发的能力:每个更改都需要考虑到整个测试套件的正确性,与其他功能的集成,优化管道和性能考虑,编译器效率,以及其他 concerns(例如调试信息管理)。开发时间的一大部分用于规划更改和调试后果,从而显著减慢了有趣的实验。维持合理的开发速度将要求我要么放弃质量标准,放弃一些前面提到的考量,要么投入更多的时间和开发资源。我不愿意做前者,而在满足我在其他方面的主要责任的前提下,我也无法健康地做到后者。简单来说,我无法在保持乐趣的同时维持当前的现状。将项目转入私密模式让我可以在心理上重新审视它,将其视为一项纯粹的乐趣事业,而无需进一步的严肃考虑。 理性计算 这个项目存在的理由一直是深深主观和非理性的。尽管如此,我在最近也对这段时间的花费做了一些算计,尤其是当项目范围与开发资源不匹配变得更加尖锐时。坦率地说,甚至对于一个从未有过实质性成功抱负的项目而言,“投资回报”也极其糟糕。在这一点上,我得出结论需要认真考虑这一点。特别是,“投资回报”在我看来是一个更广泛的概念,包括(实际上,主要集中于)非货币方面。看到真实的反馈、互动和积极的参与总是令人鼓舞和激励。我非常感谢所有花时间探索该项目、使用它、报告错误、打包或以任何其他方式参与的人。然而,当前我观察到的这一方面的活动水平,理性上不允许我将自己的工作从一项乐趣的爱好转变为某种利他主义的公益服务。当前的这种状态是完全合理且可预期的,我没有自欺欺人关于这项工作的价值或影响,但这也很重要在我的“投资回报”计算中。
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡