3

Maverick 的命运

 2 years ago
source link: https://blog.imalan.cn/archives/the-fate-of-maverick/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Maverick 的命运

2021-11-03 熊猫小A

我在 2019 年 12 月自己写了一个静态博客生成器,名叫 Maverick,使用它实现了我的个人博客完全自主化,一度是我最自豪的作品之一。但它现在久缺维护,似乎已经走到了生命的尽头。

想来这事很有意思。2016 年前后我开始接触个人博客,从公开的服务(简书,Medium,etc.)到自托管的博客程序(WordPress,Typecho,Hexo,etc.)统统玩了一个遍,最终停留在 Typecho 上,输出了一些内容,也写了一两个还算过得去也有人用的模板和若干插件。到 2019 年达到了一个小高潮:终于决定要自己写一个静态博客程序。

那时候我刚大四毕业,整天有无穷的精力和时间探索学习。和很多后来被证明是伟大创新的项目一样,我从自己的观察总结出发,写了面向自己需求的 Maverick。我承认,不是没有一瞬间,我希望这个项目被很多人用上,因为它真的解决了我许多需求:比如编写博客时图片引用的问题,比如对许多有用功能(RSS,搜索,图片排版等)的原生实现。事实上我也确实用它作为我的博客引擎直到今年。当 Maverick 第一版问世时,我心想:

写个静态博客生成器也不是那么难嘛。

现在再思考这句话,技术上依然是没问题的。一个静态博客生成器要做的无非是解析本地文件,生成对应的 HTML 网页罢了。可是,想写一个「大家都能用的」工具,其难度非凡。

虽然我时常对友人自夸说,Maverick 用起来可太舒服了,我觉得我是天才,只可惜没人用。后来明白,我至少搞错了两件事情。

第一,我混淆了「自己需要」和「大家需要」这两件事情。这便是技术人士想做产品的主要陷阱之一。基本功能(模板,插件)支持不全面,但却在一些偏门功能上过度设计,这让 Maverick 并算不上合格的工具。不过,对于一个非科班、没什么经验的学生来说,这些方面的问题是可以原谅,并且也是可以改进的。

第二,我沉迷在「发布」的快感中,却没有做到长期稳定的迭代与维护。毕竟一个所谓的开源项目,「发布」意味着 star,意味着热闹的评论区,意味着大量的夸赞,最重要的,意味着令人愉快的成就感;而「维护」意味着什么呢?意味着枯燥地修一个又一个的 bug,意味着没有任何背景知识的用户不着边际的反馈,甚至意味着一些没来由的批评与攻击。

上文中第二点更致命。因为它可以扩展到方方面面,其实说的就是做工作是否有长性,是否扎实。


现在回头看 Maverick 的代码设计,自然是非常糟糕。但我不会觉得羞愧,因为那就是当时的我能做到的最好。但人在进步,Maverick 却还是小孩子的模样,这是我觉得惭愧的地方。现在我忙于工作,更没有时间去维护 Maverick。我大概要归档这个项目了,让它作为我成长过程中的历史资料吧。

上周末花了些时间,重新写了这个博客的代码,业已上线。这一次一切都变得更加简约,更加面向自己,并且暂时也没有大张旗鼓放出来供大家把玩的意向。我已经认识到,开源不只是开源而已,还有面向用户与社区的责任。这个责任心不是被强加的,而是我认为一个有开源志向的作者应当具备的。

在这里 shout out to 那些多年坚持维护、更新,或成为整个数字世界基石、或成为每个长情用户心头好的项目:刚过完 30 岁生日的 VIM,可能是被侵权最多的项目 FFmpeg,最近又开始更新的 Typecho... 数不胜数,这个世界因为这些项目变得更好,hopefully,会持续变好。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK