通用公共许可证(Common Public License,CPL)常见问题解答(FAQ)

仅用于提供信息

Comments
  1. IBM 公共许可证(IBM Public License,IPL)与通用公共许可证(CPL)的关系是什么?
    IPL 是 IBM 的第一个开放源代码许可证。CPL 本质上是 IPL 的下一个版本。
  2. 为什么制定 IPL?
    IPL(和 CPL)的最终目的是支持并鼓励代码基的协作开放源代码开发,同时使代码得到最大限度的利用,并与根据其他许可证 (包括很多商业许可证)得到许可的软件进行整合。
  3. 为什么制定 CPL?
    制定 CPL 是为了推广 IPL 条款的使用,以使得所有开放源代码的创作者可以使用 IPL 中建立的条款。因而,CPL 可以由 所有人来使用。
  4. CPL 的最新版本是哪个?
    最新的版本是 版本 1.0。 最初的版本指派为 0.5,在它随着 Eclipse 的引入而广为应用之前制定。Eclipse 是一个开放源代码的 项目,其核心是一个用于集成的应用程序开发工具的开发平台。要获得更多关于 Eclipse 的资料,请访问 eclipse.org
  5. CPL 是否得到了开放源代码促进会(Open Source Initiative,OSI)的批准?
    是的,CPL 已经被批准。版本 0.5 于 2001 年 5 月被批准。版本 1.0 在修订了一个细微的印刷错误后,于 2002 年 6 月 公布在 OSI 的站点上。IPL 于 1999 年 8 月被批准。参阅完整的 OSI 批准的许可证列表
  6. 得到 OSI 许可证批准的必备条件是什么?
    一个许可证如果遵循 OSI 的“开放源代码定义(Open Source Definition)”或“OSD”,那么它就有资格得到 OSI 的批准。 OSD 涵盖了所涉及到的九个主题。其中主要是要求许可证不能限制任何一方销售或分发软件。进一步说,程序必须包括源代码, 必须允许以源代码或编译好的格式发行,必须允许进行修改和继承。在 opensource.org 可以找到更多关于 OSD 的资料。
  7. 开放源代码模型商务上的优势是什么?
    开放源代码社区可以为个人和公司提供一个途径,使得他们可以协同开发那些自己无法独立完成的项目。
  8. 开放源代码模型的技术优势是什么?
    开放源代码模型的技术优势是让用户成为潜在的协同开发者。通过可以很容易地获得的源代码,很快您的用户就可以 帮您进行调试,并促使代码迅速得到改善。“给您的用户一点鼓励,他们将会诊断问题、建议修订,并帮助改进代码, 比您在没有帮助的情况下要快得多。”(The Cathedral and the Bazaar,Eric Steven Raymond。参阅 http://tuxedo.org/~esr/writings/cathedral-bazaar/)
  9. CPL 中是如何定义当事人的?
    对 CPL 来说,有两种类型的当事人。他们是“贡献者(Contributors)”和“接受者(Recipients)”。 贡献者包括最初始的贡献者(创建遵循 CPL 发行的初始代码的人或实体)以及后继贡献者(他们修改或补充代码 (修改或补充的代码与原有代码的一起被称为“程序(Program)”))。任何重新发行程序的人或实体也是一个贡献者。 接受者是任何遵循 CPL 获得程序的人,包括贡献者。
  10. 贡献者可以保持匿名吗?
    不可以。除了那些只是简单地重新发行程序的人,每个贡献者都必须用一种可以让随后的接受者可以 方便得到的方式将自己标识为他的贡献(Contribution)的创作者。
  11. 根据 CPL,贡献者授与接受者什么权利?
    贡献者根据他们在他们的贡献中拥有的权利许可接受者。
  12. CPL 是否允许我获取根据它得到许可的程序的源代码,并将其中部分或全部包含在另一个程序中,而那个程序的许可 是根据 GNU General Public License(GPL)、Berkeley Software Distribution(BSD)许可证或其他开放源代码许可证而得到的?
    不允许。只有软件的所有者才可以决定是否以及如何许可给其他人。根据 CPL 得到许可的程序的贡献者明白, 根据 CPL 的条款,程序的源代码将可被别人所使用。除非您是软件的所有者,或者得到了所有者的许可,否则 您就无权将其用于根据另一个开放源代码许证可得到许可的程序中,因为那样会将另一个许可证的条款应用到这个程序。 顺便提一句,如果您想将根据另一个开放源代码许可证得到许可的源代码使用到根据 CPL 得到许可的程序中,答案 是相同的。
  13. 我是否可以获取一个根据 CPL 得到许可的程序,不加修改地编译它,然后授与结果商用许可证?
    可以。在与 CPL 条款一致的前提下,您可以不加修改地编译根据 CPL 得到许可的程序,并授与结果商业许可证。
  14. 当程序以对象代码形式发行时,我是否需要在程序中包含源代码?
    不需要。不过,您确实需要包括一个声明,说明源代码可以从您这里获得,并说明如何获得它。
  15. 当我将一个根据 CPL 得到许可的程序的一部分合并入我自己的以对象代码形式发布的私有产品中时,我是否 可以为整个产品使用一个单一许可证?也就是说,涵盖程序(Program)的一部分以及我自己的代码?
    可以。标明 CPL 部分并且使那一部分遵循 CPL 的条款,产品的对象代码可以根据一个单一许可证发布。
  16. CPL 声明它可以由 Agreement Steward 修改。贡献者是否可以选择根据旧版本或新版本的 CPL 重新发布先前已经发布的程序?
    尽管对贡献的许可根据的是它们最初发布时所根据的许可证的版本,但是,CPL 允许任何贡献者选择那个版本或者更新的版本。
  17. 如果我修改了一个根据 CPL 得到许可的程序,但永远不会发布给任何其他人,我是否必须让别人可以使用我的修改?
    不必。如果您不发布修改的程序,您就不是必须要让别人可以使用您的修改。
  18. 如果我修改了一个根据 CPL 得到许可的程序,并免费发布了修改过的程序的对象代码,我是否必须使代码可用?
    是的。发布修改的程序,即便它只是对象代码的一个免费版本,您也有义务让别人可以使用修改过的程序的源代码。
  19. 如果我编写了一个模块,添加到一个根据 CPL 得到许可的程序,并将模块的对象代码与程序的其他部分 一起发布,我是否必须遵循 CPL 的条款使我的模块的源代码可用?
    既然模块不是程序的继承产物,所以不用。
  20. CPL 是否提供关于程序的保证?
    不提供。根据 CPL 发布的程序是基于“原封不动(as is)”的原则提供的,没有任何种类的保证或条件。
  21. 您没有提供的我问题的答案。我如何才能使我的问题得到回答?
    请致函 opensrc@us.ibm.com,我们将尽力为您回复。

下面的情景进一步阐明了 CPL 如何作用:

  1. 公司 X 贡献了根据 CPL 发布的最初的代码和文档。例如,IBM 贡献了最初的 Eclipse 代码。因此, 根据 CPL,IBM 是最初的贡献者,最初的 Eclipse 代码,既包括初始代码也包括程序,被称作 IBM 的 贡献。
  2. 公司 A 没有进行修改和补充又重新发布了那个程序。根据 CPL,公司 A 被认为是一个贡献者。
  3. 公司 A 对程序进行了修改或补充。公司 A 是一个后继贡献者,修改或补充是一个贡献,成为程序的一部分。
  4. 公司 A 创建了一个软件模块,并根据它自己的许可协议与程序一同发布。模块没有从程序本身继承。 软件模块不认为是一个贡献,也不用遵循 CPL 的条款。
  5. 公司 B 自 Eclipse.org Web 站点下载程序。公司 B 是一个接受者。根据 CPL 条款,每个贡献者都 针对其对程序的贡献授权给公司 B 和其他接受者一个免版权费的许可证。

评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Open source
ArticleID=428664
ArticleTitle=通用公共许可证(Common Public License,CPL)常见问题解答(FAQ)
publish-date=072004