首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >销售只使用linux系统调用的库。

销售只使用linux系统调用的库。
EN

Stack Overflow用户
提问于 2014-06-09 17:07:28
回答 3查看 77关注 0票数 0

我知道有很多类似的问题,但我的问题比平常更具体一些。

我正在编写一个跨平台的共享(.so)C库,用于解析数学序列,我想在完成工作之后出售我的库。您可能知道,libc和glibc (据我所知)是LGPL,这意味着有人可以将它们链接到Linux上的专有/商业软件.

我的问题是,我的库是用-nostdlib编译的,这意味着它既不使用libc例程,也不使用linux上的任何其他库。

另一方面,Linux库包含头文件,并广泛使用linux系统调用,例如用于自定义内存管理的内存映射。

的问题是:我可以让我的库完全关闭源代码并在知道Linux内核在GPLv2下的情况下把它卖掉吗?如果是这样的话,(无论是静态库还是共享库)对许可有影响吗?

P.S:从技术上讲,这是一个个人项目,我只是想卖掉它,赚点钱,但是如果没有办法去做,那也没关系。

谢谢你的阅读和事先的回答。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-06-09 17:31:21

您不能使用GPLV2关闭源(至少从一开始就不是这样)。检查这里的条款-

您可以根据上文第1节和第2节的规定,以目标代码或可执行形式复制和分发该程序(或以其为基础的作品,根据第2节),条件是您还必须执行以下操作之一: ( a)随附完整的相应的机器可读的源代码,这些源代码必须按照上文第1节和第2节的规定在通常用于软件交换的媒介上分发;或 ( b)连同一份有效至少3年的书面要约,向任何第三方提供一份完整的机器可读的相应源代码副本,费用不超过你实际执行源分发的成本,根据上文第1节和第2节的规定,在通常用于软件交换的媒介上分发;或 ( c)随信附上你收到的关于分发相应源代码的提议的信息。(这一选择只允许非商业分发,而且只有当您按照上文b小节的规定以目标代码或可执行形式接收到该程序时,才有此优惠。)

在其他继承中,GPLv2必须是开源的,至少在一段时间内是开放的。

你可以在这里查看完整的说明书-

http://www.gnu.org/licenses/gpl-2.0.html

,但是同样,你应该咨询一个有执照的律师,我们不是这里的律师,所以你很可能不会在这里得到一个完整或详细的答案。

票数 1
EN

Stack Overflow用户

发布于 2014-09-30 13:18:14

您应该检查文件的许可是否传播到您的代码(也可以读取此链接 )。

无论如何,可以通过依赖syscall函数(请参阅man )来避免包含头文件来避免此问题。

票数 0
EN

Stack Overflow用户

发布于 2014-11-08 02:17:13

就像许多其他用户空间二进制库(例如,Nvidia,VMware)一样,有一个内核组件和一个用户空间组件。对于内核,它总是作为开放源码发布,但从来没有用户空间。内核只用于与硬件的接口(比如GPU和VMenter/VMexit),但是用户空间实现了所有的逻辑。但是,如果您认为所有与内核的接口都可以单独通过syscall完成,那么无论如何都不需要发布源代码。

但是卖图书馆确实是赚钱的糟糕选择--如今程序员有很多数学库可供选择(来自github、sourceforge和BSD等)。例如,

基于https://github.com/bebraw/jswiki/wiki/Math-libraries -> js,意味着基于浏览器是可能的?https://github.com/ampl/mp http://www.netlib.org/cephes/ ->400个高质量的数学函数在C.

生产力需要超越性能需求--这可能迫使他们转而使用Python。(例如,SciPy)。

http://scipy-lectures.github.io/advanced/sympy.html

但不要过分劝阻你,有英特尔的数学内核:

https://software.intel.com/en-us/intel-mkl

这是一种商业产品。

平衡你的选择。

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

https://stackoverflow.com/questions/24125212

复制
相关文章

相似问题

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