如何从开源软件中赚钱? - Sachin


Sachin Neravath在 9 个月内从一个开源项目中赚了超过 65000 美元。
使用双重许可能实现你的开源项目的货币化:

1:什么是双重许可?
双重许可通常是指在专有许可和开源许可(通常是 GPL)下许可软件。当软件是双重许可时,接收者可以选择他们想要获得软件的条款。

2:这是如何工作的?
根据 GPL 的条款,如果您分发使用 GPL 许可代码的项目,您需要 - 在 GPL 下许可整个项目。- 向程序的用户提供源代码。

当涉及到客户端的代码时,GPL的限制性更强,在网站上使用GPL许可的JavaScript或CSS包构成了对网站访问者的 "分发",因为它们被转移到了客户端的机器上运行。

因此,任何将GPL许可的软件集成到专有产品中的人都会违反GPL来分发其产品。而作为另一种选择,用户将不得不获得商业许可,以使用该软件作为其商业产品的一部分。

3:贡献者
如果你接受其他开发者的贡献,每个为你的项目做出贡献的人也会成为他们作品的独家版权所有者。
当你在商业许可下对这些贡献进行再许可时,这就很棘手了。

为了确保你拥有所有必要的所有权,在商业许可下发布整个项目,你需要得到贡献者签署的贡献者许可协议(CLA)。

有一些免费的工具,如http://cla-assistant.io,可以帮助你快速为你的项目设置CLA。
每当有人提交PR时,机器人会在PR上发表评论,要求他们签署CLA。
贡献者需要用他们的GitHub账户登录并签署CLA。

4:改变现有的许可证
只要你是唯一的贡献者,你就可以改变许可证,而没有其他问题。

否则。

  •  - 你需要联系所有的贡献者并征得他们的同意 
  • - 或者在切换到新的许可证之前删除他们的贡献

一旦你把你的项目重新授权给GPL,在旧的许可证下发布的旧版本的软件仍然可以按照旧的许可证的条款使用。

但是,这通常不是一个问题,因为人们购买商业许可证主要是为了将来的更新和支持。

为了防止像npm这样的软件包管理器自动更新你的软件包,确保在你改变许可证时发布一个主要版本。
否则,在不知情的情况下,你的现有用户将陷入许可证违约。

当你重新授权你的项目时,好的做法是用一套新的功能做一次重大的重写。这样,你可以阻止人们使用旧版本。

5:例子
自21世纪初以来,双重许可已经被用作一种开源商业模式。
像甲骨文和Fedora这样的公司都遵循双授权的商业模式。
但你可以与你的项目有关的一些例子是fullPage.js、isotope、 introjs等。

6: 免责声明
请注意,我不是律师,这不是法律建议。上述所有信息都是基于在线研究和我的个人经验。