本文介绍了从Python应用程序调用GPL代码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好,


在我看来,Python最大的特色之一是

解释器可以用来整合各种各样的

软件包通过动态链接它们。到目前为止,这种方法对我们来说非常成功,但现在我将

纳入许可噩梦。


一些图书馆我们使用SWIG包装是在GPL下,但是我们分发的

应用程序不是(主要是因为我们被资助机构要求我们跟踪用户,因此要求

有人从我们的网站下载源代码。


关于GPL和动态链接的谷歌搜索提供了相同的

数字页面上说GPL

代码动态链接到非GPL应用程序是允许的,因为最终用户是b $ b来创建派生作品,因为页面说的相反! br />
所以有人知道该怎么做吗?

我想得到答案的第二个问题是,是否要做

os.system('''GPLapp'')"如果我发布了执行os.system调用和GPLapp程序的Python代码,那么违反了GPL吗?


感谢您提供任何意见。


请回复


-


--------------------------------- --------------------------------------

o

/ Michel F. Sanner博士斯克里普斯研究所

o分子生物学系副教授

\ 10550 North Torrey Pines Road

o电话。 (858)784-2341 La Jolla,CA 92037

/ Fax。 (858)784-2860

o

- -------------------------------------------------- -------------------

Hello,

One of the greatest feature of Python in my opinion is the way the
interpreter can be used to integrate a wide variety of
software packages by dynamically linking them. This approach has been
extremely successful for us so far but now I run
into a license nightmare.

Some the libraries we wrapped using SWIG are under GPL but the
applications we are distributing are not (mainly because
we are asked by funding agencies to keep track of users and hence ask
people to download the source from our site).

A google search about GPL and dynamic linking came up with an equal
number of pages saying that dynamic linking of GPL
code into non GPL applications is allowed as it is the end user who
cretes the derived work, as pages saying the opposite !
So does anyone know what to do about this ?

The second question I would like to get an answer for is whether doing
an "os.system(''GPLapp'')" violates GPL if I ship
my Python code that does the os.system call and the GPLapp program ?

Thanks for any input.

Please reply to sa****@scripps.edu

--

-----------------------------------------------------------------------
o
/ Michel F. Sanner Ph.D. The Scripps Research Institute
o Associate Professor Department of Molecular Biology
\ 10550 North Torrey Pines Road
o Tel. (858) 784-2341 La Jolla, CA 92037
/ Fax. (858) 784-2860
o sa****@scripps.edu http://www.scripps.edu/~sanner
-----------------------------------------------------------------------

推荐答案




FSF的立场(以及它''' s律师)认为这是非法的,因为你正在创建一个派生词,因此动态链接不符合GPL兼容许可证的应用程序

对GPL的工作是非法的由GPL领导的图书馆的工作由

usin直接在您的运行时环境中(即在相同的

过程中)。这就是LGPL(较小的或库GPL)的用途,其中
明确允许封闭源(以及其他)包链接到

LGPL引导的库。


如果你通过os.system()调用扩展程序,你就不会创建一个

派生的工作,因为生成的程序可能有运行时

依赖于GPL主导的程序,但两者都不共享运行时

环境(它们是单独的进程,因此你还没有创建

a派生的GPL主导图书馆的作品。


请注意,我从未使用过你必须GPL你的申请这个词。以上,

,但是说你的应用程序属于与GPL兼容的许可证是至关重要的。请参阅FSF,了解更多有关哪些许可证与
兼容的信息(例如,最现代的BSD衍生产品)。


--- Heiko。



The stance the FSF (and it''s lawyers) take on this is that it is illegal to
dynamically link applications that are not under a GPL-compatible license
to GPL works, as you are creating a derived work of the GPL-led library by
using it directly in your runtime environment (that is in the same
process). That''s what the LGPL (the lesser or library GPL) is for, which
explicitly permits closed source (amongst other) packages to link to
LGPL-led libraries.

If you call the extension program by os.system(), you are not creating a
derived work, though, as the resulting program might have a runtime
dependency on the GPL-led program, but both never share a runtime
environment (they are seperate processes, and as such you have not created
a derived work of the GPL-led library).

Note that I did never used the term "you must GPL your application" above,
but rather said that it is paramount that your application is under a
GPL-compatible license. See the FSF for more details on what licenses are
compatible (most modern BSD-derived are, e.g.).

--- Heiko.





根据FSF,GPL不允许这样做。其他一些

用户有不同意见。实际的合法性最终可能需要由法院决定。现在还没有这样的决定。


当然,如果GPL'代码'的作者可以使用什么'

完成后,无论哪种方式都很好(即最坏的情况下,作者的

权限与GPL授予的权限分开存在)。

In另一种情况,你要问的是

非GPL作者(通常是专有代码开发者)在多大程度上挫败

的意愿GPL'代码'的作者并没有采用GPL精神做事。

由于专有代码开发人员通常使用版权系统

以避免拥有自己的如果被挫败,他们无权同意他们想要解释GPL以阻止其他作者的愿望。最好问一下GPL精神是什么,并采取行动,而不是积极地探究其确切的合法价值

边界。



According to the FSF, it is not permitted under the GPL. Some other
users have a differing opinion. The actual legality may eventually
have to be decided by a court; right now no such decision exists.

Of course, in the case where the GPL''d code''s author is ok with what''s
being done, it''s fine either way (i.e. at worst, the author''s
permission exists separately from the permissions granted by the GPL).
In the other case, you''re asking to what extent it''s legal for the
non-GPL author (typically a proprietary code developer) to thwart the
wishes of the GPL''d code''s author and do things not in the GPL spirit.
Since proprietary code developers generally use the copyright system
to avoid having their own wishes thwarted, they''re not entitled to
very much sympathy in their desires to construe the GPL to thwart the
wishes of other authors. It''s preferable to ask what the GPL spirit
is and act that way, than to aggressively probe its exact legal
boundaries.





我很确定不会这样做违反GPL。但IANAL,所以...


< mike

-

Mike Meyer< mw*@mired.org> ;

独立的WWW / Perforce / FreeBSD / Unix顾问,电子邮件以获取更多信息。



I''m pretty sure that doesn''t violate the GPL. But IANAL, so...

<mike
--
Mike Meyer <mw*@mired.org>http://www.mired.org/home/mwm/
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.


这篇关于从Python应用程序调用GPL代码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-23 09:49
查看更多