同样免费用,两款软件给的权利不同

假设小林使用两款记账软件。甲软件免费提供安装包,但作者没有开放源码,也没有允许修改再分发。乙软件提供源代码,并用符合开源定义的许可允许修改和分享,小林可以按许可为小店调整报表。

小林请程序员修改乙软件,仍可能需要支付开发费用;另一家公司也可以为它提供收费部署和技术支持。开源说的是许可授予的权利,免费说的是某项产品或服务的价格,两者不是同一条标准。

一眼看懂 / 示意图

三个问题,分别回答

  1. 01免费吗

    取得软件或服务要不要付费

  2. 02源码可见吗

    能否查看开发者使用的代码

  3. 03开源吗

    是否按开放许可取得使用、修改和分发等权利

这些维度有关联,但不能用其中一个直接替代另一个。

源代码像做法说明,许可决定能怎样使用

源代码是开发者修改程序时使用的代码形式。公开它,使他人有机会检查、调整和继续开发;开放许可则明确相应使用与分发权利。只挂出代码、却禁止任何修改或商业用途,并不符合通常的软件开源定义。

允许修改也不表示没有条件。不同许可可能要求保留版权说明,或在某些分发情形下公开相应源码、采用相同许可等;不能把开源当成“作者放弃了一切权利”。

开源不自动等于经过安全审查

代码可查看,为发现问题提供了条件,却不能保证已经有人检查每一行,或每个下载包都与公开源码一致。维护是否持续、漏洞是否处理,是另一些事实。

AI领域的“开放权重”也需要分开看:模型权重是训练得到的参数,并不自动包含训练代码、必要的数据说明或开放许可权利。一个模型能下载,不能仅凭这一点断言它与开源软件具有完全相同的开放程度。