- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。
想改进这个问题?将问题更新为 on-topic对于堆栈溢出。
6年前关闭。
Improve this question
我正在为中小型公司开发 CRM 系统,我想将 GPL 软件作为模块集成到我的系统中(根据我的需求进行一些修改)。将其作为商业产品许可是否合法?
谢谢。
最佳答案
在商业产品中使用 GPL 是一件非常复杂的事情。在 GPLv2 时代,有一个灰色地带,在 GPLv3 中已经被彻底清除了。要提供详细信息,您应该让我们知道您正在使用哪个模块以及它属于哪个 GPL 版本。
这一切都归结为“你的代码是 GPL 模块的派生作品”。举一个愚蠢的例子。如果 GPL 模块是一个冒泡排序并且您的应用程序使用该模块的 API,那么它是一个派生的工作,所以一切都属于 GPL。如果您围绕模块创建 web 服务,则 web 服务是 GPL,但使用 web 服务的任何东西都不是。在一个更加灰色的区域中,如果您有使用另一种排序算法的旧代码,并且您制作了一个“包装”层来更改将 API 从旧排序转换为新排序,那么只有包装层是 GPL,因为原始应用程序是不是派生作品(它在您使用 GPL 模块之前可用,并且没有考虑到 GPL 模块编写)。请注意,这一切都值得商榷,但是基于 GPLv2 的这种解释,存在诸如非 GPL 二进制 Linux 内核模块之类的东西。
就像 Neil 已经说过的:遵循 GPL 并不意味着您必须发布您的代码。只有当拥有您的软件许可证的人要求它时,您才应该提供它。除非他/她实际购买了该应用程序,否则一个随机的人不能只索要代码。当然,只有一个人必须购买它,然后他/她对代码做任何他/她想做的事情(例如发布它)。
关于licensing - GNU GENERAL PUBLIC LICENSE 软件作为商业产品的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/901131/
我有数百个文件,命名如下: RG1-t.txt RG1-n.txt RG2-t.txt RG2-n.txt 等等... 我想使用GNU并行在它们上运行脚本,但是我很难获得文件的基本名称,因此RG1,R
从例子 seq 1 100 | parallel -I @@ \ > 'mkdir top-@@;seq 1 100 | parallel -X mkdir top-@@/sub-{} 怎么办-X ,
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 7年前关闭。 Improve thi
我有一个简单的 Makefile: VAR := aaa include a.inc VAR += bbb 和a.inc some_target: $(VAR) @echo "refe
按照指南制作新类(class)。我可以使用 gst 命令制作新的或加载图像文件 (.im)。我输入代码来创建一个 Account 类,然后可以创建一个新类。 问题如何在关闭 gst 窗口之前将类保存到
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 10年前关闭。 Improve this
我想使用 GNU screen 来监视这样的串行 USB 端口: $ screen /dev/ttyUSB0 115200 但我需要调整一些终端线路设置。我已经进行了几次尝试,但似乎都没有奏效。例如,
我已阅读全文 documentation对于 gnu 排序和在线搜索,但我找不到 --buffer-size 选项的默认值是什么(它决定了程序在运行时使用多少系统内存)。我猜它是根据系统总内存以某种方
我正在使用 parallel --keep-order --line-buffer --halt 2 在一堆命令上并行调用 GNU .每隔一段时间,其中一个命令就会失败,并且 GNU 并行打印: p
这个问题与问题 2543127 的精神相似。 . 我有一个带有头文件列表的 gnu makefile。每个头文件可能位于不同的目录中,例如, HEADERS = $(wildcard *.h) $(w
假设我有以下 GNU make 目标: create_dir: @mkdir objects build_asm: $(ASM_FILES) @echo
默认情况下,当您在 GNU Screen 中创建新窗口时,它将在调用 Screen 的目录中启动。我想在当前所在窗口的当前工作目录的 GNU Screen 中启动一个新窗口。我该怎么做? 最佳答案 查
我想在几个输入上运行几个长时间运行的进程。例如。: solver_a problem_1 solver_b problem_1 ... solver_b problem_18 solver_c pro
很难说出这里问的是什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或言辞激烈,无法以目前的形式合理回答。如需帮助澄清此问题以便可以重新打开,visit the help center . 8年前关闭
我可以看到在多个输入上运行并行作业是多么容易,但是有没有其他方法可以通过将命令放入文件并重复多次来并行运行同一作业多次? parallel -j+0 ::: './dosomejob.sh' 但是告诉
所以我一直在尝试寻找一些关于 GNU screen 实际上如何在 high 下工作的信息,而不必真正阅读源代码,但我一直无法这样做。 screen 做了什么,即使在终端 session 关闭时它也能保
在调查崩溃时,我遇到了以下代码片段并立即意识到 mov 指令实际上应该是 movq 以获得正确的 64 位寄存器操作。 #elif defined(__x86_64__) unsigned l
我安装了 indent使用 brew感谢命令 brew install gnu-indent所以现在我有 gnu-indent-2.2.10到目前为止安装在我的 MacOS X 上,非常好。我的问题是
考虑这个Makefile: .PHONY: all all: main.txt main.txt: build/main.txt cp build/main.txt . %/main.txt:
假设目录输入中有 1000 个扩展名为 .xhtml 的文件,并且这些文件的某个子集(输出路径在 $(FILES) 中)需要通过 xslt 转换为目录输出中具有相同名称的文件.一个简单的 make 规
我是一名优秀的程序员,十分优秀!