我们每个人可能都读过很多的合同、协议、声明,但是很少有哪个会让我们感到感动,甚至催泪的。

我最近遇到了一篇,分享给大家。“PDF补丁丁”是一款用于处理PDF文件的Windows软件,已经拥有12年历史,可以修改、编辑、合并、拆分PDF文件,提取页面内容,还支持OCR,而且完全绿色、免费、无广告,真可谓是一款“良心”软件。在几周前的12月24日,作者@wmjordan 正式在Github上开放了源代码。

最值得一提的是,作者@wmjordan发布了一个非常、非常特别的授权协议,看了让人很感动。

授权协议

《PDF 补丁丁》软件(以下简称本软件)受著作权法及国际条约条款和其它知识产权法及条约的保护。

本软件对于最终用户免费,但带有附加条件。在遵守本软件的前提条件下,你可以在遵循本协议的基础上自由的使用和传播它,你一旦安装、复制或使用本软件,则表示您已经同意本协议条款。

如果你不同意本协议,请不要安装使用本软件,也不应利用其源代码。

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

如果您的父母在身边,你可以为您的父母做一顿美味的饭菜,或者为他们按摩、洗脚;如果他们身处远方,你可以向他们发起通话,问候他们的健康和生活。

在大雨滂沱的时候,如果您有雨伞,可与同路的人共享;在烈日当空的时节,如果您看到环卫工人太阳下工作,您可以为他们买一瓶水送给他们;在拥挤的公共交通工具上,或在公共场合

一篇感人至深的授权协议相关推荐

  1. OAuth2.0授权协议的一个简单解释

    本文来简单说下OAuth 2.0授权协议 文章目录 概述 快递员问题 授权机制的设计 互联网场景 令牌与密码 本文小结 概述 OAuth 2.0 是目前最流行的授权机制,用来授权第三方应用,获取用户数 ...

  2. 互联网协议 — OAuth2 第三方授权协议

    目录 文章目录 目录 OAuth OAuth 缘起 OAuth 原理 令牌与密码的区别 OAuth2 OAuth2 的四种授权模式 授权码 隐藏式 密码式 客户端凭证 更新令牌 OAuth2 应用示例 ...

  3. 诺基亚收购了阿朗:那与 TCL 的“阿尔卡特”品牌授权协议到期后咱办?

    在被诺基亚收购之后,"阿尔卡特-朗讯"的牌子算是被这家芬兰公司收入囊中.尴尬的是,TCL 很早就获得了"阿尔卡特"这个智能手机品牌的授权.当然,对于因为错抱了微 ...

  4. 重大变动:OpenCV拟更改授权协议!

    最有名的计算机视觉库OpenCV拟将授权协议从BSD协议改为Apache License 2协议! 先说结论:采用Apache 2协议将更好地保护用户,是好事. 消息来源于2020年5月22日Open ...

  5. OAuth2.0授权协议与客户端授权码模式详解

    本文来重点讲解下OAuth2.0授权协议与客户端授权码模式 文章目录 什么是OAuth协议 交互过程 客户端授权模式 授权码模式 简化模式 密码模式 客户端模式 接入公司内部系统 后台管理系统 前台业 ...

  6. java11协议,JDK11发布,Orale同时修改了oracle JDK11的授权协议 (转载)

    JDK11发布了.刚刚下载,明显的位置有一个协议变更的提示,瞄了一眼新的授权协议 最主要的一条就是,你不能在生产环境free的使用oracle jdk.需要购买license,貌似是25$/CPU.开 ...

  7. 博通Broadcom SDK源码学习与开发12终结篇——TR069网管协议

    声明:原创作品,严禁用于商业目的. 本系列文章将全面剖析以Bcm33xxx芯片开发Cablemodem产品的SDK源码为例,从编译系统到各个功能模块进行分析与探讨. 文章目录 0.写在前篇 1. TR ...

  8. 开源授权协议GPL和LGPL的区别

    引子 今天在学习wke的时候,发现了作者在wke.h文件头的位置,写上了licence LGPL 的字样,这里我就疑惑了,好像只听说过GPL,并没有听说过LGPL,那么这两者究竟有什么区别呢? 开源授 ...

  9. OIDC认证授权协议

    一.OIDC简介 OIDC是OpenID Connect的简称,OIDC=(Identity, Authentication) + OAuth 2.0.它在OAuth2上构建了一个身份层,是一个基于O ...

最新文章

  1. [数据结构-严蔚敏版]P65离散事件模拟(银行客户的离散事件驱动模拟程序)
  2. svn 修改文件的可执行权限
  3. debian10安装mysql_ECS Debian 系统安装mysql数据库的具体操作
  4. Protobuf实现Android Socket通讯开发教程
  5. Android音视频开发之-WebRTC技术实践
  6. 100阶乘c语言如何实现,求10000的阶乘(c语言代码实现)
  7. 树莓派-python之adc电压采集的实现
  8. php+tcpdf+表格,PHP使用tcpdf类生成PDF文件
  9. 高斯函数表达式C语言,C语言计算高斯核函数
  10. JavaScript栈和队列方法(Array类型)
  11. PLC控制系统如何抵抗干扰
  12. html中font的作用,css中font-style有什么用?
  13. Dynamic CRM 2016 IFD配置(1)证书颁发机构配置
  14. GIS-测绘学概论(5)
  15. 【全开源+免费更新】doodoo.js项目结构
  16. 3ds max 使用cloth修改器制作抱枕
  17. 嵌入式软件管培生每日总结-第6-7天
  18. CYCA 2022少儿形体礼仪初级师资班 深圳总部站圆满结束
  19. SpringBoot JPA多对一 持久化是报错object references an unsaved transient instance - save the transient instanc
  20. python 制作动画片_分享7个好用的动画制作软件,学会它,人人可以成为动画大师...

热门文章

  1. pp-vehicle简介
  2. mysql与oracle存储过程_mysql与oracle存储过程对比
  3. Python|使用 TCP 协议实现智能聊天机器人
  4. Excel动态合并行、合并列
  5. Xamarin指南针
  6. 【博弈论】找出游戏的必胜策略
  7. association标签的用法以及注意事项
  8. ios越狱python插件_基于Theos越狱开发
  9. 三大检索系统(SCI、EI、 ISTP)投稿指南
  10. 04.10. 实战Kaggle比赛:预测房价