代码之家  ›  专栏  ›  技术社区  ›  Eric O. Lebigot

GNU通用公共许可证(V2):公司可以免费使用许可软件吗?[关闭]

  •  17
  • Eric O. Lebigot  · 技术社区  · 14 年前

    这里是这个问题的背景:我有代码要以营利为目的出售,但我希望让个人和非营利组织可以/免费使用,只要他们的代码仍然是免费的。

    当库根据GPL v2发布时,公司是否可以使用它? 内部的 免费吗?如果他们开发基于它的软件,他们是否 在GPL下发布,即使他们不分发?他们能通过 使用 (不分发)内部开发的链接到GPL'ED库的软件,而不对作者进行任何补偿?

    我正在寻找一个仅允许 非商业用途 (复制、修改、链接到);生成的派生程序也必须免费用于非商业用途。是否有任何软件许可证用于非商业用途,并防止 任何 商业用途(包括 使用 软件是为了赚钱吗?看起来像 创意共享许可 有足够的灵活性来做一些接近这一点的事情,但我已经读过反对将它们用于软件的文章。你怎么认为?

    或者可以简单地写下以下内容吗?

    “这项工作是在双重许可下发布的:

    1. 非营利用途:GPL v2许可证。
    2. 其他用途:另一许可证,只要是从原作者处获得的。”

    这是否会有效地使该程序免费用于非营利用途(复制、修改、使用、__),同时让商业用途的大门敞开?

    编辑 :ps:在阅读了所有答案并在网上查找信息后,我决定这个问题的相关概念是 双重许可 . 互联网上有很多关于它的信息,特别是关于GPL如何适应(或不适合)双重许可的信息。

    8 回复  |  直到 10 年前
        1
  •  11
  •   Michael Aaron Safyan    14 年前

    是的,公司可以在内部使用GPL'D代码。GPL所施加的主要限制是,从它派生或使用它的任何源代码也必须在GPL下发布,但是如果它们不修改或分发原始的GPL代码,那么它们可以使用GPLED程序。

    正如我所见,有两个原因可以解释为什么代码只能用于非商业用途:

    1. 该准则将以营利为目的出售,但人们希望将其提供给个人和非营利组织。

    2. 有人认为,行业和开源是彼此的主要敌人。

    如果您属于第一类,我建议您创建一个开源许可证,声明此许可证仅适用于个人和非营利组织,任何营利公司必须购买不同的许可证,并为公司创建您选择的第二个商业许可证。简单地在现有许可证中添加一个条款,说明该条款只能用于非商业用途,这是完全可以接受和有效的(尽管您应该注意通过指示,例如,它是给定许可证的修改版本,而不是原始许可证,使该条款变得明显)。

    如果你属于第二类,那么我建议你强烈地重新考虑你的观点。与自由软件基金会的信念相反,工业和开放源代码不相互抵触。事实上,开源项目经常得到业界的支持。当一个项目在行业中被广泛采用时,使用它的公司将经常为改进该项目贡献时间和金钱,因为增强开源项目也会增强使用它的行业项目。但是,属于GPL的项目将不会被行业采用。Apache基金会的各种项目都是具有强大产业支持的项目的典范。这些项目通常得到支持,因为Apache许可证对行业是友好的,因此许多公司使用这些项目,反过来,这些公司对看到项目的改进有着既得利益。

        2
  •  5
  •   lornova    14 年前

    对。谷歌就是这样运作的!

    Google正在内部使用Linux的定制发行版,甚至在其服务器基础设施上也是如此。Web服务器是Apache的衍生产品。然而,他们并没有在公司外发布任何这类代码,用户正在远程访问这个GPL派生代码:这是GPL允许的。

    然而,谷歌为许多GPL开源项目(包括Linux内核)做出了贡献,他们只选择要公开的内容和不公开的内容。当然,他们被许可条款强制发布他们发布的任何GPL派生二进制文件的源代码。

        3
  •  3
  •   John Smith    14 年前

    是的,公司可以在内部使用。

    GPL只是说一个二进制的人可以请求源代码。因此,如果只有具有二进制代码的人在公司中,那么只有他们可以请求源代码。

        4
  •  1
  •   Robert Christie    14 年前

    GPLV2中没有使用限制-用户可以自由使用,如果他们喜欢,包括出于商业目的。

    这个 OSI list of licenses 包括对 Non-Profit Open Software license 这很可能符合您的要求,但要谨慎,因为其他开源许可证,包括GPL可能与之不兼容。

    最后,所有软件许可证都是基于版权所有者在软件中所拥有的版权(和任何专利)-您可以在自己的许可证中设置您喜欢的任何限制-但是,采用更流行的许可证意味着您的软件更有可能被使用、扩展和改进。

        5
  •  1
  •   User    14 年前

    是的,你可以。但是你必须在GPL下发布整个应用程序。但是,如果它只是在内部使用,这不是问题,因为公司中的其他人是否获得了您的代码并不重要。你当然不想把它公之于众。 至于非商业方面,GPL允许人们出售应用程序并从中赚钱,但前提是他们将所有的权利都给予了他们所授予的人。

    不建议使用Creative Commons许可证,因为其官方常见问题如下: http://wiki.creativecommons.org/Frequently_Asked_Questions#Can_I_use_a_Creative_Commons_license_for_software.3F

    我能用一个创作共享许可证吗 软件?

    我们不推荐它。创造性的 不应使用通用许可证 用于软件。我们强烈鼓励 你要用一个很好的 已经存在的软件许可证 可用。我们建议考虑 免费提供的许可证 软件基础或上市 开源计划。不像我们 未提及的许可证 源代码或目标代码,这些现有的 许可证是专门设计的 用于软件。

    创意公地有__包裹__一些 免费软件/开源许可证 用人类可读的“公地契约” 以及机器可读的元数据。你可以 使用这些“打包”的软件许可证 利用创意 通用人类可读文档 以及机器可读的元数据 但仍在授权您的工作 已建立的软件许可证。它是 需要注意的是,CC没有 在任何 是的,但只是把人和 机器可读的 许可证和原件 许可证文本。示例:GNU GPL、GNU LGPL,BSD。

        6
  •  1
  •   retracile    14 年前

    或者可以简单地 写些像下面这样的东西?

    “这项工作是在双重条件下发布的。 许可证:

    1. 非营利用途:GPL v2许可证。
    2. 其他用途:从 原作者。”

    这会有效地使 非营利用途的免费程序 (复制、修改、使用、__),而 让商业之门敞开 使用?

    要回答此问题: . 这是对使用的限制,这是GPL不允许的。

    同样,您不能用开源许可证做您想做的事情,因为您显然不想开源这个代码。你想对它进行非商业性的使用限制,也就是说 与开源不兼容 . 很好,您可以在任何您想要的专有许可下对其进行许可,但不要称之为开源。

        7
  •  1
  •   Hank Gay    14 年前

    你可以试试 Creative Commons license chooser . 根据我对你们要求的解释,建议 Creative Commons Attribution-Noncommercial-Share Alike 2.0 France .

    更新:

    说清楚,我知道CC recommend not using their licenses for software 但是我认为OP可能对列出的缺点没有问题。

    您还可以根据需要授予免费许可证,例如,明确声明您将为个人和开源用户提供商业许可证例外。 根据要求 . 然后,每当你得到一个合法的表面要求,给他们一次性许可证。

        8
  •  1
  •   User    14 年前

    我认为您可以使用类似extjs的许可协议。它允许人们在GNUgpl下使用extjs,如果人们也准备在gpl下发布他们的代码,但是如果人们想在非gpl许可协议下分发他们的代码并建立自己的许可证,他们必须购买产品的商业版本。我们必须分别为每个项目购买该产品的许可证。