GPL Questions

Old forum that is now archived. Please use one of the other forums.
vash

GPL Questions

Postby vash » 21 Jan 2005 16:40

I am working on a dvd conversion project, but I'd like to release it comercially the GPL doesn't speak much about libraries or dll's (yes it will be on a win32 environment) just about programs.

I don't want to give the source of my application away, however I have no problem with releasing the source of the changes I've made to the libdvdcss.

I'm assuming I cannot statically link with the libdvdcss otherwise my application would fall into the GPL's infection.

However what about dynamically linking? Such as loading the dll and linking the functions.

Or if it has to be a seperate application, can you create an application, that exports some functions and then dynamically link that seperate program to use those functions?

-Vash

markfm
Big Cone-huna
Big Cone-huna
Posts: 1536
Joined: 22 Feb 2004 17:42

Postby markfm » 21 Jan 2005 18:37

http://www.gnu.org/copyleft/lesser.html
Extract: "... the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs...."

So, if a software originator has created the product, released it under LGPL, you are permitted to link to the libraries. If the product has instead been released as GPL, you normally aren't allowed to link to it in a closed application.

You need to research how the lib in question has been released, what license is used.

(Licensing is pretty convoluted, but GPL and LGPL are pretty well documented ideas, including explanations of their use.)

Guest

Postby Guest » 21 Jan 2005 20:50

I am familliar with the LGPL and many libraries are under the LGPL, unfortunatly this one is not:
libdvdcss is released under the General Public License
According to the site.
However the GPL doesn't cover the use of libraries really, just programs.
-Vash

simon
Cone that earned his stripes
Cone that earned his stripes
Posts: 116
Joined: 18 Sep 2004 20:53
Location: Sweden
Contact:

Postby simon » 21 Jan 2005 23:43

the GPL does cover libraries
you can read more here
http://www.gnu.org/philosophy/philosoph ... eeSoftware

The DJ
Cone Master
Cone Master
Posts: 5987
Joined: 22 Nov 2003 21:52
VLC version: git
Operating System: Mac OS X
Location: Enschede, Holland
Contact:

Postby The DJ » 22 Jan 2005 22:00

When you run a program and load a dll, that dll becomes part of the program. Therefore it's a violation of the GPL.

A lot of people don't really take this requirement seriously. (for instance if you load your nvidia driver under linux) However GPL defenitly does not allow it.

Understand that the GPL was created to protect software. To build a complete Free and OpenSource software environment. if you would dynamically link dvdcss into your closed environment you would be stepping into an Un-Free environment which was not the original intention of the GPL developed software.
Don't use PMs for support questions.

Guest

Postby Guest » 24 Jan 2005 03:31

I'm not a laywer but from reading over several documents I've found some huge flaws in the GPL, in which I think completely invalidates it. Mainly being the simple act of dynamically linking/loading a GPL'd library forces the Application to be compliant with the GPL as well.
This applies to codecs, Active X Controls and all sorts of dll's that can be GPL'd and loaded into a Non-GPL'd application.

If I made an Outlook plug-in and released it under the GPL, when anyone would use that plug-in, it would require the application to comply with the GPL, which it doesn't, and therefore is a license violation. Since I'm not a lawyer I don't know if the license violation would be on the part of the user or the software maker, but from what it sounds in the GPL it would be a violation of the software maker.

Since this is impossible to stop or enforce, I believe it would invalidate the GPL's usage on libraries.

However, I am not a lawyer, and last time I gambled I lost my pants .. so my application will be useing a seperate application which will be GPL'd and use Window Messages or Sockets to communicate between the 2.
(which I'm presuming is perfectly ok since many of Internet Explorer clients (non-gpl) connect to Apache every day and that is not a GPL violation)
-Vash

markfm
Big Cone-huna
Big Cone-huna
Posts: 1536
Joined: 22 Feb 2004 17:42

Postby markfm » 24 Jan 2005 16:54

Your final choice, communication through an external API, whether the RC, VLM/telnet, or http interfaces, is indeed normally the "appropriate" thing. (those are VLC external interfaces, but similar scenarios apply to other things).

The clear intent is that if something is GPL, then things that subsume it are supposed to be GPL too, while LGPL is intended to permit things to be non-GPL. Many VERY smart people have worked on GPL and LGPL terminology, the words used.

Simon -- thanks for the link, I hadn't looked at that page before, but it is a well written explanation of the philosophy.

The DJ
Cone Master
Cone Master
Posts: 5987
Joined: 22 Nov 2003 21:52
VLC version: git
Operating System: Mac OS X
Location: Enschede, Holland
Contact:

Postby The DJ » 25 Jan 2005 01:06

You are partially right. There is a difference between loading an element which uses a common (system) API, and linking to an element.

You have to remember that you cannot link your code to anything that isn't a OS component and not GPL compatible. This doesn't invalidate the license, it just makes it incompatible with several uses of the license. It also doesn't require your code to be open sourced, you just cannot distribute it. Unfortunatly a lot of people don't understand the (to them) subtle differences that there are in GPL. (as i said it has always been one of the largest debate points of the GPL).

codecs, activex are different from dll
a dll is often used explicetly to enhance behaviour of an application. It is linked (made part of the application). The application also often doesn't work or cannot perform it's main task when it's not loaded the dll (or crashes)

codecs and activeX elements are different. They are dynamic and use a general API. An application cannot distingish between different elements of those before loading, and the parent application can clearly function and be compiled without the element.

and yes, your other other idea is perfectly legal
Don't use PMs for support questions.

Guest

Postby Guest » 25 Jan 2005 22:08

The DJ:
Codec's and ActiveX controls and various other components "are" DLL's

Just because the program late binds to the DLL's and calls a special set of functions that doesn't mean they aren't any less a DLL.

From what your saying is I could make a program that would detect of the dll is there, if it is it would load it and use it, if its not .. it wouldn't use it, and that wouldn't be a violation of the GPL .. however when reading the GPL I get a different impression.

It doesn't "require" it however its not as feature full without it (ie Media Player needs a Codec to play a specific movie format).

No one goes after any of these companies that late bind GPL code because there is nothing you can do, the company cannot stop their customers from using a GPL'd component.

In which I'm stating that the GPL is un-enforcable.

The DJ
Cone Master
Cone Master
Posts: 5987
Joined: 22 Nov 2003 21:52
VLC version: git
Operating System: Mac OS X
Location: Enschede, Holland
Contact:

Postby The DJ » 26 Jan 2005 01:06

child porn on the internet isn't enforceable either if you look at it like that.
Don't use PMs for support questions.

Guest

Postby Guest » 26 Jan 2005 16:10

child porn on the internet isn't enforceable either if you look at it like that.
Point Taken.
Either way I'm taking the safe route anyways ^_^
-vash


Return to “VideoLAN”

Who is online

Users browsing this forum: No registered users and 39 guests