GNU 通用公共许可 (GPL) 是一种主要的著作权(Copyleft)许可方式。Copyleft 是允许对已发表作品进行持续分享的框架,与其它仅赋予自由而不保护自由的免费许可不同,Copyleft 授予作品使用者自由,并且保护使用者的自由。根据 GPL 发布的自由软件是现代技术的基础,从笔记本电脑、台式机到家用电器、轿车、手机,再到互联网基础,所有这一切都是由自由软件推动的。遵循 GPL 条款很简单,只有当发布的产品既包含以 GPL 方式授权的软件又包含根据用户限制条款发布的软件时,情况才会变得复杂。即便在这种情况下,很多公司依然能很好地遵循 GPL 条款,而某些公司则会篡改或违反 GPL 规则,以便发挥其已有优势。

目前,自由软件基金会 (Free Software Foundation) 和自由软件管理机构(Software Freedom Conservancy)是全球推行 GPL 系列许可的主要机构。自由软件基金会自二十世纪八十年代起开始推动 Copyleft 的实施,而自由软件管理机构自近十年前成立伊始便在很多项目中推行 GPL。去年,自由软件基金会和自由软件管理机构共同发表《著作权与 GNU 通用公共许可:综合教程与指南》一书,该书包括“GPL 合规性实用指南”和“GPL 实施案例分析”等章节,阐述了自由软件基金会和自由软件管理机构在 GPL 实施中共同遵循的典型流程。(自由软件基金会和自由软件管理机构在博客中对这些流程进行了简单说明。)

作为社区自由的坚决捍卫者,当有公司妨碍用户行使复制、分享、修改和/或重新发布 Copyleft 许可软件的权利时,我们将扮演用户代理人的角色。我们要求所有重新发布者遵守 GPL 要求,这首先是为了保护所有用户的自由,其次是支持尊重自由的公司,打击和惩罚不良行为。

Copyleft 以版权为基础,并基于版权保护用户修改和重新发布的自由,而非限制修改和重新发布。未经许可将作品给予他人即视为违反传统版权许可,而通过限制条件妨碍他人重新发布作品则视为违反 Copyleft 许可。由于 Copyleft 许可需遵循版权法,因此 Copyleft 许可的实施机制与其它版权许可机制相同——使用相同的术语和流程。我们需要注意的是,在实施 Copyleft 的过程中,应关注自由传播这一终极目标,而不要过度热衷于处罚或将版权体系中既有不公平合法化。因此,自由软件管理机构和 自由软件基金会是按照自由软件基金会 于 2001 年制定的面向社区的原则来实施Copyleft 的。

面向社区实施 GPL 的指导原则

  • 实施 GPL 的主要目标是 GPL 合规性。Copyleft 的首要政策目标是,使尊重用户的自由成为一种规范。这是自由软件基金会制定 GNU GPL 文本的初衷。根据这一原则,实施 Copyleft 时应侧重制止不正当发布,鼓励正当发布,以及处理过去的违规行为给社区和用户造成的损害。处理先前损害的常见方法包括:告知已得到软件的用户如何获取软件源代码,以及他们享有哪些相关权利。所有其它次要目标都不应妨碍严格遵守 GPL 规则以及尊重用户复制、分享、修改和重新发布软件的自由。
  • 法律诉讼是最后的手段。合规行为是教育和帮助违反许可者的主要手段。大多数违反 GPL 的行为都属过失行为,而非有意为之。Copyleft 的实施应帮助此类发布者在他们所倚赖的自由软件项目中发挥积极作用。少数 GPL 违规行为是有意的或是严重疏忽的结果,对此类行为无需姑息。但即使在这种情况下,诉诸法律也是最后的手段,双方以协商方式调整(或至少停止)后续发布,并采取措施减少已发生的损失,这样做比闹上法庭要好得多。
  • 保密能提高接受能力和响应能力。软件自由的支持者理所当然地将保密协议视为不信任的表现,他们更倾向于进行公开讨论。但对于合规工作来说,发起并持续私下讨论是诚意的体现,可以倡导合规性而不必担心公开报复,同时使对方有机会弥补无心之过。强制执行反而较难达到合规性的主要目标,因为提起公诉不仅花费不菲,也旷日费时。因此,实施者应将保密作为一种和解办法。如果某家公司显然在以诚意和保密来掩盖不作为、不反应,那么实施者可在发出足够的警告后将问题公之于众。
  • 面向社区的实施工作永远不应以经济收益为导向。合理的经济处罚是实现合规性的合法工具。从逻辑上来讲,如果对违规的唯一处罚仅仅是强制遵守原始规则,那么恶意违规者只会等待实施行为,而根本不会去阅读 GPL。这样的 Copyleft 社会模式和实施方式是无法站住脚的。没有经济处罚的实施体系有利于恶意行为者,不利于善意行为者,因为后者须承担合规发布的最低(数额并不低)人员成本,而前者则可以规避这项开支。因此,版权持有者(或其授权代理人)有理由就其配合实施行为所投入的合规性教导时间要求补偿。但通常,追回版权法允许范围内的全部损失是没有必要的,在某些情况下,这样做可能与 Copyleft 的目的背道而驰。
  • 面向社区的合规工作不应以忽略问题为条件索取或接受付款。在面向社区的实施过程中,实施者不应以忽略某项违规或接受针对已发现问题的不完整解决方案为条件接受付款。版权持有者应完全拒绝所有付款,直至发布者纠正过去的违规行为并正式(书面)提交未来合规计划。
  • 面向社区的合规工作应从仔细验证违规开始,到完成综合分析结束。这意味着,在起诉某实体违反 GPL 之前,应仔细核查报告,确认违规行为。随后,应检查所有相关软件,确定已提出并解决了除原始报告中所列问题和涉及相关许可条款的问题之外的所有合规性问题。这一点非常重要,这样在对话结束后,双方可以得到不会再次发生违规的合理保证。(已有的合规性正面范例可帮助发布者了解他们的义务。)
  • 面向社区的合规流程应推广 GPLv3 终止条款,甚至可推行至仅根据 GPLv2 许可的作品。GPLv2 规定,一旦发生违规行为,将永久性终止所有版权许可。GPLv3 的终止条款规定,初次违规者在及时纠正违规行为后可自动恢复发布权,同时向违规者提供需要得到其谅解的版权持有者的准确名单。GPLv3 终止条款的合作精神体现了对继续合作的承诺与期望。对于无心之过引起的违规(即使是针对 GPLv2 许可作品的违规),建议使用以上方法。

来源:面向社区实施 GPL 的原则

社区实施 GPL 的原则介绍相关推荐

  1. 计算机网络收集职业生涯规划的原则和步骤,职业生涯规划的步骤及原则介绍

    职业生涯规划的步骤及原则介绍 职业生涯规划是我们人生中最重要的一个环节,不少人为了职业规划而花了不少心思,但就是不知道该如何规划,所以下面小编就给大家介绍职业生涯规划的步骤及原则,一起来看看吧. 职业 ...

  2. 【整理】KISS原则介绍

    KISS原则介绍 KISS 原则是用户体验的高层境界,简单地理解这句话,就是要把一个产品做得连白痴都会用,因而也被称为"懒人原则".换句话说来,"简单就是美". ...

  3. 数缘社区上对libtom的介绍,贴过来先

    http://blog.csdn.net/songlingrebecca/article/details/5879154 基于Bit位运算的C语言库分析及其应用 1 LibTomproject的简要介 ...

  4. 国内首个违反GPL的案件介绍

    <几种常见的软件开源协议介绍>文章中我们提到了几种常见的软件开源协议,碰巧的是,CSDN的这篇<违反GPL协议赔偿50万,国内首例!>文章就介绍了一个因为违反GPL协议的案例, ...

  5. 没有mssqlserver的协议_LoadRunner是什么 LoadRunner协议选择原则介绍【图文】

    LoadRunner对不同协议的选择 以前使用Loadrunner只选择过web(Http/Html),但其实协议多种多样.在B/S结构的网站多种业务的特点需要选择不同的协议,耿电在给我们就介绍了用过 ...

  6. 光纤收发器的选购原则介绍

    光纤收发器做为一个区域网络连接器设备,其主要的任务就是怎样很好地把两方数据进行无缝连接.所以必须考虑其与周边环境相互兼容性的配合,及本身产品的稳定性.可靠性,反之:价格再低,也不能选用!那么,光纤收发 ...

  7. 设计模式七大原则介绍

    文章目录 1. 设计模式有哪些种类 2. 设计模式的目的 3. 设计模式七大原则 3.1. 单一职责原则 1. 基本介绍 2. 模拟场景 2. 接口隔离原则 1. 基本介绍 2. 模拟场景 3. 依赖 ...

  8. 智慧社区三维可视化决策系统功能介绍

    智慧社区三维可视化决策系统支持整合社区各部门现有信息系统的数据资源,深度融合5G.大数据.云计算等技术应用,作为实现智慧社区的重要部分,能够有效整合城市治理.社区管理现有信息系统的数据资源,覆盖社区管 ...

  9. CMDB实施方案和过程介绍(附实施模板下载)

    公众号回复:干货,领取价值58元/套IT管理体系文档 公众号回复:ITIL教材,领取最新ITIL4中文教材 正文 如果你都不知道自己的IT环境里有什么,就别指望控制.维护和提高它们,因此配置管理实施是 ...

最新文章

  1. SpringMVC项目前台利用ajaxFileUpload传递图片后台接收
  2. C++——友元 friend
  3. 使用sumlime text有感
  4. 确定NTFS权限应用的位置
  5. antd中表格的字段设置成掩码
  6. 树莓派外设开发之接入语音模块
  7. IDEA UML图 实战
  8. 18秋c语言程序设计作业答案,西工大18秋《C语言程序设计》平时作业答案.docx
  9. (转载)Fiddler 教程
  10. 非参数分析-符号秩和检验法
  11. 共享计算机扫描,windows系统下怎么共享扫描仪?
  12. 微软“玻璃硬盘”问世:2毫米杯垫大小可存储75.8G数据,1000年不坏!
  13. Linux启动流程详解
  14. DevOps自动化测试的原则和实践
  15. python自动表单填充工具(内含rar)
  16. 利用js写一个函数,实现翻转任意数组。 写一个函数,实现对数字数组的排序。
  17. python绘制幂函数曲线_基于matplotlib的yaxis力指数幂函数
  18. gitbook 使用粘自csdn
  19. (1) DPDK 简介
  20. 集合的打印、列表List、迭代器Iterators

热门文章

  1. border-radius 移动之伤
  2. 七嘴八舌Google
  3. 大数据开发笔记(九):Flink基础
  4. 数据可视化大屏分析流程是怎样
  5. 挑选大数据营销平台应注意哪些问题
  6. Python生成二维码-qrcode
  7. C++算法学习(力扣:402. 移掉K位数字)
  8. opengl计算帧率_unity如何计算帧率FPS
  9. AcWing 894. 拆分-Nim游戏
  10. git与github远程连接代码库使用笔记