最牛最暴力的开源协议:WTFPL

简介: 最近在学习Swift,今天偶尔发现自己Github上不知道什么时候Fork了一个中文版 Apple 官方 Swift 教程《The Swift Programming Language》的repo,今天仔细一读发现了这个牛X的WTFPL开源协议(Do What the Fuck You Want to Public License)。

最近在学习Swift,今天偶尔发现自己Github上不知道什么时候Fork了一个中文版 Apple 官方 Swift 教程《The Swift Programming Language》的repo,今天仔细一读发现了这个牛X的WTFPL开源协议(Do What the Fuck You Want to Public License)。做你他妈的想做的;你他妈的想什么就做什么;老子根本不关心;有人翻译为“想干嘛都可以    为,所欲为!”,觉得前面的翻译太粗鲁、太俗,我倒是觉得当你发现一段很好的代码一个很好的开源项目可以用于你的商业项目时,却要因为它的许可绞尽脑汁的时候,还会计较粗俗与高雅吗?你会把Fuck换成一二一之类的吗?


协议2.0版本原文:

           DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
                   Version 2, December 2004

Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>

Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.

           DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
  TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

 0. You just DO WHAT THE FUCK YOU WANT TO.
2004年12月,已经十年了,现在才发现它,这个协议用得并不多,因为它是最极端的一种开源协议,完全没有 Copyright 和 Copyleft 的概念。

已经被自由软件基金会承认。
应用实例:著名加密算法库TomCrypt,这是最全的C实现加密算法库之一。

大多数公司用得最多的只有 6 种开源协议:LGPL、Mozilla、GPL、BSD、MIT、Apache。

什么是 Copyright 和 Copyleft

在通常的商业软件中,Copyright (著作权)很常见,它的意思是保留所有权利,在这里不多作介绍。 而 Copyleft(著佐权)是一个由自由软件运动所发展的概念,是一种利用现有著作权体制来挑战该体制的授权方式。下图是它的标志,即 Copyright 中的“C”由右朝左了。 

践行 Copyleft 最常见的的协议有 GPL。即如果你使用了这份开源代码,要求使用者改作后的衍生作品必须要以同等的授权方式释出以回馈社会。这意味着,如果是商业软件使用这样的开源代码并改动,商业价值有可能会下降。而 Copyleft 也是很多开源协议的标志性特点。 


为什么会有这样一个协议呢?

以下引用一段回答:

由于程序拥有所有权,所以每段代码允许大家在何种程度上自然使用就成为了一个严肃的法律问题,所以就诞生了licence这个概念。其中有一些代码是写出来让大家随意免费使用的,所以licence就要规定你可以干一切事情。可是在法律里,“允许你干任何事情”这句话并不严谨,所以随着不断的诉讼、打官司、法学家的诠释,诞生了诸如 @IAMSK 所说的一大堆授权协议。
但是问题来了。
这个协议是给程序员看的,却是由法学家和律师写的。
于是随着时间的推移,这些协议变得unreadable,也就是程序员根本不可能看懂。
举个栗子,gpl协议在这里:
The GNU General Public License v3.0 - GNU Project
我就不贴过来了,有13页,5000多个单词吧。
呵呵,考GRE阅读最难的也就2000词,还可以略读,就让不少人折腰了,你想一想理解5000词的法律文件,每个词,每句话背后可能都有一个当年打过官司的法律判例,程序员纷纷表示能看懂这个劳资就不当码农了。
而这些协议还会越来越长,随着欧美法律不断地被新的判例充实。。。。

作者:张北陆
链接:http://www.zhihu.com/question/20865060/answer/51757033
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


如何选择开源协议?

平时我们可能并不关心它,但当你做为商用时为了减少不必要的麻烦,就必须要考虑这个问题了。

关于这个问题之前也转载了两篇文章:

开源软件,自由软件,免费软件三者的区别

一张图看懂开源许可协议,开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别







目录
相关文章
|
C++ 索引
【C++STL基础入门】深入理解string类重新赋值(assign)与删除(erase)
【C++STL基础入门】深入理解string类重新赋值(assign)与删除(erase)
1687 1
|
自然语言处理 安全 C++
【C++ 格式化输出 】C++20 现代C++格式化:拥抱std--format简化你的代码
【C++ 格式化输出 】C++20 现代C++格式化:拥抱std--format简化你的代码
10849 4
|
存储
单稳态电路的介绍
单稳态电路是一种特殊的电路,它具有稳态和非稳态两种工作状态。在稳态状态下,电路的输出保持不变,而在非稳态状态下,电路的输出会发生变化。单稳态电路常用于触发器、计时器等应用中,具有很高的实用价值。 一、单稳态电路的基本原理 单稳态电路的基本原理是利用电容的充放电过程来实现稳态和非稳态的切换。当电路处于稳态时,电容充电或放电的速度与电路中的电阻相匹配,从而使电压保持不变。而当电路处于非稳态时,电容的充放电速度会发生变化,导致电压的变化。 二、单稳态电路的工作原理 单稳态电路的工作原理是通过一个触发脉冲来触发电路的非稳态状态。当触发脉冲到来时,电路会进入非稳态,电容开始充电或放电。当电容充电或放
914 0
|
机器学习/深度学习 算法 安全
随机性、熵与随机数生成器:解析伪随机数生成器(PRNG)和真随机数生成器(TRNG)
随机性在密码学、仿真和机器学习等领域中至关重要,本文探讨了随机性、熵的概念以及伪随机数生成器(PRNG)和真随机数生成器(TRNG)的原理和应用。PRNG通过算法生成看似随机的序列,适用于高效需求;TRNG利用物理过程生成真正随机数,适用于高安全需求。文章还讨论了两者的协同应用及其面临的挑战。
1216 5
随机性、熵与随机数生成器:解析伪随机数生成器(PRNG)和真随机数生成器(TRNG)
|
人工智能 算法 编译器
AscendC从入门到精通系列(一)初步感知AscendC
Ascend C是CANN推出的一种编程语言,专为算子开发设计,支持C/C++标准,旨在提高开发效率与运行性能。通过Ascend C,开发者能在昇腾AI处理器上高效实现自定义算法。本文档介绍了如何使用Ascend C编写和运行一个简单的“Hello World”程序,包括核函数的编写、主程序调用及CMake配置,展示了Ascend C的基本使用流程。
|
监控 负载均衡 网络协议
一文带你浅入浅出Keepalived
一文带你浅入浅出Keepalived
10980 117
|
搜索推荐 Shell
解析排序算法:十大排序方法的工作原理与性能比较
解析排序算法:十大排序方法的工作原理与性能比较
804 9
|
测试技术 Python
Python MagicMock: Mock 变量的强大工具
Python MagicMock: Mock 变量的强大工具
338 9
USB Type-C引脚解析 && CC、DFP、UFP、DRP用途解析
USB Type-C引脚解析 && CC、DFP、UFP、DRP用途解析
|
网络协议 Linux
CentOS 7 上使用Certbot申请通配符证书
本文记录下申请RSA和ECDSA通配符证书的过程。 1. 安装Certbot 签署通配符证书需要Certbot 0.22以上。如果以前安装过certbot,一般是直接yum update即可。如果是全新安装,则如下: 先升级: yum update -y 查看系统版本: cat /etc/cen.
7176 1