这是一个棘手的问题,这取决于软件的独特性,以及您是否希望外界能够做出很多重大贡献。
如果人们仅向您发送了对软件的重大更改,那么您(作为原始作者)将仍然是拥有该软件的版权的唯一人,因此,您可以随时关闭它。但是,请意识到,如果您已经按照标准的开放源代码许可证发布了该软件的先前版本,那么任何人都可以从这样的旧版本中分叉您的软件,因此,您可能总是会拥有一个开放源代码您专有软件包的竞争对手。这实际上就是SSH的原始作者 Tatu Ylonen所发生的事情,后来成为ssh.com的创始人兼CTO,尽管他们分发具有他的版权的文件,但与OpenBSD和OpenSSH并没有多大关系。(尽管塔图·伊洛宁(Tatu Ylonen)的主要遗憾是与版权无关,而是他将“ ssh”和“安全外壳”商标丢给了通用商标,从而失去了商标。)
那么,如果人们确实向您发送了对软件的重大更改,该更改将受到版权保护,并且您希望将其集成到源代码树中,该怎么办?您可以建立这些法律协议之一,供稿者将版权分配给您,因此,从法律上讲,您仍然是该软件的唯一“作者”。我来自FreeBSD / OpenBSD阵营,我们认为版权分配通常被认为是不好的味道。FSF因其大多数软件的版权分配而臭名昭著。NetBSD为其成员提供了一个选择(这使NetBSD Foundation可以从其许可证中删除两个条款在所有文件中,没有任何人要求拥有个人版权);许多商业公司都有各种各样的贡献者协议,可以执行各种转让。Linus Torvalds站在哪里? Linus也不喜欢贡献者协议,而且,正如您可能猜到的那样,除了GPLv2本身之外,Lunux内核没有任何协议。
因此,如果您确实在没有版权分配的情况下接受对树的版权更改,该怎么办?这是您最初选择许可证的地方。如果您选择了GPL,那么贡献者也将根据GPL向您许可自己的代码,那么您就很受GPL的束缚,并且始终必须将源代码发布给任何后续的商业产品(但所有您的竞争对手)。如果您选择BSD / ISC / OpenBSD许可,那么您可以随时关闭源以添加额外的付费功能,而无需发布任何源更改(但您也向竞争对手授予了相同的权利) )。
当然,如果回顾过去,如果您决定多年后仍希望您的软件使用其他许可,则可以随时尝试与所有以前的贡献者联系,以根据新许可重新许可他们的更改。这是一个非常痛苦且漫长的项目-如果无法联系某人该怎么办?Mozilla和VLC过去曾进行过此类许可;他们当然一定已经享受了新许可证的好处,但是我高度怀疑他们是否享受了长达数年的过程。
无论如何,无论您选择使用GPL还是BSD,拥有开源版本的软件始终会带来很多好处,这已经被许多成功地围绕编写和发布开源软件的成功商业公司证明了。