50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

GPL 协议的代价

  • 2016-11-06
  • 本文字数:967 字

    阅读完需:约 3 分钟

GPL 许可协议的主旨是说,如果你的软件使用了受 GPL 保护的代码,那么你的软件源代码也要公开出来。不同的开发者对 GPL 条款的诠释有所偏重,但不管怎样,遵循 GPL 协议是要付出一定代价的。Automattic 创始人 Matt Mullenweg 和竞争对手 Wix 之间展开了一场关于违反 GPL 协议的骂战,由此可以引起我们对 GPL 许可协议的一些思考。

Automattic 创始人 Matt Mullenweg 下载了一款由竞争对手 Wix 开发的 iOS 应用,他觉得这款应用看起来很眼熟,后来确认这款应用使用了来自 WordPress 的代码。于是他在博客上与对方展开争论,直指要点

你们应用里的编辑器使用了剽窃的代码,所以整个应用违反了 GPL 协议。

Wix 的 CEO Avishai Abrahami没有针对此事做出正面回应,试图回避他们在产品里使用了未付费源代码的事实。他的一个工程师员工也避开正面回应,在是否违反协议的问题上纠缠不清,不愿意直接承担剽窃代码的后果。

有些人对使用“剽窃代码”和“窃贼”这样的字眼来形容违反 GPL 协议的行为有些异议,不过事实就是如此:源代码出现在 Wix 的产品里已成事实,但 Wix 并没有为此付出任何代价。

很多开发者(包括 CEO)对使用受 GPL 保护的代码所产生的后果装作不在意。他们从对自己有利的角度来解释 GPL 条款:

  • “使用 GPL 代码没有任何问题,只要我们把改动的代码也贡献出来。”
  • “我们只使用了少量受 GPL 保护的代码,所以我们有权使用它们。”
  • “我们通过其它方式回报社区,这样就平衡了。”

以上这些说法,包括其它很多对 GPL 的误读,以及 Wix CEO 和他的工程师员工的辩解,都不符合 GPL 的协议精神。

遵循 GPL 协议的所要承担的义务是显而易见的,尽管有人在“链接代码”问题上争论不休。GPL 的主旨很容易理解:如果你在自己的软件里使用了受 GPL 保护的代码,那么你也要公开自己的代码。在遵循 GPL 协议的前提下,你要把源代码提供给那些安装了你的软件的人。公开你的代码,这就是遵循 GPL 协议需要付出的代价。

大部分开发者认为为 GPL 付出的代价是完全合乎情理的,不过有些人则无法接受。这个需要在从他人的代码中获取的好处与公开你的代码造成的损失之间做出权衡。

查看英文原文: The Price of GPL


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-11-06 19:005437
用户头像

发布了 322 篇内容, 共 157.5 次阅读, 收获喜欢 148 次。

关注

评论

发布
暂无评论
发现更多内容

YashanDB数据库索引策略优化与性能提升

数据库砖家

绕过使用__PSLockDownPolicy时的约束语言模式限制

qife122

PowerShell 约束语言模式

YashanDB数据库数据同步与复制技术详解

数据库砖家

YashanDB数据库数据同步与一致性保障

数据库砖家

Node.js HTTP请求走私漏洞利用(CVE-2025-23167)

qife122

node.js 网络安全 漏洞利用

工厂为什么要上MES系统,上MES系统的几大核心作用

万界星空科技

数字化转型 制造业 智能制造 mes 生产管理MES系统

YashanDB数据库索引设计技巧及实践指南

数据库砖家

YashanDB数据库数据脱敏技术解析与实施

数据库砖家

YashanDB数据库数据压缩与存储效率提升指南

数据库砖家

YashanDB数据库索引策略及应用场景分析

数据库砖家

YashanDB数据库索引机制与查询性能优化

数据库砖家

YashanDB数据库数据迁移的全面指南与步骤

数据库砖家

YashanDB数据库索引结构与优化技术全解

数据库砖家

干货:Gemini与jobleap.cn联动,一种邪修找工作的新方法,让你面试成功率立即提升500%!

Y11

求职 找工作 应届生 找实习

使用Prodfiler优化eBPF编译器性能:零代码修改实现近2倍提升

qife122

编译器 ebpf profiling

2000年模糊测试技术在Windows系统中的重现与安全影响

qife122

漏洞挖掘 模糊测试

YashanDB数据库数据压缩技术及应用效果

数据库砖家

YashanDB数据库数据访问安全策略及最佳实践

数据库砖家

YashanDB数据库数据回滚及错误恢复操作详解

数据库砖家

YashanDB数据库数据同步机制与实现技术

数据库砖家

YashanDB数据库数据恢复与备份技巧

数据库砖家

YashanDB数据库数据建模与设计规范详解

数据库砖家

为什么说jobleap.cn是最适合大学生找工作的App

Y11

求职 找工作 招聘 应届生 大学生

开发者说|H-RDT:基于人类操作数据的跨本体机器人学习

地平线开发者

自动驾驶 算法工具链 地平线征程6

在AI技术唾手可得的时代,挖掘新需求成为核心竞争力——某知名PHP AI框架需求洞察

qife122

ai框架 PHP开发

YashanDB数据库数据高可用与灾难恢复实践

数据库砖家

YashanDB数据库数据迁移的最佳实践

数据库砖家

YashanDB数据库数据同步及异步处理的特点比较

数据库砖家

大数据-83 Spark RDD详解:特性、优势与典型应用场景

武子康

Java 大数据 flink spark 分布式

微软安全更新指南新增安全公告标签,强化漏洞管理透明度

qife122

微软安全 安全公告

YashanDB数据库数据表设计最佳实践与性能考量

数据库砖家

GPL协议的代价_语言 & 开发_Daniel Jalkut_InfoQ精选文章