开源的价值

开源与商业软件的概念与协议

1. 概念 🔗︎

教堂与集市 🔗︎

  • 教堂:商业软件,强调封闭性和专有性。
  • 集市:开源软件,强调开放性和社区协作。

2. 开源协议分类 🔗︎

学术型协议 🔗︎

  • 特点
    • 修改代码时需注明原著和免责声明。
  • 示例
    • BSD、Apache、MIT、PHP。

CopyLeft/病毒型协议 🔗︎

  • 特点
    • 学术型协议要求 + 衍生作品必须开源。
  • 示例
    • GPL、LGPL、AGPL、CDDL、CPL、EPL、MPL、LGPL。

3. 衍生作品的定义 🔗︎

衍生作品 🔗︎

  • 定义
    • 修改过代码(如 BlackDuck 识别为使用了部分代码)。
    • 编译后的作品。
    • 静态链接(如 GPL、AGPL)。

非衍生作品 🔗︎

  • 定义
    • 不同层面运行。
    • 开源程序与自己的程序独立运行,没有交互。
    • 远程调用(如通过 API 调用)。

4. 发行的定义 🔗︎

  • 何为发行
    1. 下载到用户端。
    2. 通过网络与用户交互(不算发行,但 AGPL、CPAL、OSL 除外)。
    3. 在服务端使用(AGPL 特别规定)。

5. 为什么开源? 🔗︎

  • 目的
    • 通过社区运营,促进技术发展。
    • 吸引更多开发者参与,提升项目质量。

6. 开源项目的收费模式 🔗︎

技术支持收费 🔗︎

  • 提供专业的技术支持服务,收取费用。

商业版本收费 🔗︎

  • 提供功能更强大的商业版本,满足企业需求,收取授权费用。