为华南师范大学博士/硕士毕业论文 LaTeX 模板 SCNUThesis 招募新的维护者。
工作大半年,开始感觉不如以前可以花很多时间在业余小项目上了。
读书的时候,虽然白天有很多课业上的压力,但到了晚上总有精力来做一些小东西。那个时候,熬夜的后果最多就是第二天到课室打下瞌睡。工作之后就完全不同了,白天的时候,需要一直聚精会神的工作,以保证每天的产出,到了晚上就感觉好累好累,不想再碰电脑。
这半年的时间,如果说我有进步的地方,就是学会了如何保养自己的身体。每天回家,我几乎都是先看半小时书,然后做一会儿简单的运动,再洗个澡,泡个脚,喝杯牛奶去睡觉。周末的时间,由于不放心外面的食物,我学会了下厨,于是周末两天我的大部分时间都是在一堆锅碗瓢盆中度过的。
如果说退步的地方,那就是参与开源项目的热度了。现在每当我打开 Github ,看到我的贡献图,我就会感到非常惭愧:
你可以很明显地看出工作前和工作后我的贡献热度的区别。与此类似,也有热心的读者发现我的博客有半年没有更新了。
总之,上面的文字无非是在说,工作之后,我深感精力有限,无暇维护我需要长期维护的项目。其中, SCNUThesis 就是我认为必须得转让的长期项目。
SCNUThesis 是一份非官方的,符合华南师范大学硕士/博士学位论文格式要求的 LaTeX 模板。
写这份模板的缘由要追述到研一的时候。当时出于好奇,我接触了 LaTeX 这个排版系统,一下子就被其 WYTIWYG 的观念深深吸引了。用它来排版论文是如此的方便,以至于我希望毕业的时候也能用它来排版毕业论文。不出意料,我的学校并没有提供这样的模板。虽然很失望,但与其等别人帮助,不如给别人帮助。于是,我花了一个月的时间,阅读了很多高校的 LaTeX 模板,最终吸取了几所高校的模板的优点,编写出了第一个版本的模板。我也开始学会使用 svn 做版本控制,并在 google code 上发布了第一个版本。后面这个项目又从 google code 迁移到了 Github 。
我的模板的第一个用户是王立斌老师的学生潘嘉昕师兄,他当时正赶着要写毕业论文。当时的 SCNUThesis 可以说还只是个半成品,但他对我的项目非常支持,并且愿意放弃使用 Office 而跑来当我的小白鼠。我们就一直保持着邮件联系,他一边使用模板,一边给我的模板提供了很多宝贵的改进建议。在他的帮助下,我的模板基本成型了,而他也顺利的用 SCNUThesis 完成了论文的排版。在他的论文的致谢中,他特意感谢了 SCNUThesis:
感谢 XXX 师兄、XXX 师兄、XX、XX、XX、XXX 等同实验室师兄弟,与他们的讨论与交流促进了我的科研工作,也丰富了我的研究生生活。感谢潘伟洲同学提供的 LaTeX 排版模版 SCNUThesis。
收到第一个用户的致谢,可想而知当时我的内心多么有成就感。**SCNUThesis 是我的第一份开源作品,而它实实在在地能够帮助到其他人!**在这之后,陆续也其他几位师兄师姐使用我的模板。到了我这一届的时候,因为我的推动,我们整个实验室的人几乎都用它来完成论文的排版,减轻了他们花在格式排版上的负担。而 SCNUThesis 也开始被广东工业大学、首都师范大学等其他高校的学生借鉴,衍生出了更多高校的毕业论文 LaTeX 模板,还被收录在知名 TeX 博客 LaTeXStudio 中。
前话扯了一堆,现在摆出正题:我希望在这里招募到 SCNUThesis 新的维护者。
早在研三的时候,我就已经预料到了我早晚有一天要交出它,就像一个老父亲将自己的爱女交付给靠谱的女婿。当时我就在 Github 上建了一个 scnu 组织,目的就是等以后我无力再维护 SCNUThesis 的时候,将它转移给组织,让其他爱好者共同来维护它。
为了准备好这个交接,我已经将 SCNUThesis 正式转移给了 scnu 组织,将版本号正式定为 1.0 ,并且公布了自己的毕业论文论文源码以供他人参考。现在它需要的,就是一位(或者多位)愿意花时间维护它的人。
因为:
维护 SCNUThesis 主要有三种方式:
第一种方式很简单,你的责任也比较小。就是 fork 我的项目,然后当模板有问题需要维护的时候,对你的本地项目做好修改,然后向 scnu 发 pull request。当我和其他项目管理者会对你的代码进行 code review ,并考虑并入模板中。
一个合格的 pull request 应该是:
第二种方式则可以具备更多的权利。你可以先(邮件或在这里评论)告诉我你希望成为项目维护者。我将邀请你加入 scnu 组并赋予你维护者权限。你将可以直接修改 SCNUThesis 的代码,也可以审核和处理其他人的 pull request。
第三种方式则具备最高的权限,除了具备所有维护者的权利之外,你还可以添加其他维护者。增加这个角色是为了以后的传承。我希望这个项目能够一直有人在跟进、维护,并由一届维护者传承给下一届的维护者。项目管理者一般不轻易添加,只有贡献突出的维护者可以跟我申请管理者权限。
从上一个问题你可以看出,维护SCNUThesis对于能力上的要求并不高。如果真要有硬性条件,那就是:
原因有几个:
Paul Gramham 在《黑客与画家》中谈到了工作与兴趣的问题。他认为黑客可以和音乐家一样,白天可以拥有一分养家糊口的工作,然后在夜间经营一份自己喜欢的工作。对于音乐家而言,喜欢的工作就是演奏。对于黑客而言,喜欢的工作就是参与自己感兴趣的开源项目。
I think the answer to this problem, in the case of software, is a concept known to nearly all makers: the day job. This phrase began with musicians, who perform at night. More generally, it means that you have one kind of work you do for money, and another for love.
Nearly all makers have day jobs early in their careers. Painters and writers notoriously do. If you’re lucky you can get a day job that’s closely related to your real work. Musicians often seem to work in record stores. A hacker working on some programming language or operating system might likewise be able to get a day job using it.
也许,我现在的情况似乎越来越不像一个黑客。但如他第二段所说,如果运气好的话,黑客可以找到一份接近自己兴趣的白天工作。从这一点看,我或许是幸运的,因为我的白天工作就是我热爱的行业,这使我在其他时间更愿意去做其他我以前没有做过的事情。我希望,我可以在今后的时间更好的把握工作上的项目和开源项目的分配时间,在开源社区略尽自己的绵薄之力。