我为什么不想把自己的Emacs插件放到MELPA上?
Emacs
2018-10-07 1310字

玩了Emacs十几年, 写了很多 Emacs插件 , 有很多人都建议把我的Emacs插件放到 MELPA 上.

我一直以来的回答都是: NO

今天把原因写出来, 以后如果再有人问到我, 我就可以直接把这篇回答直接发过去, 不用反复的回答:

  1. 我十年前答应朋友 rgr 把 org-w3m.el 贡献到 Emacs 主分支的时候就耗费了我很多时间, 几乎是编码一晚上, 合并代码2个月的赶脚
  2. 后来听了 rgr 的建议, 把所有插件都放到 EmacsWiki 以后, 剩余的十多年时间, 我的邮箱都被各种 emacser 轰炸, 开源软件就是这样, 创造的时间很短, 但是维护的时间却远远大于创作的时间, 包括大家经常用的 multi-term.el、sdcv.el、auto-install.el、anything.el、auto-complete.el 等插件, 我都维护超过十年以上的时间, 虽然能够帮助全世界的 emacser 我真的超级开心, 但是维护插件真的需要耗费我个人非常多的时间
  3. 诚然 MELPA/Package.el 对于用户来说很方便, 也会让更多人知道我写的插件, 但是同时也意味着会有成百倍的用户给我提 issue 和 建议, 我是一个不喜欢拒绝别人的人, 如果成百倍的用户发送 issue 和 建议, 我一定会睡不着觉去完善我的插件, 那样势必会占用我陪家人的时间, 综合考虑, 我更希望更多的时间让家人开心, 而不是让全世界的 emacser 更开心, 虽然他们都很友善和可爱
  4. 写Emacs插件和弄懂各种插件的细节, 我花费了无数个日日夜夜, 虽然 MELPA 让 90% 的Emacs用户可以一键自动下载安装(包括依赖), 但是同时也成就了太多不动脑筋的用户, 遇到问题不会搜索和研究, 只会抱怨, 最终放弃 Emacs. Emacs从基因上毕竟不是开箱即用的IDE, 你开始可能不会Elisp编程, 但是到最后你一定要学会 Elisp 编程才会把Emacs这把屠龙刀打造的尽可能顺手. 所以, 我不希望大家都变成傻瓜化的 MELPA 用户, 那样只会让自己丧失解决Emacs问题的能力, 最后把更多用户推离Emacs, 而不是拥抱Emacs的哲学理念
  5. 我现在已经过了向世人证明我个人能力的那段日子, 接下来的几十年, 我希望花更多的时间去学习新的技术和陪伴家人, 而不是无穷无尽的折腾 Emacs, 折腾Emacs而不学习高深的技术, 就像一个永远只会淬炼刀剑的却没有时间练习剑法的工匠一样, Emacs这个工具始终是为了探索好奇心服务, Emacs本身不应该成为学习的目标
  6. 除了技术以外, 我对产品的细节有很多我自己的见解, 我更喜欢制作一些开箱即用和细节优雅的插件, 就是那种 刚刚够用, 不多也不少 的感觉. 不太喜欢像传统开源软件开发者一样, 做功能非常丰富的瑞士军刀, 即使很多功能作者都不用. 使用的人太多, 就会众口难调, 最后自己写的插件连我自己都不喜欢, 那样就太无趣了, 而且拒绝那些提出建设性意见的人, 我自己也有点于心不忍, 所以我的插件就留给那些和我有同样品味的 emacser 发掘吧, 物以类聚, 不互相勉强的状态最舒服

过去十几年活的很累, 总是给自己太多负担.

以后的日子, 我希望为自己的好奇心和个人习惯而活, 简单点, 喜欢我的作品我很高兴, 不喜欢我的作品欢迎你继续探索, 这样的日子最简单, 也最快乐.