当前位置:网站首页>用一个软件纪念自己故去的母亲,这或许才是程序员最大的浪漫吧
用一个软件纪念自己故去的母亲,这或许才是程序员最大的浪漫吧
2022-06-24 00:34:00 【愷龍】
这个软件叫pdf补丁丁,它的作者在网上使用wmj这个名字,
2009年作者就开始pdf 补丁丁的开发,到现在已经十三年了。
pdf 补丁丁是一个很好用的pdf 工具,可以支持合并图片和文档,从pdf中提取图片,还有强大的书签编辑功能。
最重要的是它绿色免费无广告。仅仅在软件当中有一个作者定义的“授权方式”。 

2021年11月,作者的母亲因病逝世了。
作者陪伴母亲
作者发表了一篇博客,记录了和母亲在一起最后的时光,以及对pdf 补丁丁的一些想法。
作者说:母亲一生菩萨心肠,与人为善,可惜这么早就往生西去。他也希望我可以多行善事,造福他人。 这一个月来我在想pdf补丁丁这款软件一直免费供众人使用,而期间偶尔会有些朋友希望能开放源代码。也许现在也是个时候去做一些调整。
几天之后,作者将pdf补丁丁的代码开源了,并且使用了一个非常特殊的协议。 
在授权协议中作者这样写道:
*每一个使用本软件的用户,如果本软件帮助了您,您每使用本软件后必须做 1 件善事。善事无分大小,有心则行。例如:
*
如果您的父母在身边,你可以为您的父母做一顿美味的饭菜,或者为他们按摩、洗脚;如果他们身处远方,你可以向他们发起通话,问候他们的健康和生活。 在大雨滂沱的时候,如果您有雨伞,可与同路的人共享;在烈日当空的时节,如果您看到环卫工人太阳下工作,您可以为他们买一瓶水送给他们;在拥挤的公共交通工具上,或在公共场合排队等候之际,如果您有座位,可以让给老人、孕妇或提着重物的人就坐。 您可以用您擅长的技能,为身边的人排难解困;您可以将您的知识,分享给其他人,让他们有所获益;您可以向比您困难的人捐资赠物。 如果您觉得这个软件真的好用,请将它的使用方法介绍给别人,让别人也通过使用本软件而得到好处;或者将其它您觉得好用的软件介绍给别人。
如果您无法做到使用本软件后做 1 件善事,请记在心中。在有机会的时候,多行善积德。本用户协议之遵循与否,全在于您的良心。是为“良心授权”。
看完这几段话,我想已经不需要再解释些什么来诠释作者的内心想法了。
「一点个人的想法:」
软件的发展是离不开开源的,可以开源成就了很多软件、也成就了很多程序员,但是随着发展,开源似乎成为了一种白嫖的方式,企业擅自拿着开源的产品进行商用并且还催促作者更新的情况屡有发生。
我觉得开源是一种精神,是一种互相分享学习交流的方式,但是随着现在对‘开源’的滥用,导致很多开源作者面临着很大的压力,甚至于有一些作者直接放弃开源。
当然有很多作者还是持续践行开源精神,在开源的时候附加了自己制定的一些使用授权协议。而pdf补丁丁作者的开源协议是想以此纪念自己的母亲,也同时为社会的一些爱心贡献了自己的一份力量。看着pdf补丁丁的开源协议再回想自己,作者所希望的不正是我们所缺乏的,无论是对自己的父母,对大街上的每一个劳动者还是对身边的人,好像我们很多时候都太自私了,我觉得无论是否使用这款软件,我们都应该践行一下这份协议,弥补一下自己对父母的任性,对大街上劳动者的忽略和对身边人的自私。
写了一些个人的想法,也许有不当的地方,但是谢谢你能看到这里,愿世间所有的温情不被辜负,大家共勉吧。
附:pdf补丁丁作者博客地址:https://www.cnblogs.com/pdfpatcher/
欢迎关注我的公众号:“愚生浅末”
边栏推荐
- [CVPR 2020 oral] a physics based noise formation model for extreme low light raw denoising
- 【ICPR 2021】遥感图中的密集小目标检测:Tiny Object Detection in Aerial Images
- What is the future development of palmprint recognition technology?
- New function of lightweight application server: simple experience of offline business migration by using image sharing
- C language: how to solve the problem of hundreds of horses and loads
- 一次 MySQL 误操作导致的事故,「高可用」都顶不住了!
- C语言:关于矩阵右移问题
- C language: structure array implementation to find the lowest student record
- 社招面试必不可少——《1000 道互联网大厂 Android工程师面试题》
- Tiktok practice ~ one click registration and login process of mobile phone number and password (restrict mobile terminal login)
猜你喜欢

Social order in the meta universe
![[traffic light identification] traffic light identification based on Matlab GUI [including Matlab source code 1908]](/img/0e/3103c4c5dd664196c85db9b30bcaf5.png)
[traffic light identification] traffic light identification based on Matlab GUI [including Matlab source code 1908]

应用配置管理,基础原理分析

GNN上分利器!与其绞尽脑汁炼丹,不如给你的GNN撒点trick吧

kubernetes之常用核心资源对象

使用递归形成多级目录树结构,附带可能是全网最详细注释。

社招面试必不可少——《1000 道互联网大厂 Android工程师面试题》

Efficient integration of heterogeneous single cell transcriptome with scanorama

使用worker报错:Uncaught DOMException: Failed to construct ‘Worker’: Script at***

Social recruitment interview is indispensable -- 1000 interview questions for Android engineers from Internet companies
随机推荐
Drag and drop report design - new features of jimureport 1.4.0
[applet] realize the effect of double column commodities
VS2022保存格式化插件
[iccv workshop 2021] small target detection based on density map: coarse-grained density map guided object detection in aerial images
[applet] indicator of relative path and absolute path
Complete collection of development environment configuration -- Visual Studio 2022 installation
阿里巴巴面试题:多线程相关
小猫爪:PMSM之FOC控制15-MRAS法
WinSCP和PuTTY的安装和使用
Version ` zlib 1.2.9 "not found (required by / lib64 / libpng16.so.16)
How to get started with machine learning?
[ICPR 2021] tiny object detection in aerial images
想开户炒股,通过网上进行股票开户安全吗?-
毕业设计-论文写作笔记【毕设题目类型、论文写作细节、毕设资料】
Activity 的 36 大难点,你会几个?,安卓面试2020
社招面试必不可少——《1000 道互联网大厂 Android工程师面试题》
What do NLP engineers do? What is the work content?
Shutter time selector
利用Scanorama高效整合异质单细胞转录组
Salesforce Future method in salesforce – @future