GPL +非
该程序是免费且开放源代码的,但程序和库的结合不是,程序本身可能不起作用。 这取决于图书馆实际做了什么,以及它对程序功能的重要性。
如果它是一个作为操作系统一部分的库,或者通常安装在用户系统上的用户,那么用户就已经拥有了它,并且您将为他们提供一个FOSS程序,就像任何只在Windows上运行的FOSS应用程序一样(如米兰达),或更大的专有程序的FOSS插件。
另一种情况是当您有一个可选功能与系统上的专有应用程序接口时,例如一个FOSS通信程序,该程序可以访问第三方应用程序的地址簿,包括Outlook等专有应用程序。 在这种情况下,该库对于主要功能根本不是必需的。
但是,如果您正在制作一个独立程序,其主要功能取决于专有库(例如,整个功能位于专有库中,且只有GUI是FOSS),则您的应用程序在理论上应该是FOSS,但是而不是在实践中,因为库是您的应用程序中不可移除的组成部分。
请注意,如果您使用任何第三方GPL代码或库,则可能违反GPL,除非专有库是操作系统的一部分。 因此,不要一起使用第三方GPL代码和第三方专有代码。 (当然,如果你不分发第三方库,或者你只使用自己的代码,这可能是合法的,但是你会构建一个非法的软件组合,以工作形式分发。)
这个问题本身有点混乱,部分原因是你在混用术语。
首先,GPL是正确的。 直接的GPL要求任何分发软件的人都可以分发链接到它的所有资源。 您的用户无法做到这一点,所以他们将无法分配。 您仍然可以分发您的代码,因为您拥有代码的版权,但其他人无法做到这一点。
正因为如此,你不能真正声称你的程序是自由软件。
BSD和Apache可能更宽容。 我不使用它们,所以我不太熟悉它们。 无论你是否可以在那里发行,可能都与该专有图书馆的许可证有关(你没有说什么)。 虽然专有许可证很容易让你违反开源定义。 它所要做的就是以某种方式限制重新分配,或歧视特定用途类型。
因此,基于这一点以及我所看到的评论,我必须说不,这可能不符合Free Software或OpenSource的要求。 但是,这并不能阻止它对那些有第三方图书馆许可证的人有用,所以我认为任何这些言语技巧都不应该阻止你。 应该清楚地表明,重新分发只能在源代码形式中合法。 要将可执行文件重新分发,您必须使用许可许可证( 而不是GPL ),并且必须根据该第三方库的许可证进行分发,以重新分发编译的二进制文件(可能不会出现反汇编等) 。 这也应该清楚。
至于GPL,在GPL FAQ中可以回答您的问题:我可以编写使用非免费库的免费软件吗?
简而言之:您可以使用GPL,但您需要提供额外的权限才能使用非免费库。
详细说明如果我在GPL软件中使用GPL不兼容的库,会出现哪些法律问题?
如果您希望程序链接到系统库例外未涵盖的库,则需要提供许可来执行此操作。 以下是您可以使用的两个示例许可证声明; 一个用于GPLv3,另一个用于GPLv2。 无论哪种情况,您都应该将此文本放在您授予此权限的每个文件中。
只有该程序的版权持有者才能根据这些条款合法发布软件。 如果您自己编写整个程序,那么假设您的雇主或学校不声明版权,您是版权所有者 - 因此您可以授予此例外。
至于复制中心许可证(BSD等),它们不禁止与非免费库链接,因此您可以按原样使用它们,而无需特殊添加。
当然,软件包的一般自由度将受到需要随软件分发的库的许可证限制。 所以我想再次引用gnu.org:
所以请考虑:你能找到一种方法来完成工作而不使用这个库吗? 你可以为该图书馆免费更换吗?
如果程序已经使用非免费库进行编写,那么更改决定可能就太迟了。 您也可以按照现状发布该程序,而不是发布它。 但是请在自述文件中提到对非免费库的需求是一个缺点,并建议更改该程序以使它在没有非免费库的情况下执行相同的工作。 请建议任何想要在该计划上进行大量进一步工作的人首先使其免于依赖非免费图书馆。
链接地址: http://www.djcxy.com/p/79557.html上一篇: GPL + Non
下一篇: License similar to the MIT license but without the ability to sell?