• 注册
  • 开源 开源 关注:2 内容:36339

    论“GPL 就是给软件开发者们准备的坑”

  • 查看作者
  • 打赏作者
  • 当前位置: 职业司 > 资讯 > 开源 > 正文
    • 开源
    • 作者: 卫剑钒

      在百度里面搜“斯托曼 GPL”,第一条就是“GPL协议大剖析—GPL就是给软件开发者们准备的坑”( 链接 ),这是一篇猛烈抨击GPL和斯托曼的文章,该网站名为“斯托曼与GNU运动评论”,域名居然是stallman.cn,这可真是太有趣了,略扫一眼,便极大地激发了我的辩论欲。

      这种文风的话语,给我就一个感觉:太嚣张了。

      必须得怼回去!

      文章没有直接标明作者,但看了一下网站页面底部,作者应该是一个叫“小衲”的人(他似乎还有个网站叫linux.zone)。

      小衲在该文中,以标注的形式,对GPLv3全文进行大肆抨击,选用的翻译版本是阮坤良版1。

      GPL本身比较难懂,虽然阮版已经翻译的很不错了,但小衲在很多地方还是没有看明白,有很多自称看不懂的地方,也有很多完全理解错误的地方。这些地方我就不说了,直接无视。

      我就说说一些可能还有点市场的论点,这些观点多少反映了一些人的困惑。

      注1:本文中的GPL,不特指某个版本,虽然主要是说v3。

      注2:本文中举的一些开源软件的例子,很多并不是GPL软件,但就是个例子而已,不用太纠结。正如小衲貌似批判GPL,很多地方更多是批判开源精神。

      注3:本文所说“GPL软件”,是指按照GPL许可证发布的软件。

      图片来自《The Dig》(右边那人像不像stallman?)

      下面列出该文的主要谬误和迷思,并一一点评。

      纵观该文,小衲的困惑主要是以下五点:

      一、为什么只为用户着想,而欺负开发者?

      此人可能没有搞清楚开源软件的“用户”是什么概念,据我所知,凡是对源代码感兴趣的,都是程序员,都是软件公司,君不见,那些互联网大厂,哪个不是开源软件和开源代码的重度用户?!那些混迹在各个软件公司、各个甲方、乙方的所谓软件工程师、架构师,哪个不是高度受益于开源软件和开源代码?

      所以,开源代码,最大的受益者是开发者、是软件公司、是互联网公司。

      所以,GPL所给的自由,是开发者享受了最多!

      不过,今后的世界将进入软件的世界,人人都将成为程序员。自由软件最终造福的,是所有人。

      二、GPL自相矛盾,到底免费还是收费?

      小衲看来对GPL允许收费的若干处描述没有完全看明白,尤其是他对第10条的理解完全错误(小衲错误以为“一旦第一次对自由软件进行收费,就不能重复收费”,完全不是那么回事嘛,有空可以看看我的“人话解读GPLv3”)。

      其实,斯托曼也是人,也知道程序员要吃饭,他当年也曾靠卖Emacs过活,所以并不排斥收费。

      下面是我整理的GPL关于收费的部分,给小衲以及不了解这块的看客解个惑。

      GPL认为可以收费的有这么几种:

      1、你可以卖别人写的开源代码。

      比如你可以卖Linux内核源代码,虽然你没有写过一行Linux代码,你都可以卖,而且你收多少钱都可以。

      但这里面的逻辑在于:你会下载,别人也会下载,别人为什么要从你这里买?除非他不知道这是开源的。

      或者,除非是你整理得很好,包装得很漂亮,弄得很方便,收费也不贵,那是有人乐意花钱买的。(就好比有些收费的Linux发行版)

      去年有人在“咸鱼”上买一个开源程序“新蜂商城”,他卖30元,也确实有人买,因为他还手把手教人怎么搭建呢!

      “新蜂商城”作者可没兴趣干这事。

      2、你可以卖你修改过的别人的代码。

      你收多少钱都可以。你觉得有人买就行。

      你不要太高估了别人买你修改过代码的兴趣。

      就好比你把Vim的源码改了改,你卖,你说能卖多少呢?所以不用给你限价。

      3、你可以卖目标码。

      所谓目标码,可以简单理解为可执行文件这类。

      通常,所有商业软件卖的其实都是目标码。

      目标码你卖多少钱都行,但你要免费或者以不高于成本价提供源码。

      由于你提供了源码,这样一来,别人也可以做出目标码,别人也可以卖,所以竞价就开始了。

      由于作者(可以是公司、团队等)毕竟比较正宗、权威一些,所以可以卖的贵一点,毕竟大家都认他嘛!

      为什么说要给源码限价(免费或者不高于成本价)?

      我想到的一个原因是,对于一个GPL软件,如果你是作者或者衍生品作者,软件你收10万元,源码你收1000万(如果不限价),由于源码只在你手里,那几乎就是不开源了,因为一般人也买不起。除非有人花1000万买下来挂网上,大家才能免费获得。

      4、你可以收维保费。

      就是说,你帮着安装软件、帮着解决问题和故障、帮着升级打补丁、帮着定期来看看有没有异常啥的,这种收费我觉得很正常,这就是一种服务费,也是一种典型的商业盈利模式(如红帽订阅)。

      大多数有点钱的甲方,都会买大量的维保服务,以免出了事没人托底。

      5、其他并不在GPL关注范围之内的情况。

      你可以用一切不违反GPL或者与GPL无关的方式赚钱,比如你用GPL软件提供云服务来赚钱(用这种的太多了);你可以利用自己的名声赚钱;原创作者可以通过双许可证赚钱(下面会提到);原创作者还可以弄一个多一些功能的企业版(就是专有软件)来赚钱。

      注意,上面说的是可以收费的情况。GPLv3里面还有一条(第10条)是明令禁止收费的:

      你不能收GPL软件的版权费、专利费、许可费、版税等等这类授权费。授权都只能是免费的。

      三、写代码这么辛苦,为什么让我们免费!

      本人评论:如果你是一个软件的原创作者,没人逼着你开源你的代码,没人逼着你用GPL。

      用不用GPL,对原创作者而言,是一个心甘情愿自主选择的事。

      而如果你只是拿了别人的GPL源码,做了一些改动,你再呕心沥血,你也要贡献出源码。

      道理是很浅显的,你免费用了我的代码,你也要回馈一些,对不对,这很公平吧!

      不服你就当原创作者。

      当原创作者是有很多好处的,你可以选择不用GPL,而且,即便你用了GPL,你仍然可以再用另一个许可证专门卖给企业。

      有人会感到奇怪,一个已经用了GPL的软件,同时可以再以其他商业许可证出售?

      是的,因为你是原创作者。你是版权人,你可以给一部分人用GPL授权,给另一部分人用其他许可证授权。

      有人会说,那既然有开源的,为什么还会有人去买你其他许可证的呢?

      有这么一种情况:企业想用某个开源软件,但又不想把自己的修改版开源,这时就可以花钱请作者授权,许可让自己的修改版无需开源。

      说白了,就是“花钱免传染”。

      四、为什么开发者只有虚名,没有权利!

      本人评论:我活这么大,发现就是有些人,死活也不相信,这个世界真有能做无私贡献的人。

      依我这么多年对人性的了解,做无私奉献的人,光他获得的成就感、优越感、声望感,早就把他满足若干遍了,还要啥自行车!

      五、开放了源码,怎么挣钱?

      本人评论:没错,有了源码,理论上大家都可以做出目标码。

      所以开源代码的目标码通常也不收费。我下载过很多开源软件的目标码,几乎没见到有收费的。

      但GPL的初心,本来就不是赚大钱的。

      就好比你不能埋怨一个慈善组织,说他赚钱太少。

      想赚钱,你要靠其他方法,你不能靠建立或加入慈善组织来赚钱。

      结语

      怎么说呢,一个很现实很狭隘的人,理解不了有理想有情怀的人。

      一个满脑子资本主义的人,理解不了共产主义。

      图片来自《The dig》


      1. 阮版GPLv3翻译( 链接

      2. 开源软件及国内发展现状( 链接

      请登录之后再进行评论

      登录

      手机阅读天地(APP)

      • 微信公众号
      • 微信小程序
      • 安卓APP
      手机浏览,惊喜多多
      匿名树洞,说我想说!
      问答悬赏,VIP可见!
      密码可见,回复可见!
      即时聊天、群聊互动!
      宠物孵化,赠送礼物!
      动态像框,专属头衔!
      挑战/抽奖,金币送不停!
      赶紧体会下,不会让你失望!
    • 实时动态
    • 签到
    • 做任务
    • 发表内容
    • 偏好设置
    • 到底部
    • 帖子间隔 侧栏位置:
    • 还没有账号?点这里立即注册