Krita 项目 2022 年回顾与 2023 年展望
虽然姗姗来迟,下面我们将对 Krita 项目 2022 年的工作进行回顾,并对 2023 年的工作做出展望。
在疫情爆发后迄今三年间,Krita 的团队还没有人因此挂掉,谢天谢地。尽管如此,2022 年也并不是一个好年景。本文作者,也就是 Krita 项目的主维护者 Halla 因为长新冠,加上一些不便在此讨论的个人问题的影响,工作效率大不如前。
2022 年之前,我们的工作已经可以被简单概括为使出洪荒之力来处理如同洪水般涌进来的程序缺陷报告。这些报告中有相当大的比例是无效的,因为许多没有经验的报告者无法准确描述问题。我们无意责怪他们,因为写好一个程序缺陷报告并不是一件轻而易举的事情。不过在更多时候,这些报告的内容实际上与 Krita 无关,更多的是他们的操作系统、数位板驱动程序、显卡驱动程序的问题,还有许多别的因为误解而被认为是 Krita 的锅。现在 Krita 项目中没有处理的程序缺陷报告比以往更多了。
针对这个情况,我们决定采取另一种方式来应对。我们需要主动确定项目的进展方向,而不是一味被动地应对个别的程序缺陷报告或者功能请求。
于是在 2022 年初疫情刚一解封,Krita 项目的两个开发者 Halla 和 Wolthera 就在荷兰代芬特尔线下会面,为以上的开发思路做准备。我们无法为这次线下会议凑齐人员,毕竟疫情还没过去,俄乌那边已经开始战云密布了。
两人还讨论了 Krita 的主要商业竞争对手 Clip Studio。至于其他竞争对手,Photoshop 对绘画功能并不上心,而 Corel Painter 主打把照片变成画作,和我们从头开始制作作品的思路并不一致。
我们通过讨论总结出了一份文档:试图指出 Krita 当前缺少、不足的最重要的功能是什么,概括如下:
- 文字对象功能
- 单图到书册、项目管理
- 扩展欢迎页面功能
- 云端服务整合
- 移动设备专用界面
- 3D 模型临摹辅助
- 灵活的漫画分格功能
- 矢量笔刷
- 图层管理改进
- 项目资产管理
- 新的填充工具
我们还与所有的受赞助的开发团队成员召开了一场线上会议,让他们可以选择自己想要承担的任务:
- Dmitry 打算专注于将笔刷编辑器的逻辑进行剥离,以便我们可以制作全新的笔刷编辑器界面而不会破坏笔刷引擎的功能。此项工作现在已经完成了。
- 文字对象。文字对象是文字工具的基础部分。Wolthera 花费了大量精力对这部分程序进行了改进。文字工具本身还需要重写才能使用这些功能,不过现在你也可以直接通过编写 SVG 代码调用这些新功能。新的文字对象支持 SVG2 和 CSS,支持各种自动换行和旁排版功能,示例如下:
新版文字引擎的编写工作已经基本完成,它已被合并到了程序的主开发分支。
- Agata 做了大量工作来改进 rita 的辅助尺功能和漫画分格功能。前者已经提交评估 (1, 2),后者正在设计阶段。
- Sharaf 正在把 Krita 的欢迎页面移植到 QML,使其更加灵活易用。这项工作进展缓慢,因为他正在为了 Krita 安卓版应付 ChromeOS 那频繁变化的 API 而疲于奔命。同样的挑战也来自 KDE 的 QML 程序框架 Kirigami,这玩意儿也是三天两头就大变脸,而且也不够稳定。
- Emmet (2022 年 12 月前还有 Eoin) 正在重构 Krita 动画功能中的音频支持系统。这项工作在技术上已经完成,但在各个平台上还存在依赖程序库的构建问题。
当然,我们肯定不能对报告上来的程序缺陷放任不管。我们完成了超过 1000 个报告的处理。
我们还发布了以下几个 Krita 正式版本:
- Krita 5.0.6:2022-04-27,发布简讯
- Krita 5.0.8:2022-05-25,仅发布了源代码,针对采用 Qt > 5.12 的 Linux 发行版解决了一个关于构建的程序质量退步问题。
- Krita 5.1.0:2022-08-18,发布简讯,更新日志
- Krita 5.1.1:2022-09-13,发布简讯
- Krita 5.1.3:2022-11-07,发布简讯 (5.1.2 被跳过了)
- Krita 5.1.4:2022-12-14,发布简讯
我们没有成功将 Krita 导入到 macOS 软件商店 (不是 iPadOS 的 Appstore)—— macOS 软件商店程序的沙箱击败了我们,我们尚未找到让 Krita 在这种环境中工作的办法。而在 Steam 和 Microsoft Store 平台上, Krita 的销量有可见的下降,但不算是断崖式的。Google Play 和 Epic 平台的销量可以忽略不计。
捐款、发展基金、销量下降是可以理解的,毕竟疫情、冲突让我们的生活遭受了巨大的压力。不过也有好消息,英特尔成为了我们的首个企业赞助商:
但是经费依然是一个绕不开的问题。如果 Krita 项目想要继续发展,必须获得更多的资金。2023 年也是一个充满了不确定性的年份。
我们今年大体上保持了之前的受赞助的核心开发团队:Sharaf、Dmitry、Halla、Wolthera、Tiar、Emmet、Ivan、Amy。Eoin 在 2022 年底离开了我们加入了 Godot,这也是一个极具前景的自由软件项目。
不过我们一再遇到有程序质量退步问题逃脱了 Krita 的单元测试套件检测而进入了正式版,正式版一发布人们就发现问题,于是它就成了“倒退版”,我们为此又得发布一个新的正式版。测试版的意义就是在于早期发现并避免这种情况,所以请帮助我们测试它们!
总体而言,2022 年是一个艰难的年份。我们在有限的条件下实现了不少进展,但人们的神经是紧绷的,无论是在 Krita 开发者的社区、Krita 用户与开发者交流的社区,外围的 discord 和 reddit 社区都出现了一些情绪。
人们常常因为“开发人员不理会他们”感到生气。虽然 Krita 国际画师论坛的运营比较成功,我们经常能看见一些编写得非常精彩的建议,但 Krita 的开发人员们事实上做不到在论坛上阅读每一条消息,采纳每一条建议和实现每一个愿望。
如果您想要加入 Krita,为它的改进出力,请务必与 Krita 的开发人员直接建立联系。您可以通过 Krita 的 IRC (或者 Matrix) 频道联系我们,或者在 invent.kde.org 网站的 Krita 项目中提交合并请求,也可以通过Krita 的邮件列表发表意见。不过请理解我们日常与无数程序缺陷报告缠斗的压力,我们必须将资源向那些我们已经确定要优先处理的任务上倾斜。
2023 年会发生什么呢?
我们将发布延期已久的 Krita 5.2.0。这是因为许多开发团队成员在极限条件下奋斗了整整一年,已经油尽灯枯,需要更长时间的修整期。2022 年困扰我们的疫情和战云并未消散,某些成员因为各种原因,被迫辗转他国生活。而本文作者 (Halla) 因为身体状况,光是管理 Krita 项目已经非常勉强,几乎没有余力编写太多代码了。
Krita 5.2.0 将包含上文提及的全部工作内容,您可以在 KDE’s gitlab 的 Krita 项目的 milestones 里跟踪我们的进展。5.2.0 发布后,我们会发布它的几个此版本,修复它的程序缺陷。我们还会着手开展更多计划中的工作。
如果您想要支持 Krita 的发展和存续,请考虑为我们提供单次捐款或者订阅 Krita 发展基金的定期捐款,也可以在各个软件商店平台购买 Krita 的付费版本。非常感谢!