有人问我,“我在某GPL协议软件的源码上做了改进,我能不能大价钱卖这个源码啊?”

我说你想多少钱卖?

他说100万。

我说你觉得GPL能让你这样卖吗?

他说感觉不能,但卫sir你写的《人话解读GPLv3》里面说可以。

我说我怎么写的,他抛出一张图片。

对,放大看,就是这块:

我说:既然我都这么解读了,那就可以。

他说这很难理解啊,GPL是特别强调软件自由和提供源码的,能让你这么卖?

我说:咱先不说为什么,先说说GPL许可证允许你的几种卖法:

一是不限价格地卖别人的源码。(GPL第四条)

二是不限价格地让你卖二进制,但要免费或仅分发成本价给源码。(GPL第六条)

三是不限价格地卖你在别人源码基础上改后的源码,前提是你不卖二进制。(GPL第五条暗含)

四是你不卖二进制软件也不卖源码,你可以不限价格地卖服务:帮安装,帮使用,帮调试,帮修漏洞,帮升级,帮维护,帮解决问题等等。(GPL第四条)

他说:后两种好理解,比较难理解的是前两种,为什么可以允许很高价格地卖源码?

我说咱俩好好聊聊。

注:本文所说GPL,均指GPLv3

一、可以卖别人的源码

Q:“我从github发现了一个很牛的软件,用GPL协议发布的,我能把它的源码直接放淘宝上卖吗?”

A:“可以。”

Q:“哦,我能卖很贵吗?比如100万?

A:“可以。

Q:“真的假的,第几条说的?”

A:“第4条。”

Q:“原文怎么说的?”

A:“4. Conveying Verbatim Copies ...You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.

Q:“算了,别给我看英文了,人话翻译一下?”

A:“第四条 分发完整未改动的拷贝:……你可以免费分发,也可以按任意价格收费分发,你还可以选择提供技术支持或品质担保以收费。

Q:“太棒了,这岂不是一个生财之道!”

A:“嗯,你试试吧,你看看你是不是能卖得动,程序员精着呢,谁还不知道去GitHub找啊。”

Q:“又不是非要程序员买啊,老百姓未必知道啊。”

A:“老百姓谁买源码啊!”

Q:“我不管,总会有不知情的新手来买。”

A:“可以,允许你卖。”

二、卖二进制要送源码

Q:“我给老百姓卖那个软件的可执行文件没问题吧,这总有人买吧?反正他们自己也不会编译。”

A:“嗯,可以,你卖吧,GPL允许,不管是别人写的GPL软件,还是你自己写的GPL软件。”

Q:“那我不提供源码行吗?

A:“那不行,卖二进制时必须提供源码。第六条有写。”

Q:“我可以提供源码,但我要很多钱!这行吗?”

A:“这不行,必须免费提供或者很便宜提供,如果放网上让人下载,那就必须免费;如果是拷贝在U盘、光盘这种物理介质上,要么免费,要么不超过成本价。”

Q:“GPL怎么说的?给我看看。”

A:“第六条 分发非源码形式的情况 ……a)如果目标码是通过物理介质分发,或是在硬件里,那么,随同这个硬件,以常用的物理介质,给用户附上对应的源码。……(d)如果你是在某一指定地点(不管是实体店还是网上)提供目标码(收费或免费),那么也要在同一地点提供源码,并且不得另收费。……

Q:“非源码形式?目标码?这是说什么呀”

A:“简单地说,你就理解为可执行文件,理解为二进制。”

Q:“通过物理介质分发是啥意思?”

A:“有些卖硬件的,比如卖冰箱的、卖洗衣机的,卖硬件时候配一张光盘不也很方便吗。”

Q:“冰箱、洗衣机?这些也得给源码?”

A:“对呀,如果冰箱厂商用了GPL软件,就可能被传染,传染了就得给源码啊。”

Q:“大多数用户也不需要这些源码啊。”

A:“也许需要呢?不给光盘也可以,附一张单子,说明如果需要源码时怎么获取。”

Q:“GPL里面说这个了吗?”

A:“第六条 分发非源码形式的情况 ……b)如果出于种种原因,你没有随同硬件附上源码,那么可以附上一个书面告知单,告知用户要么以很低廉的价格获取源码,收费不超过合理的成本价;要么从网上免费下载源码。要保证用户在至少三年内并且你提供备件或客户服务期间都能够以这两种方式之一获得源码。……

Q:“合理的成本价是啥意思?”

A:“所谓成本价,就是光盘费、U盘费、拷贝费,比如10块、20块的,就这样的。”

Q:“真不愧是律师写的许可证……”

A:“你现在明白了吧。”

三、可以卖衍生品的源码

Q:“还有一点不明白。我基于一个GPL软件做修改后,然后我不卖二进制,我只卖源码,为啥就可以卖很贵。”

A:“你好好想想,这和你大价钱卖二进制,然后送源码,有什么区别吗?”

Q:“对呀,反正买源码的人他也会编译。”

A:“再说,也就头几个人会买,然后别人把源码公开了你也没法禁止。”

Q:“哦,还有点想不明白,单卖源码既然能卖很贵,为什么卖二进制时,源码就必须免费或者成本价?”

A:“因为如果你只卖二进制,不给源码,用户得到的就不是自由软件。”

Q:“那他可以买我的源码啊”。

A:“用户未必舍得啊,你卖那么贵。再说了,如果一个单位买了软件但舍不得买源码,员工也不自由啊。”

Q:“那为啥单卖源码就可以很贵,那就自由啦?”

A:“单卖源码的情况,别人只要买了,就得到了源码;卖二进制的情况,别人买了你的软件,却未必能有源码。你觉得什么区别呢。

Q:“后者不就是他买了一个没有源码的软件吗,很稀奇吗?”

A:“在Stallman看来,他买到的是一个不自由的软件。”

Q:“你总是说自由软件,这到底是个什么?”

A:“Stallman所定义的自由软件,就是可以自由运行、自由学习、自由修改、自由发布的软件,这就要求必须要有源码,不给源码的就不是自由软件。

Q:“哦,明白了,原来不管怎样,就是要给源码。

A:“对,Stallman最烦就是没有源码,他一生奋斗的目标就是让软件带源码。”

Q:“既然这样,那干脆也别让卖源码了,全免费算了。”

A:“程序员毕竟还要活啊,辛辛苦苦写了源码,当然可以卖。”

其实这些对话都是为了方便理解而虚构的,下面这张截图是真的对话。与我探讨此问题的朋友,花了一天才想明白。

四、读GPL悟出的生财之道?

Q:“嗯,这么一了解,我觉得我发现了一种新的生财之道。”

A:“你想怎么玩啊?”

Q:“我知道有个厂商,他用了GPL的软件,他的软件应该是被传染了的,他卖源代码,但不按GPL发布,每份源码他每年收许可费二十万。而且他的用户很多。”

A:“那你想怎么办呢?”

Q:“我花二十万买一份,然后我按GPL卖,每份十万,永久授权。我只要能找到多于2个客户,我就赚了啊”

A:“如果那厂商告你呢?”

Q:“首先,他自己有问题啊,他该GPL而不GPL,他侵权了别人,我只是主张正义而已,而且我没有违背GPL。”

A:“没毛病,但你卖的时候要遵循GPL协议哦。”

Q:“那肯定。”

A:“祝你好运啦。”

Q:“你觉得打官司我能打赢不?”

A:“从罗盒诉玩友案和未来诉云蜻蜓案看,我觉得你能赢。”

作者丨卫剑钒

编辑丨罗蕊艳

设计丨马丽娜

共创中国开源年度报告,期待您的声音

《开放式协作》:带你深入了解现代开源软件的开发者,以及他们对整个数字世界的影响

COSCon'22 开源商业化论坛 | 肖涵:早期商业化开源公司该如何量化运营?

开源社简介

开源社成立于 2014 年,是由志愿贡献于开源事业的个人成员,依 “贡献、共识、共治” 原则所组成,始终维持厂商中立、公益、非营利的特点,是最早以 “开源治理、国际接轨、社区发展、开源项目” 为使命的开源社区联合体。开源社积极与支持开源的社区、企业以及政府相关单位紧密合作,以 “立足中国、贡献全球” 为愿景,旨在共创健康可持续发展的开源生态,推动中国开源社区成为全球开源体系的积极参与及贡献者。

2017 年,开源社转型为完全由个人成员组成,参照 ASF 等国际顶级开源基金会的治理模式运作。近八年来,链接了数万名开源人,集聚了上千名社区成员及志愿者、海内外数百位讲师,合作了近百家赞助、媒体、社区伙伴。

GPL协议允许你怎么卖?相关推荐

  1. 关于GPL协议的理解(开源与商用、免费与收费)

     关于GPL协议的理解(开源与商用.免费与收费) 如果你使用并且修改了我的GPL软件,那么你的软件也必须要开源,否则就不能使用我的软件,你是否把你的软件商用和我没关系.比如,Oracle卖的不是软 ...

  2. 关于GPL协议的理解(开源与商用、免费与收费的理解)

    总结下来有下面几点: 如果你用了我的 GPL软件,那么你的软件也必须要开源,否则就不能使用我的软件,你是否把你的软件商用和我没关系 Oracle 卖的不是软件的版权,而是技术服务 MySQL作为一个开 ...

  3. GPL协议 与 LGPL协议

    (以下全文引用自博客"朝闻道",链接:"终于理解了什么是LGPL"http://www.cnblogs.com/findumars/p/3556883.html ...

  4. 国内厂商 Onyx 违反 GPL 协议,中国开源何去何从?

    作者 | 马超 责编 | 王晓曼 封图 | CSDN 付费下载自东方 IC 出品 | CSDN(ID:CSDNnews) 近日,中国电子书厂商Oynx拒绝开源其基于Linux 内核修改的设备源码,这一 ...

  5. GPL协议、LGPL协议与BSD协议的法律区别

    简 而言之,GPL协议就是一个开放源代码协议,软件的初始开发者使用了GPL协议并公开软件的源程序后,后续使用该软件源程序开发软件者亦应当根据GPL协 议把自己编写的源程序进行公开.GPL协议要求的关键 ...

  6. python gpl_详细介绍 GPL 协议

    在自由软件所使用的各种许可证之中,最为人们注意的也许是通用性公开许可证(General Public License,简称GPL). GPL同其它的自由软件许可证一样,许可社会公众享有:运行.复制软件 ...

  7. 小米屡次违反GPL协议,疑成“惯犯”

    整理 | 彭慧中 责编 | 屠敏 出品 | CSDN(ID:CSDNnews) 继一加疑似违反 GPL 协议,迟迟不公布 OxygenOS 12 源代码惹怒网友后,小米也因一直不公布各类设备的 And ...

  8. GPL协议与MIT开源协议的异同

     GPL协议(GNU通用公共许可证)和MIT开源协议都是开源软件许可证 要说异同,有以下几点: 相同点: 1. 都是开源协议,授权使用.修改.分发和再发布软件. 2. 要求使用协议的用户保留原有许可证 ...

  9. GPL协议-通用性公开许可证(General Public License,简称GPL)

    原文链接: https://my.oschina.net/u/3358860/blog/3024972 2019独角兽企业重金招聘Python工程师标准>>> 在自由软件所使用的各种 ...

最新文章

  1. 【leetcode】7.反转整数(Reverse Integer)
  2. Echart的angularjs封装
  3. php引用shell变量,Linux Shell Bash变量的间接引用 - Powered by PHPWind....
  4. python定义方法继承类_Python类的定义、继承及类对象使用方法简明教程
  5. 优酷开放sdk-setOnerroListener
  6. Linux文件锁学习-flock, lockf, fcntl
  7. 【C语言简单说】七:自定义函数(3)
  8. java trim()函数_Java - split()函数和trim()函数的使用方法
  9. 中芯国际发布2021Q1财报:55/65纳米工艺依旧为营收主力
  10. 零基础学python知乎-编程零基础应当如何开始学习 Python?
  11. reids高可用(灾难备份-持久化)
  12. win10系统下mysql5.7初始化失败怎么办?
  13. python控制键盘游戏内无效_python 采坑总结 调用键盘事件后导致键盘失灵的可能原因...
  14. C#入门学习-----图书阅读器(WPF 用户控件技术)
  15. 一、Windows系统下安装Tensorflow2.x(2.6)
  16. 大数据项目之电商分析平台(2)
  17. 深度调查:危险的“360安全卫士”!
  18. CTGNet GIA和CN2 GIA的区别
  19. 教你将PDF转换Word的方法
  20. 用Qt操作Word文档

热门文章

  1. 2019美和易思第十一期班主任选拔培训(贵州+重庆区域)拉开帷幕
  2. 计算机中录音文件以什么格式保存,手机录音是什么格式
  3. 海淘 海外购 iherb 礼券码 优惠码
  4. mfc中socket字符接收不完整unicode问题
  5. FAFU OJ 依旧水水的dp3
  6. 如何拦截各种软件的广告弹窗?
  7. NIST指纹数据识别(二)数据处理
  8. 足球与oracle系列(4):从巴西惨败于德国,想到,差异的RAC拓扑对比!
  9. Python+Selenium自动搜索基金业协会指定企业名单,抓取指定信息并保存到数据库...
  10. 【剧透高亮】最最最完整剧透加剧情详细解析