且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2022-09-05 12:11:03

最近在学习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的区别