2022-01-21

开源者的情怀

情怀

情怀, 我的理解是感情的容器, 是一个人在特定时间对特定事物的感情集合, 因此, 情怀是很复杂的, 并不都是美好, 也不都是丑恶. 情怀无所谓好, 无所谓坏, 它是人生的一个片段, 时过境迁, 便无法改变, 只会藏在你的心里.

之所以让我想到情怀这个词, 大抵是因为这样一则新闻:

12年历史的 PDF 补丁丁, 今天开放源代码了

补丁丁

PDF补丁丁可能听过的人不多, 但之前需要频繁处理PDF时, 这个小软件却在很多方面对我提供了很大的帮助. 相对PDF处理的巨无霸Adobe Acrobat Pro而言, 小巧的补丁丁把常用的PDF操作, 比如提取页面, 自动生成书签, 批量修改文件等整合在一个小界面里, 就像瑞士军刀, 小而强悍, 绝对是日常使用的利器.

就这样一个小工具, 作者坚持维护了12年, 而且就在刚刚, 作者还把这个软件开源了. 而真正震撼我的, 是作者这个自己编的开源版权协议:

《PDF 补丁丁》软件(以下简称本软件)受著作权法及国际条约条款和其它知识产权法及条约的保护。
本软件对于最终用户免费。由于本软件使用了带有 AGPL 条款的第三方开源组件,因此,本软件及其源代码的使用协议也基于 AGPL。另外还带有如下附加条件。在遵守本软件的前提条件下,你可以在遵循本协议的基础上自由的使用和传播它,你一旦安装、复制或使用本软件,则表示您已经同意本协议条款。如果你不同意本协议,请不要安装使用本软件,也不应利用其源代码。

附加条件:
每一个使用本软件的用户,如果本软件帮助了您,每使用本软件后,您应当做 1 件善事。善事无分大小,有心则行。例如:

  1. 如果您的父母在身边,你可以为您的父母做一顿美味的饭菜,或者为他们按摩、洗脚;如果他们身处远方,你可以向他们发起通话,问候他们的健康和生活。
  2. 在大雨滂沱的时候,如果您有雨伞,可与同路的人共享;在烈日当空的时节,如果您看到环卫工人太阳下工作,您可以为他们买一瓶水送给他们;在拥挤的公共交通工具上,或在公共场合排队等候之际,如果您有座位,可以让给老人、孕妇或提着重物的人就坐。
  3. 您可以用您擅长的技能,为身边的人排难解困;您可以将您的知识,分享给其他人,让他们有所获益;您可以向比您困难的人捐资赠物。
  4. 如果您觉得这个软件真的好用,请将它的使用方法介绍给别人,让别人也通过使用本软件而得到好处;或者将其它您觉得好用的软件介绍给别人。

如果您无法做到使用本软件后做 1 件善事,请记在心中。在有机会的时候,多行善积德。本用户协议之遵循与否,全在于您的良心。是为“良心授权”。

我想, 这应该是我见过最让人温暖的协议. 尤其是读了作者的Blog, 得知他是在家人去世后的沉痛之余, 做出了这样的选择. 作者的劳动成果给我的工作提供了很多帮助, 我想, 我也应该做点什么, 那么, 我就把这个出色的PDF处理工具集介绍给大家吧, PDF处理虽然属于比较小众的行业软件, 但只要您涉及于此, 这个小工具必会带给您帮助, 只要您用过庞大的Acrobat, 您就会知道这个小工具有多方便.

怀着感恩的心情到作者的Git仓库看了一下, 我就懵逼了… 我以为会有现成的Release, 我只要分享一下就好, 结果发现木有, 那就得下载源代码然后自己编译了, 这事儿我没干过, 咱们一步一步来.

先把整个项目git pull下来, 然后看了一下, 很好, 源代码有sln文件, 这是Visual Studio 的项目文件呀

sln文件

直接用Visual Studio打开sln文件, 然后生成解决方案, 完美! 然后就报错了…

报错

报错不怕, 有错误信息就行. 直接百度一下, 原来是这些文件需要解锁, 于是挨个解锁, 这次完美编译, 搞定!

我把程序放在了gitee上, 请您随意使用, 再次感谢作者带给我们的温暖.

PDF补丁丁

从某种意义上, 我认为 开源和情怀是近义词. 要知道, 大量的开发者仅仅从兴趣出发, 把自己的成果无偿分享给大家, 然后就构成了一个美好的世界. 我现在还存着当年Linux之父Linus Benedict Torvalds开发完第一版Linux内核后的那封邮件 (里面的中文是我加的注释, 英语四级将及格, 理解一下…):

I’m doing a (free) operating system (just a hobby 业余爱好, won’t be big and professional like gnu) for386(486) AT clones. This has been brewing 发酵 since april, and is starting to get ready. I’d like any feedback on things people like/dislike in minix, as my OS resembles 类似 it somewhat 稍微, 有点 (same physical layout of the file-system (due to practical 真实的, 切实有效的, 务实的 reasons) among other things). I’ve currently ported bash(1.08) and gcc(1.40),and things seem to work. This implies 意味着, 蕴含 that I’ll get something practical within a few months, and I’d like to know what features most people would want. Any suggestions are welcome, but I won’t promise I’ll implement them :-) Linus(torv...@kruuna.helsinki.fi) PS.Yes- it’s free of any minix code, and it has a multi-threaded fs. It is NOT protable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that’s all I have :-(.

我想, 他当时一定没想到, 自己出于兴趣创造的东西, 现在已经影响了全世界. 如果说Linux因为其专业性和使用门槛造成还无法像Windows那样在桌面领域普及, 那基于Linux构建的安卓系统早已称霸全球. (按设备数量算, 安卓的市场占有率在移动领域是80% - 90%, 即使算上PC和其它需要操作系统的设备, 安卓的市占率也达到了39%, 而Windows是34%), 而这一切, 从这个层面上说, 开源, 是推动互联网乃至人类进步的巨大动力.

开源其实是很宽泛的, 并不仅仅是公开自己的程序源代码, 分享思想, 理念, 方法, 我觉得都是开源. 这也是我有时候厚着脸皮觉得自己其实也是开源一份子的原因,哈哈. 但是, 在赞美开源的同时, 我也想说, 开源社区是需要善待的. 而在这个问题上, 我们国内的企业做的并不好, 甚至有些方面, 是无耻.

我之前写过一篇文章 <<国产自主真正发展的前提-是不要侮辱国人的期待>>, 谈到了某个以爱国为营销卖点的著名国内企业, 赤裸裸地套用麻省理工给孩子们出的开源编程软件Scratch, 换了个配色就好成国产编程软件妄图进入国内教育界, 而且使用中赤裸裸地利用摄像头收集用户隐私, 而从未提及完全基于Scratch开源代码, 不要脸的程度令人发指. 而且, 这家企业对开源社区的利用不仅于此. 在企业操作系统市场, 这家企业直接拿来Red Hat 公司开发的Red Hat Enterprise Linux, 稍作修改便以”国产自研”为噱头大加宣传, 从头到尾别说Red Hat, 就连 Linux也不提一句. 这还不算, 这家公司的另外一个支柱型产品, 某面向手机的操作系统, 则开创了全新的抄作业模式, 就是”兼容”. 是的, 他们开发的所谓自研手机操作系统, 使用了安卓的开源代码, 而美其名曰”我们兼容安卓”, 如此手段, 只能说令人叹服. 难怪大家现在都在调侃:

国外一开源, 我们就自主

人性本复杂, 开源社区也并不都是天使, 人么, 追求利益不丢人. 我本人很反对成天站在高高的讲台上扯着嗓门讲奉献, 心里却想着今晚找哪个情妇陪的行为. 但是, 我觉得大到企业, 小到个人, 还是要讲良心的. 当我们因为别人的劳动而受益时, 至少应该在心里说一声”谢谢”, 然后把这份感动转换为内心的善意, 把这份善意传递给周围的人.这无关乎法律, 也不是什么道德规范, 也不涉及素质, 这仅仅是人性中光明一面的副产品.