GNU TeXmacs
首发于GNU TeXmacs

GNU TeXmacs 招募开发者

GNU TeXmacsgithub.com图标

GNU TeXmacs是一个大概有20年历史的GNU项目,目前在代码仓库提交代码的开发者(包括本人)一共7人。其中,C++的代码量和Guile Scheme的代码量都是在10W这个量级的。

本人是从2013年开始加入这个项目,在过去的六年时间里,目前一共提交198次。

一开始只做文档翻译,后来只是简单修复一下一些中文的乱码问题,最近两年修了一些特别影响使用的和中文用户相关的问题,最近这段时间正在将我之前写的Git插件整合到代码仓库中。开发的进度会比较慢,因为在中国做程序员相对还是比较忙的,我基本上只在周末开发。

这个项目整体上的设计是非常棒的,代码从某种意义上还算整洁,个人认为代码质量优于我看到的一些别的C++的开源项目。但是,目标太宏大了。

目前最困难的问题是,GNU TeXmacs还在用旧版本的GNU Guile,而这个版本(1.8)已经被debian移出了仓库,所以主流的debian和debian衍生版本[1],都无法通过包管理器直接安装,而是需要自己编译。而将GNU TeXmacs从GNU Guile 1.8升级到GNU Guile 2.x,需要对GNU Guile 2.x非常了解,还需要精通Scheme的黑魔法——宏。

所以,我衷心地希望一些LISP黑客能够加入开发,大家一起研究GNU Guile,一起解决这个最困难的问题。

当然,不仅仅是Scheme代码有很大的挑战,整个C++的代码都有比较大的优化空间。GNU TeXmacs没有使用C++标准库,也尽可能不使用一些C的标准库,而是自己实现大部分的代码。这些自己实现的代码,我们很容易就能挖掘出很多优化点,做性能上的调优。个人有很多Java/Scala代码的性能调优经验,对C++代码如何做性能调优还比较陌生。

另外,GNU TeXmacs主要是使用Qt作为图形界面,也希望对Qt非常熟悉的小伙伴加入开发。但是GNU TeXmacs对这些UI框架的使用是比较谨慎的,尽可能使用最少的功能。因为GNU TeXmacs的开发相对缓慢,无法迅速跟上UI框架的更新,另外,本身设计上是支持多种UI框架的,并不绑定在某种UI框架上。

也非常希望一些经验丰富C++工程师加入开发,大家一起讨论各种C++技巧,优化GNU TeXmacs的性能。

最后,我得强调一下,这是一个GNU项目,采用的许可证是GPL3。


相关链接

沈达:如何参与GNU TeXmacs项目?zhuanlan.zhihu.com图标沈达:GNU TeXmacs专栏导航贴zhuanlan.zhihu.com图标

参考

  1. ^Linux Deepin没有移除GNU Guile 1.8
编辑于 2019-05-09

文章被以下专栏收录

    GNU TeXmacs是一个面向科技工作者的排版软件。本专栏以探讨GNU TeXmacs为主,也会记录一些C++/Qt学习的经验。