首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在web项目中使用GPLv2库

在web项目中使用GPLv2库
EN

Software Engineering用户
提问于 2015-09-08 07:54:22
回答 1查看 2K关注 0票数 5

我正在尝试理解GPLv2的工作方式,并有几个问题。我将描述几种场景,并想知道GPL是如何在那里应用的。

  1. 我制作了一个使用GPLv2库的web应用程序。我把这个项目放在一个公共存储库(github)中。该项目从库中调用函数,但实际上并不包括它的源代码--它只是在部署期间通过包管理器从开发人员存储库中提取它。我还需要将项目授权为GPLv2吗?
  2. 同样的场景,但我没有将项目放在公共存储库中。据我所知,这不算“分发”,所以我根本不必费心使用GPLv2?
  3. 我创建了一个基于BSD-3授权框架的项目,并且使用了GPLv2库。该框架的部分内容包含在项目中,但GPLv2库仅在部署期间下载。那么哪个许可有更高的优先级呢?我是在BSD-3或GPLv2下授权我的项目吗?
EN

回答 1

Software Engineering用户

回答已采纳

发布于 2015-09-08 08:18:10

当您使用GNU库时,整个软件需要在GNU下获得许可。GPL有一个变体,LGPL (较小的GPL或Library GPL),它允许从非GPL软件调用库。但是这个库的作者似乎有意选择了LGPL中的GPL,所以他们的意图似乎是不允许将它用于非GPL软件。您的构建过程与此无关。重要的是,如果没有GPL组件,软件是可用的。如果不是,您需要在GPL下授权它。

另一方面,BSD许可证是一种所谓的“许可”许可证.您可以在一个项目中使用BSD -代码,并且仍然在不同的许可下授权它,只要您遵循BSD关于赋予原始作者的权限和他们代码的许可条件的要求(这只适用于他们的代码,而不是您围绕其构建的代码)。

tl;dr:您的整个项目需要在GPLv2下获得许可。

不要将源代码放在公共存储库上:当它是一个web应用程序时,它是否包括在客户端浏览器中执行的Javascript代码?在这种情况下,Javascript代码将分发给您的访问者,并需要在GNU下获得许可。但是,您只使用服务器端的任何代码都不会分发给用户,这意味着您不必发布源代码( GPL的另一个变体,AGPL,它还要求向通过网络使用该软件的任何人授权,但普通的GPL没有此条款)。

票数 5
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/296681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档