Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

GPLv2 Libraries — Is There a Point?

kdawson posted about 5 years ago | from the spirit-of-the-license dept.

GNU is Not Unix 585

PiSkyHi writes "I understand that if I build an application that links with a library that is licensed under GPLv2, I must also make my application GPL2. I can see that value in this for an application. But for a library, what's to stop me separating my program into a GPLv2-compliant client app that talks to the rest of my (choose my own license) application?"

cancel ×

585 comments

Sorry! There are no comments related to the filter you selected.

GPL Fanatics (-1, Troll)

Anonymous Coward | about 5 years ago | (#29019533)

I think the point is that there are a bunch of wankers who want to impose the GPL on everybody, knowing that linking your code against it will infect your codebase. There's nothing wrong with using LGPL which allows linking and protects the openness of the library's codebase.

Re:GPL Fanatics (5, Insightful)

msuarezalvarez (667058) | about 5 years ago | (#29019607)

There is nothing wrong with you not using my code if you do not like my conditions, either...

Re:GPL Fanatics (1)

jaclu (66513) | about 5 years ago | (#29019807)

Reasonable demand, but I think the original question was along the lines of not completely understanding "your" intent...

What stops you? The FEAR OF GOD !! (-1, Troll)

Anonymous Coward | about 5 years ago | (#29019955)

He, disguised as a rotund portly beast by the name of Richard Milhouse Stallman, fights the never ending battle for truth, justice, and the commie way !!

Re:GPL Fanatics (1, Insightful)

bonch (38532) | about 5 years ago | (#29019833)

Fine, but then don't pretend your code is "free."

Re:GPL Fanatics (2, Informative)

Anonymous Coward | about 5 years ago | (#29019869)

but it is free...free from abuse by those who want to take and not give anything back.

Re:GPL Fanatics (4, Insightful)

msuarezalvarez (667058) | about 5 years ago | (#29019885)

'Free' is not a magic word that means something absolutely, there is no $DEITY-given dictionary which provides a canonical meaning for the word. Whether I call it 'free', 'open', 'shared', 'blue' or 'pretty' is completely irrelevant: what is relevant is what users and developers are allowed to do with the code and under what conditions.

This silly bickering about what kind 'free' is freer was boring already decades ago...

Re:GPL Fanatics (0)

Anonymous Coward | about 5 years ago | (#29019971)

Oh - but the code is free - everybody can use it and do with it whatever he/she/it wants.

You are -however- not free to steal the code and sell as your own product, and so making money using someone else its work.

You are free to link to open code and keep your product close. Nothing wrong with that. You only have to publish the parts that are changed in the open code to link to your product.

Example: NVIDIA can write closed source drivers and incorporate them in the Linux kernel as module, without making anything open. Nothing wrong with that.

What IS wrong is stealing code and sell them as your own product - as I said before....

Re:GPL Fanatics (3, Insightful)

nmb3000 (741169) | about 5 years ago | (#29019847)

There is nothing wrong with you not using my code if you do not like my conditions, either...

So much for being open and free [google.com] .

I tend to find myself in agreement with the OP. More and more it seems like the GPL is not a license designed to promote free and open source software but instead comes across as a "I'll scratch your back but then you are legally obligated to scratch mine" contract. I realize this probably stems from an irrational fear of proprietary software -- fear that F/OSS code will get eaten up and essentially stolen if there wasn't the backing of the GPL. That combined with the attitude of "for-profit companies shouldn't get something for nothing" isn't very endearing and it's no surprise Microsoft can sell the idea that "the GPL is a virus". The truth is that they really aren't hitting too far from the mark, except, perhaps, with respect to intent. I do think the GPL authors mean well and lack the malice that Microsoft seems to be suggesting exists.

It seems like anyone that really values and supports F/OSS would prefer LGPL or BSD style licenses. Allowing derivative works to remain closed source isn't a detriment to the open components and it really does look better to closed source companies. This should lead to more people adopting and using F/OSS, both open and otherwise. That's good, isn't it?

Re:GPL Fanatics (5, Insightful)

Knuckles (8964) | about 5 years ago | (#29019899)

I realize this probably stems from an irrational fear of proprietary software -- fear that F/OSS code will get eaten up and essentially stolen if there wasn't the backing of the GPL.

What's irrational about that?

Re:GPL Fanatics (3, Insightful)

beelsebob (529313) | about 5 years ago | (#29020045)

The fact that it can't happen. If you BSD license project A, and company M takes it and makes closed source project B with it, project A is *still* available from your site for free and open. Your code has not been magically closed, the only thing that is closed is *their* code which they used to make their project different from yours.

If that's not very much, well, they've not got very much to sell then, have they.

Re:GPL Fanatics (2, Interesting)

onefriedrice (1171917) | about 5 years ago | (#29020101)

Exactly. The reason for the GPL is not to "protect" code or keep code free. Code will be free forever under any open source license. Big Bad Corporation can't take your code and lock it up so nobody else can use it; it's still free! The only reason for the GPL is to "stick it" to corporations and anyone else to whom it isn't convenient to fully comply with all the strings (restrictions) attached to and imposed by the GPL. In my opinion, GPL code is counter-productive because of the complexity and ambiguity of the license itself, as well as the incompatibilities that come along with a "viral" license. Case in point: How stupid is it that ZFS can't be incorporated into the Linux kernel, not because of any technical reason, but because two "free" license aren't compatible with each other. Seriously? That doesn't sound like freedom to me.

Re:GPL Fanatics (1)

Jorophose (1062218) | about 5 years ago | (#29020159)

Sure sounds like freedom to me.

It means when IBM incorporates JFS, or hires kernel-hackers, that those changes benefit every last linux user. That when Red Hat does the same, it might mean a competitor gets it too; but they're going to be forced to reveal their code, too.

BSD/LGPL only works in some cases. Linux is only popular because of the GPL.

Re:GPL Fanatics (0)

Anonymous Coward | about 5 years ago | (#29020125)

Unless the company then patents some aspect of your code and sues you to prevent you from publishing it.

Re:GPL Fanatics (1)

beelsebob (529313) | about 5 years ago | (#29020163)

Yes, because patents can't be easily invalidated by showing the really obvious prior art. Wait, yes they can.

Re:GPL Fanatics (4, Insightful)

Knuckles (8964) | about 5 years ago | (#29020135)

The fact that it can't happen. If you BSD license project A, and company M takes it and makes closed source project B with it, project A is *still* available from your site for free and open. yada yada.

We've been through this a million times before. The company has now stolen the time of the guy who wrote the free code in the first place, or at least the guy may feel like that. It's also possible that they extended his file format or network protocol with proprietary parts, harming interoperability and the users of the free version by impeding the network effect.

Some developers care, some don't, some care or not depending on circumstance and goals of the software project. None of these positions is more irrational than the other.

Re:GPL Fanatics (2, Interesting)

beelsebob (529313) | about 5 years ago | (#29020177)

We've been through this a million times before. The company has now stolen the time of the guy who wrote the free code in the first place
No it hasn't. That guy was kind enough to give it away in an open way. This is the *point* of open source software, to be generous, and let everyone benefit from your work.

or at least the guy may feel like that.
Then he (a) is not an open source developer (b) should use a closed license like the GPL, and stop claiming to be open.

Re:GPL Fanatics (4, Insightful)

Trepidity (597) | about 5 years ago | (#29019985)

the attitude of "for-profit companies shouldn't get something for nothing" isn't very endearing

I don't really see what's wrong with that. Isn't the normal way economic transactions work in a market economy with copyright laws something like: if you want to use use a part of my copyrighted work in your own, you have to get a license from me, usually involving payment?

I see using the GPL as sticking with that as the default, but making a special exception that if you give blanket permission to the general public to use and distribute your own code, royalty-free, in both original and modified versions, then you may use my code royalty-free under the same terms. But if you want to stick to the normal copyright model, then I will also, and we can agree on terms in the usual manner.

Basically I don't see how someone who uses the normal approach to copyright licensing in their own products could possibly object to me asking them to negotiate a license in order to use my code as part of their product.

Re:GPL Fanatics (0)

beelsebob (529313) | about 5 years ago | (#29020059)

I don't really see what's wrong with that. Isn't the normal way economic transactions work in a market economy with copyright laws something like: if you want to use use a part of my copyrighted work in your own, you have to get a license from me, usually involving payment?
Correct, but the point of being open is to not follow the norm, and to let everyone use it for the greater good instead.

I see using the GPL as sticking with that as the default
Right, so we agree, the GPL isn't an open license. Good.

Basically I don't see how someone who uses the normal approach to copyright licensing in their own products could possibly object to me asking them to negotiate a license in order to use my code as part of their product.
Entirely true, but remember, you were meant to be being "open" by using the GPL. This doesn't sound very open to me.

Re:GPL Fanatics (2, Insightful)

Trepidity (597) | about 5 years ago | (#29020119)

but remember, you were meant to be being "open" by using the GPL

Who "meant" that? The reason I'd use the GPL isn't for some generic notion of openness, but more specifically as a way of allowing multiple copyright/reuse models to exist in a mutually agreed fashion. If you agree to license your code under the GPL, you can have mine under the GPL too. If you prefer a standard copyright/licensing model for your own software, then fine, let's do that for mine too. I'd consider adding more options of that sort too if any seemed particularly compelling. What I don't see is why I should license you my code under terms that you aren't willing to reciprocate.

Re:GPL Fanatics (4, Insightful)

beelsebob (529313) | about 5 years ago | (#29020189)

That's entirely fair enough then. I have nothing against people using the GPL because it's genuinely the model they want. I have something against people claiming to be open when doing so.

Re:GPL Fanatics (2, Insightful)

Draek (916851) | about 5 years ago | (#29019989)

It seems like anyone that really values and supports F/OSS would prefer LGPL or BSD style licenses. Allowing derivative works to remain closed source isn't a detriment to the open components and it really does look better to closed source companies. This should lead to more people adopting and using F/OSS, both open and otherwise. That's good, isn't it?

In theory, yes. In practice, however, it seems volunteers and companies contribute a lot more to GPL'ed projects than to BSD'ed ones, otherwise we'd be arguing for the "Year of FreeBSD on the Desktop" instead of Linux.

Personally, I like the idea of a BSD kernel with LGPL libraries and GPL applications, it seems to me as the best balance between freedom and widespread usage I can see. However, if devs believe otherwise and GPL everything I have no problem with it, the market will decide which option is better and, so far, it seems they're right.

Re:GPL Fanatics (2, Interesting)

beelsebob (529313) | about 5 years ago | (#29020073)

In theory, yes. In practice, however, it seems volunteers and companies contribute a lot more to GPL'ed projects than to BSD'ed ones, otherwise we'd be arguing for the "Year of FreeBSD on the Desktop" instead of Linux.
Really? Every company I've ever worked at has used and contributed to BSD and LGPL projects, but not touched GPL with a barge pole.

Personally, I like the idea of a BSD kernel with LGPL libraries and GPL applications, it seems to me as the best balance between freedom and widespread usage I can see. However, if devs believe otherwise and GPL everything I have no problem with it, the market will decide which option is better and, so far, it seems they're right.
Really? The one with the closed kernel (Windows) has the biggest share, the one with the BSD'd kernel (Mac OS) has the second biggest, and the one with the GPL'd kernel (Linux) has about 1%. Doesn't sound like they're right to me.

Re:GPL Fanatics (1)

Draek (916851) | about 5 years ago | (#29020109)

Windows is only developed by Microsoft, and Darwin if it has somebody other than Apple contributing code, I've never heard of him. Regardless, both are irrelevant, my comment was clearly aimed at the Free OS market, otherwise we could argue that since most of humanity doesn't own a computer, neither should we and so we must throw them out of the window.

And in the Free OS market, Linux is far, *far* bigger than all the BSDs combined. Explain that however you want to, but it does lead one to think that your previous employers' experiences were far from typical.

Re:GPL Fanatics (2, Insightful)

mrsteveman1 (1010381) | about 5 years ago | (#29019935)

What's your definition of "use" here?

Say there is a nice GPLv2 library i know is distributed with every Linux distribution, something small. I write a closed source app that dynamically links to this GPLv2 library at runtime and calls a few functions from it. Who is violating the GPLv2 here? The developer? They haven't actually distributed the GPLv2 code, how can they be bound by its terms?

Is it the user? The GPLv2 explicitly says that the end user does not need to agree to the license at all just to run the program, so how can THEY be bound by it either?

Re:GPL Fanatics (2, Funny)

Jurily (900488) | about 5 years ago | (#29019999)

There is nothing wrong with you not using my code if you do not like my conditions, either...

Use GPL for Free Software. If you want to give us Code With Conditions, I recommend the MS-PL.

Re:GPL Fanatics (0)

Anonymous Coward | about 5 years ago | (#29020003)

Linux Eats Trapp Sandwich Rowlfing Every Maiden As Kake Everyone. This Hat Is Stopping Gears Right Ere' Anyone Try?

Re:GPL Fanatics (0, Flamebait)

beelsebob (529313) | about 5 years ago | (#29020023)

The whole *point* of the GPL is to impose the GPL on everybody. Some people seem to think that this is exactly what being "open" is all about. Rather sad, isn't it.

s/people/wankers/

Step 1: see GPL (5, Insightful)

seanadams.com (463190) | about 5 years ago | (#29019535)

The GPL is not explicit on this, it's just that linking is the established rule of thumb. Last I checked, the specifics of multiple processes vs linking are only mentioned in the FSF's FAQ [gnu.org] , so it's only a guideline for interpretation.

I think a reasonable test would be to ask: is my program still mostly useful even if the GPLd helper/plugin is removed (modulo the specific removed function)?. If so, then I think it could be argued that your program is NOT a derivative work and that the GPL helper is governed the same as, say, a GPLd user application bundled with a commercial Unix/OSX distro. Personally I don't think it should matter how exactly it communicates with your code - what makes launching a process any different from a function call here?

Conversely: artificially doing contortions with your software to move essential libraries out to a separate app is not only in bad faith, but it doesn't work around the license at all. And if you ever had to argue otherwise, anyone turning up your slashdot story would not probably work in your favor.

IMHO the GPL, even v3, needs some work to clarify this question and also to close the hole for the software-as-a-service industry to modify GPL code without reciprocating.

Re:Step 1: see GPL (2, Interesting)

PhrostyMcByte (589271) | about 5 years ago | (#29019603)

IMHO the GPL, even v3, needs some work to clarify this question and also to close the hole for the software-as-a-service industry to modify GPL code without reciprocating.

I would like to see the GPL get clarified, too. Some companies play pretty loose with the GPL's definition -- like MySQL saying their protocol documentation is under GPL, and interpreting that to mean any code you write using that documentation must be under the GPL too.

FSF has done part of what you mention, though -- see the AGPL. It explicitly closes the SaaS hole.

Re:Step 1: see GPL (0)

Anonymous Coward | about 5 years ago | (#29019751)

> I would like to see the GPL get clarified, too

The GPL applies to all "derivative works". The GPL's authors don't get to decide what constitutes a derivative work, the courts do (and courts in different jurisdictions won't all come up with the same answer).

If the GPL tried to define a derivative work, and used a more limited definition than the courts, then using GPL'd code in anything which fell into the gap between the two definitions would be unlawful. The courts say it's a derivate work, therefore you need permission, which the GPL wouldn't be granting. Remember, the GPL grants permission for activities which are otherwise prohibited by copyright law; it doesn't prohibit anything (it may not grant as much permission as some would like, but that isn't the same thing).

If the GPL used a broader definition than the courts, anything beyond the courts' definition would be irrelevant. If the courts say that something isn't a derivative work, then you don't need the author's permission and so the GPL isn't applicable.

Re:Step 1: see GPL (1)

mini me (132455) | about 5 years ago | (#29019685)

I don't think it should matter how exactly it communicates with your code

What if I write an application that makes calls to standard Unix commands and the user is using the GNU operating system? Should that make my application subject to the GPL?

What if I make my application available to a variety of different Unix flavours? Will it automatically inherit the code sharing license restrictions of the Unix utilities on every platform it runs on?

Re:Step 1: see GPL (1)

SL Baur (19540) | about 5 years ago | (#29019813)

What if I write an application that makes calls to standard Unix commands and the user is using the GNU operating system? Should that make my application subject to the GPL?

There is no "GNU operating system" but I'll assume you mean a system with GNU fileutils, etc. installed on it. No. Standard Unix commands have had a stable interface since before many of you were born.

This may become important in the future. It depends on the API. As far as I know, no one is patenting APIs.

Can you copyright an API such that a black box implementation can not be made without violating the copyright? I don't know.

Re:Step 2: lawyers (1)

iYk6 (1425255) | about 5 years ago | (#29019795)

Not only is the GPL not specific on this issue, but it is unclear whether a clear license restriction on linking would even apply. Imagine if RMS and Linus had their way, and the author of an application could not only restrict distribution, but linking as well. Microsoft could legally prevent people from writing apps and drivers for their OS. Homebrew for restricted systems would actually be illegal. Would it be legal to write compatible libraries?

The great thing about shared libraries is, you don't have to distribute them, and therefore are not bound (AIUT) by their distribution licenses.

Re:Step 2: lawyers (1)

binford2k (142561) | about 5 years ago | (#29019835)

You obviously don't know much about Linus to include he and RMS on the same side of a licensing issue.

Re:Step 2: lawyers (1)

iYk6 (1425255) | about 5 years ago | (#29019987)

RMS and Linus disagree on a lot of things. That does not mean that they disagree on everything. Specifically, they both agree on what I said above.

You should do some actual research before spoiting your "I know something therefore I know everything." Linus often says that Linux drivers must be GPL. RMS (and the FSF FAQ) says that only GPL applications are allowed to link against GPL libraries.

Re:Step 2: lawyers (0, Flamebait)

binford2k (142561) | about 5 years ago | (#29020065)

Perhaps you should do some research before making assumptions. There is a huge difference between pragmatism and ideology. Learn it.

Re:Step 2: lawyers (0, Flamebait)

iYk6 (1425255) | about 5 years ago | (#29020115)

Perhaps you should pay attention. Your dribble has absolutely nothing to do with the topic at hand.

Re:Step 2: lawyers (0)

Anonymous Coward | about 5 years ago | (#29020009)

RMS & Linus want completely different things. RMS uses the GPL because he thinks its got the right idea of "freedom". Linus uses the GPL because he finds it useful for cooperatively developed applications. Go look at the TiVo case. Tivo gave the source code to their modified Linux kernel, but restricted the hardware to only run the version they shipped. RMS/FSF freaked out because it "wasn't with the spirit". Linus didn't care, he got the drivers to let Linux run on that hardware. RMS is the ideologue, Linus is the pragmatist.
Here are some cherry-picked Linus quotes about the FSF, RMS and the GPL, pulled from here. [kerneltrap.org]

Disagreement and thinking that the FSF is controlling and putting its fingers where they don't belong is _not_ misunderstanding. It's just not "blind and unquestioning obedience".

Their additions - whether they be "modules" or just the UI - do not, necessarily, fall under the GPL. (Yes, there have been discussions about whether a kernel module is a derived work, but most of the time those discussions ended "Legally they aren't, even though I feel they should be")

If you want to use GPL for a library.. take a look at the LGPL...

The point is (-1, Flamebait)

Anonymous Coward | about 5 years ago | (#29019557)

That unless you want to contribute to RMS's and a lot others' psychotic Gandhi-like fantasy of making it impossible to produce proprietary software because all libraries required for interoperability have been GPL'd one at a time, you do exactly what you propose.

My personal hope is that a couple of countries invalidate the GPL and effectively make it fair game to incorporate into any product. Retaliation is unlikely, and that would pretty much wipe out the crazy, megalomanic dream.

Re:The point is (0, Troll)

bkhl (189311) | about 5 years ago | (#29020167)

That would not be the effect of invalidating the GPL. The alternative to accepting the license is that you are not allowed to redistribute the product at all. Something you would know if you were familiar with this thing called "copyright".

I too personally hope some countries will abolish copyright, but I don't see it happening anytime soon.

Umm... (5, Informative)

Phroggy (441) | about 5 years ago | (#29019559)

what's to stop me separating my program into a GPLv2-compliant client app that talks to the rest of my (choose my own license) application?

Umm... nothing?

If you're writing your application from scratch without using anybody else's libraries, you're free to release it under whatever license you like, even if it happens to talk to a GPL'd client plugin thingie, and even if you wrote that GPL'd client plugin thingie around somebody else's GPL'd library.

Why do you imagine that somehow there's a problem here?

Re:Umm... (2, Informative)

seanadams.com (463190) | about 5 years ago | (#29019625)

If you're writing your application from scratch without using anybody else's libraries, you're free to release it under whatever license you like, even if it happens to talk to a GPL'd client plugin thingie, and even if you wrote that GPL'd client plugin thingie around somebody else's GPL'd library.

Which GPL are you reading that says this is OK? If the license doesn't permit it then it's a question for copyright law of whether you're making a derivative work. I would say that in this case you ARE, unless it's a bone fide plugin in the sense that it can be unplugged too.

Re:Umm... (3, Interesting)

piojo (995934) | about 5 years ago | (#29019673)

If you write the Foo app on your own without any connection to a GPL licensed library, then Foo obviously cannot be said to be a derivative work of anything. What if you then add some capability for Foo to interact with a GPL'd library?--for instance, adding Readline capability to an app that previously used the BSD Editline library.

Would this make your program a "derivative work"? That's a question for our legal system--it's not the FSF's right to define what constitutes a derivative work (nor is it the right of the any copyright holder--this is a question of legal definition).

And... err... I'm obviously not a lawyer.

Re:Umm... (1)

SL Baur (19540) | about 5 years ago | (#29019881)

What if you then add some capability for Foo to interact with a GPL'd library?--for instance, adding Readline capability to an app that previously used the BSD Editline library.

I don't think that matters.

(Example from my own experience). Under my watch, Wnn support got integrated into XEmacs. There were two flavors at that time - Wnn4[1] (which was free software) and Wnn6 (which was only available for sale in Japan). Now let's say you built an XEmacs 2x binary with Wnn6 support (the Wnn6 library could only be statically linked) and Canna. Does that require the recipient to own an Wnn6 license if he is using Canna? No.

Wnn6 is certainly not usable with its associated server. I believe the same thing would apply in your case.

[1] Wnn is pronounced "oon".

Re:Umm... (1)

piojo (995934) | about 5 years ago | (#29020071)

I don't think that matters.

For what it's worth, I agree with you. I have no idea what a derivative work actually is, but I'm pretty sure it's not what the FSF says it is. I just read a lot of heated opinions on sites like this that essentially say, "Because you link, your program must be GPL'd!" I think a lot of people don't understand the issues and just take the text of the license to be utter truth.

Re:Umm... (1)

Ruie (30480) | about 5 years ago | (#29019629)

what's to stop me separating my program into a GPLv2-compliant client app that talks to the rest of my (choose my own license) application?

If you were ready to write your own code, you could just as well rewrite the library. In fact, it is usually simpler as your application likely uses only a small subset of functions said library provides.

Re:Umm... (1)

quadrox (1174915) | about 5 years ago | (#29019845)

Generalizing from what you said, noboday ever needs libraries because 1) programmers can just write the code themselves instead of using the libraries 2) non-programmers obviously have no use for libraries.

Your statement makes no sense at all.

Re:Umm... (0)

Anonymous Coward | about 5 years ago | (#29019661)

Can you name an example where this is done? Surely if the GPL can be bypassed this way without a problem, it should be very common place?

Re:Umm... (1)

piojo (995934) | about 5 years ago | (#29019717)

you're free to release it under whatever license you like, even if it happens to talk to a GPL'd client plugin thingie, and even if you wrote that GPL'd client plugin thingie around somebody else's GPL'd library.

There are two scenarios where I imagine this might not work. The first is if the GPL'd client plugin thingie is integral for useful operation of your program, a judge might rule that your plugin and your program are actually just one work.

The second way is if you get sued and can't afford a sufficiently convincing lawyer and/or expert witness to explain the issues properly (or you get a judge that doesn't care). (But I'm no lawyer.)

Re:Umm... (1)

spyowl (838397) | about 5 years ago | (#29019741)

Exactly. I don't understand the issue. It will look like this:

[ (GPL library) - > (GPL program) ] (protocol) (non-GPL program that doesn't use the GPL library)

What protocol is doesn't matter. It can be a standard I/O, local socket, or a network protocol like FTP/HTTP/etc. Can a GPL web browser like Arora communicate with a proprietary web server like IIS? Of course it can!

If you asked RMS, he would have you offer everything under GPL, but that's the choice you can make on your own. It has pretty much nothing to do with the GPL library.

Re:Umm... (4, Interesting)

SL Baur (19540) | about 5 years ago | (#29019767)

I would tend to agree. It's fairly well established that license does not extend across process boundaries - Clearcase interface code in emacs does not make emacs proprietary.

There's a lot of FUD at the library level. I think you're probably safe with dynamic linking/loading. Stallman hated me for introducing .so elisp modules in XEmacs, but it was on ideological grounds not legal grounds - it made it possible to distribute executable code in emacs sans source code.

I *would* recommend paying attention to discussion on lkml on the nuances between EXPORT_SYMBOL and EXPORT_SYMBOL_GPL. If your work is a derived work from a GPLed interface, then yes your work falls under the GPL.

One of the most significant events of 2009 in IT has been Microsoft releasing code under GPL. The intent of the GPL is that if I give you something under GPL and you modify it to do something interesting and distribute that, you have to share it back to the community. The tricky part is defining "modify". In US copyright law, that means creating a derived work. Is linking against a library a derived work? Sorry, that's above my pay grade.

I find it interesting that it is Microsoft that may validate the whole thing. They are certainly learning. Stallman's copyright assignment requirement for all GNU code, it gives the FSF total control over the work. That's more than Bill Gates managed to achieve. And dang it, I never received any of the $1 consideration payments I was supposed to receive when I signed FSF copyright assignment papers.

TL;DR Yes, I just likened FSF to Microsoft.

Disclaimer: I'm an ex-XEmacs maintainer, not a lawyer. Your mileage may vary. Offer void where prohibited. Contact your local dealership for more details.

Re:Umm... (1)

CodeBuster (516420) | about 5 years ago | (#29019913)

Why do you imagine that somehow there's a problem here?

Well, the problem is that the FSF takes a rather narrow view on what constitutes linking and "derivative work". Not everyone agrees with the FSF interpretation of what constitutes linking and the language in the GPL is not always deterministic on this matter. The GPL does not (and perhaps cannot) offer a precise, exhaustive and unambiguous definition of "linking" because of the tremendous variety of hardware and software currently in use. The FSF interprets the license strictly while others have interpreted the license as less so; The wiki article [wikipedia.org] contains a section dealing with this dispute. The LGPL was introduced with less restrictive language, at least in part, to address just this uncertainty by allowing anyone to "link" to compiled libraries without becoming subject to LGPL. However, many people continue to use GPL for their code, even when LGPL might have been a better choice; perhaps in ignorance of these problems.

Re:Umm... (4, Informative)

Anonymous Coward | about 5 years ago | (#29020011)

A history lesson: GCC includes an objective C front-end. This front-end was originally implemented at NeXT for their new ground-breaking computer in the 1980's, and published as a proprietary component of the NeXT system software. They did not link directly to the GCC backend, but implemented an intermediate file format that was written by the proprietary frontend and read by a patched GCC, and they only published the source to the latter. FSF argued that NeXT was in violation of the GPL, and after months of legal wrangling NeXT gave up, published the front-end source under GPL and the case did not go to court.

AFAIK the FSF still holds that the only way to use a GPL component in proprietary software is through an API that is supported by multiple implementations, not all of which are GPL, regardless of how the connection between the proprietary software and the GPL software is technically implemented.

Re:Umm... (-1, Offtopic)

Anonymous Coward | about 5 years ago | (#29020147)

And Kake Everyone. This Hat Instance Stays Growing Really Ever At Tracking.Lunix Eats Tertian Sadnwhichis Rowfling Every Maiden And Kake Everyone. This Hat Instance Stays Growing Really Ever At Tracking.Lunix Eats Tertian Sadnwhichis Rowfling Every Maiden And Kake Everyone. This Hat Instance Stays Growing Really Ever At Tracking.Lunix Eats Tertian Sadnwhichis Rowfling Every Maiden And Kake Everyone. This Hat Instance Stays Growing Really Ever At Tracking.Lunix Eats Tertian Sadnwhichis Rowfling Every Maiden And Kake Everyone. This Hat Instance Stays Growing Really Ever At Tracking.Lunix Eats Tertian Sadnwhichis Rowfling Every Maiden And Kake Everyone. This Hat Instance Stays Growing Really Ever At Tracking.Lunix Eats Tertian Sadnwhichis Rowfling Every Maiden And Kake Everyone. This Hat Instance Stays Growing Really Ever At Tracking.Lunix Eats Tertian Sadnwhichis Rowfling Every Maiden And Kake Everyone. This Hat Instance Stays Growing Really Ever At Tracking.Lunix Eats Tertian Sadnwhichis Rowfling Every Maiden And Kake Everyone. This Hat Instance Stays Growing Really Ever At Tracking.Lunix Eats Tertian Sadnwhichis Rowfling Every Maiden And Kake Everyone. This Hat Instance Stays Growing Really Ever At Tracking.Lunix Eats Tertian Sadnwhichis Rowfling Every Maiden And Kake Everyone. This Hat Instance Stays Growing Really Ever At Tracking.Lunix Eats Tertian Sadnwhichis Rowfling Every Maiden And Kake Everyone. This Hat Instance Stays Growing Really Ever At Tracking.Lunix Eats Tertian Sadnwhichis Rowfling Every Maiden And Kake Everyone. This Hat Instance Stays Growing Really Ever At Tracking.Lunix Eats Tertian Sadnwhichis Rowfling Every Maiden And Kake Everyone. This Hat Instance Stays Growing Really Ever At Tracking.Lunix Eats Tertian Sadnwhichis Rowfling Every Maiden And Kake Everyone. This Hat Instance Stays Growing Really Ever At Tracking.Lunix Eats Tertian Sadnwhichis Rowfling Every Maiden And Kake Everyone. This Hat Instance Stays Growing Really Ever At Tracking.Lunix Eats Tertian Sadnwhichis Rowfling Every Maiden And Kake Everyone. This Hat Instance Stays Growing Really Ever At Tracking.Lunix Eats Tertian Sadnwhichis Rowfling Every Maiden And Kake Everyone. This Hat Instance Stays Growing Really Ever At Tracking.Lunix Eats Tertian Sadnwhichis Rowfling Every Maiden And Kake Everyone. This Hat Instance Stays Growing Really Ever At Tracking.Lunix Eats Tertian Sadnwhichis Rowfling Every Maiden And Kake Everyone. This Hat Instance Stays Growing Really Ever At Tracking.Lunix Eats Tertian Sadnwhichis Rowfling Every Maiden And Kake Everyone. This Hat Instance Stays Growing Really Ever At Tracking.Lunix Eats Tertian Sadnwhichis Rowfling Every Maiden And Kake Everyone. This Hat Instance Stays Growing Really Ever At Tracking.Lunix Eats Tertian Sadnwhichis Rowfling Every Maiden And Kake Everyone. This Hat Instance Stays Growing Really Ever At Tracking.Lunix Eats Tertian Sadnwhichis Rowfling Every Maiden And Kake Everyone. This Hat Instance Stays Growing Really Ever At Tracking.Lunix Eats Tertian Sadnwhichis Rowfling Every Maiden And Kake Everyone. This Hat Instance Stays Growing Really Ever At Tracking.Lunix Eats Tertian Sadnwhichis Rowfling Every Maiden And Kake Everyone. This Hat Instance Stays Growing Really Ever At Tracking.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
. .Lunix Eats Tertian Sadnwhichis Rowfling Every Maiden And Kake Everyone. This Hat Instance Stays Growing Really Ever At Tracking.

Enhancements to the library stay LGPL (5, Informative)

poliopteragriseoapte (973295) | about 5 years ago | (#29019581)

The point is that enhancements to the library stay LGPL. I did this myself. I needed to modify LGPL libraries for the purposes of my application. I modified the libraries, and I am redistributing them under the LGPL. My main application is distributed under BSD license, and uses the LGPL libraries. The libraries make perfect sense separately (and in fact, I have people using them for reasons unrelated to the application I built). I think that, out of courtesy, and probably out of need, you need to make sure that the libraries are available separately.

Re:Enhancements to the library stay LGPL (1)

X0563511 (793323) | about 5 years ago | (#29019655)

Or, the author is ignorant of the LGPL or the difference between it and the 'regular' GPL.

Step 1: ask the author
Step 2: worry about working around it

Why bother if it's possible you don't need to bother?

Re:Enhancements to the library stay LGPL (0)

Anonymous Coward | about 5 years ago | (#29019723)

Or, you both miss the fact that he was talking about GPL, not LGPL.

Re:Enhancements to the library stay LGPL (0)

Anonymous Coward | about 5 years ago | (#29019965)

Doesn't anyone read the articles these days? :(

Re:Enhancements to the library stay LGPL (1)

X0563511 (793323) | about 5 years ago | (#29020005)

Or, the fact that I was fully aware of my replying to Comment #29019581 [slashdot.org] and not the story itself. This is not a 'root' reply.

Re:Enhancements to the library stay LGPL (1)

onefriedrice (1171917) | about 5 years ago | (#29019995)

Surprisingly, you are not correct. Unlike the GPL, the LGPL applies differently to a project depending on whether you make changes to the LGPL code or not. I'll summarize:

If you use LGPL code without modifying it, you can write code which links against it (either dynamically or statically--this is something not generally understood about the LGPL, although if you choose to statically link, you must provide the source or object files so somebody can recompile or at least relink--this doesn't apply if you dynamically link) and release your own code under whatever license you want. Your code would be considered a "work which uses the library." (Section 2c)

BUT if you modify the LGPL code and want to link against it either dynamically or statically, your work is considered "work based on the library" under the LGPL, and Section 6 applies, meaning you are required to also release your code under the LGPL license.

If you were to get your changes applied upstream, you would be in the clear because you would be able to "use" the library rather than "base" a work off of it (i.e. by building on it or even changing it, according to the terms of the LGPL). Now, it may be unlikely that the copyright owners of the library you are using will care whether you use their library the way you are (and if that's the case, they should add an explicit exception to their license), but this is indeed a little nuance of the LGPL you should keep in mind.

Personally, I always stick with BSD-like licenses for my own code because I like using a license that mere mortals can easily understand without hiring a lawyer. Speaking of which, IANAL.

Re:Enhancements to the library stay LGPL (1)

onefriedrice (1171917) | about 5 years ago | (#29020039)

BUT if you modify the LGPL code and want to link against it either dynamically or statically, your work is considered "work based on the library" under the LGPL, and Section 6 applies, meaning you are required to also release your code under the LGPL license.

And I'll clarify just in case I wasn't clear. All your code that you link against a modified LGPL library must be released under the LGPL according to the conditions in Section 6, not just the changes that you make or add to the library source files. Again: There is no such requirement if you don't modify the library in question.

Re:Enhancements to the library stay LGPL (2, Informative)

Anonymous Coward | about 5 years ago | (#29020113)

You're completely full of shit. Here's section 6 of the LGPL:
 
 

6. Revised Versions of the GNU Lesser General Public License.

The Free Software Foundation may publish revised and/or new versions of the GNU Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.

Each version is given a distinguishing version number. If the Library as you received it specifies that a certain numbered version of the GNU Lesser General Public License âoeor any later versionâ applies to it, you have the option of following the terms and conditions either of that published version or of any later version published by the Free Software Foundation. If the Library as you received it does not specify a version number of the GNU Lesser General Public License, you may choose any version of the GNU Lesser General Public License ever published by the Free Software Foundation.

If the Library as you received it specifies that a proxy can decide whether future versions of the GNU Lesser General Public License shall apply, that proxy's public statement of acceptance of any version is permanent authorization for you to choose that version for the Library.

There's nothing in there about releasing applications that link to modified LGPL libraries under LGPL. Furthermore, the situation you describe is completely bizarre, because there's absolutely no way of determining what "upstream" is. The grandparent's post indicates that he forked the LGPL library. Which is a perfectly valid thing to do. And he's licensing the derivative work of the LGPL library under the LGPL. There should be no legal issues there.

Re:Enhancements to the library stay LGPL (0)

Anonymous Coward | about 5 years ago | (#29020051)

Lunix Eats Tertian Sadnwhichis Rowfling Every Maiden And Kake Everyone. This Hat Instance Stays Growing Really Ever At Tracking.

Author's wish (4, Informative)

ianare (1132971) | about 5 years ago | (#29019587)

This is exactly why the LGPL [wikipedia.org] was created. Or sometimes you will have a GPL lib with the linking or classpath exception [wikipedia.org] . You will find most libs are licensed under these, or even more permissive terms.

Therefore, if the lib in question is explicitly licensed under normal GPL, it's the author's wish that any apps that use it must be GPL compatible. I think it's only fair to follow the author's wish.

Re:Author's wish (0)

Anonymous Coward | about 5 years ago | (#29019777)

A non-GPL program can use a GPL program through pipes, sockets and command-line arguments, as long as both programs can be considered separate. If it's the author's wish that *any use* must be GPL'd, then sorry but that author didn't choose the right license.

terms vs license (4, Interesting)

NiteMair (309303) | about 5 years ago | (#29019601)

Doesn't the license basically stipulate that you must release your code under the terms of the license? That doesn't necessarily mean you have license your code as GPL.

This is actually a common FUD discussion that occurs between developers who use MIT/BSD license for their code, and are afraid to link to GPL libraries because it might force them to release their code as GPL. I'm pretty certain that as long as their code is available under the same terms as GPL code, they can license their code however they wish otherwise. It just means if a GPL nut comes a knockin', they'll have to provide the code as if it was GPL'd.

Correct me if I'm wrong (and I often am).

Re:terms vs license (1)

PhrostyMcByte (589271) | about 5 years ago | (#29019675)

Indeed. GPL doesn't stop you from releasing your code under another license. It just requires that any code linked to GPL and redistributed must be additionally available under the GPL.

NiteMair found a loophole!? (1)

iYk6 (1425255) | about 5 years ago | (#29020063)

So I write a program licensed under the GPL, then someone else comes along and forks it, and makes it MIT/GPL. It is still mostly my work. Then Big Corporation comes along and takes the MIT licensed library, and creates a closed sourced, proprietary application from it.

I don't know if you are wrong or not, but I hope you are. That would be a serious loophole if it were true.

Re:NiteMair found a loophole!? (1)

NiteMair (309303) | about 5 years ago | (#29020139)

No, nobody can fork *your* work and relicense it. As copyright holder of the code you have written, you have exclusive rights to license it however you wish.

Thus, nobody can simply relicense your code without your permission.

Re:terms vs license (1, Informative)

Anonymous Coward | about 5 years ago | (#29020127)

GPLv2 Section 6:
"6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions."
The key phrase there is "subject to these terms and conditions". If you view the requirement made plain in Section 6 to be a "condition", it logically follows that that requirement can never be removed. This makes it fundamentally incompatible with the BSD and MIT licenses, because they do not make this requirement. And once enough additional clauses are added to set forth all of these terms, you have effectively rewritten the entire GPL. So no, GPL code cannot be used under almost any other license, because it denies both decreased and increased freedoms in licensing.

Re:terms vs license (1)

NiteMair (309303) | about 5 years ago | (#29020181)

That's great, but if I decide that I want to distribute my MIT/BSD licensed code without requiring said GPL library in every case, the code being distributed without GPL libraries is still MIT/BSD licensed. By linking it to GPL in *some* circumstances, I only have to abide by GPL during those situations where I have distributed it as a "derivative" of GPL... but not in those cases where it isn't.

Thus, if I write my program to use one of two backend libraries - one of which is GPL, and the other which is not, I only have to distribute my code under the terms of GPL when it has been compiled to use the GPL backend, but not when it has been compiled to use the proprietary backend library.

The terms are only applicable at distribution time based on the use of other code at compile/linking time.

no?

News? (0)

Anonymous Coward | about 5 years ago | (#29019611)

This summary is posted under "News" but there isn't any news in the summary nor is there a link to any news. WTF?

Just commingle everything (1, Insightful)

bogaboga (793279) | about 5 years ago | (#29019613)

With commingling, it will be hard for GPL zealots to discover that you are indeed violating the GPL but once they do (I do not know how they do it), just release everything and beg for forgiveness. By that time, you'll already have made your profit.

But remember: You'll not be able to put a price on the publicity all the "fracas" will generate.

No, you misunderstand (4, Insightful)

kripkenstein (913150) | about 5 years ago | (#29019643)

I understand that if I build an application that links with a library that is licensed under GPLv2, I must also make my application GPL2

That is NOT correct.

The criteria is 'derivative work', not 'link to'. Linking is sometimes a rule of thumb in this area, but it isn't decisive.

Note that 'derivative work' is a legal term, not a technical one. So before you try to circumvent the GPL in this way, consult a lawyer.

Re:No, you misunderstand (0)

Anonymous Coward | about 5 years ago | (#29019915)

Under the terms of the GPL, linking is considered a derivative work. That's the whole reason why the LGPL was made, it allows linking.

I don't think the original question is talking about linking though. I think they're talking about creating a (GPL'd) layer on top of a GPL application which then talks via some method not involving linking (sockets or whatever) to their non-GPL application. I think that technically is not breaking the rules even though "circumventing" the GPL in this way seems to go against the spirit.

Wrong (0)

Anonymous Coward | about 5 years ago | (#29020031)

Try actually reading the GPL license instead of making things up.

Too many people just quote hearsay and *think* that they know the GPL, and they're wrong. You're one.

Reading RMS's comments isn't enough either. You actually have to read the goddamn license, not just repeat hearsay, regardless of source. Much of what RMS says is just wishful thinking, and is not what Eben Moglen actually wrote into the license.

This looks like the CLisp situation (1)

DarkGreenNight (647707) | about 5 years ago | (#29019677)

http://clisp.cvs.sourceforge.net/*checkout*/clisp/clisp/doc/Why-CLISP-is-under-GPL [sourceforge.net]

It's not a direct link, but nonetheless you should strive for independence of that functionality. Otherwise you are trying to comply with the letter of the law, but it may not be enough.

Re:This looks like the CLisp situation (0)

Anonymous Coward | about 5 years ago | (#29020199)

Every time I read that email exchange I find myself disliking RMS more and more.

Talk to the authors (3, Insightful)

minsk (805035) | about 5 years ago | (#29019707)

Quite aside from the legal meaning of the GPL, you could always ask the authors what they intended. If they want to prevent proprietary applications from using the library, as promoted by , that should influence your decision.

IMO, if the internals of your application are dictated by a GPL'd library -- *regardless* of how that library is linked, integrated, called, or plugged in -- your application is a derivative work. To separate them, put the library aside. Do a proper design. Gather scenarios you need the plugin to support. Document them. Write a new API. Document it. Collect some alternative libraries. Verify that you were not unduly influenced by the GPL'd one.

Or, you know, GPL the application.

The GPL Problem (1, Informative)

cdrguru (88047) | about 5 years ago | (#29019713)

The problem is that there are plenty of zealots that will tell you that incorporating any GPL-licensed component in any way immediately forces the entire body of work to be released under GPL.

This can be interpreted at various times to include static linking, dynamic linking, linkage via any sort of invocation such as exec, RPC, and any other sort of connection between two pieces of code. What is the "right" answer? It isn't all that clear. It can be a matter of intent or of benefit. If the developer is benefiting from GPL code, then their project should be under GPL.

Further, what any competent lawyer will say is the objective is to avoid lawsuits. This means taking a proactive position to avoid getting into situations where some GPL zealot can potentially sue.

Essentially trying to play games with GPL can bring you into conflict with zealots. Some of these people have resources which allows them to file silly lawsuits without personally costing them a fortune. These are people to avoid coming into conflict with. So take the broadest possible interpretation of the GPL and live with it.

Re:The GPL Problem (5, Insightful)

minsk (805035) | about 5 years ago | (#29019861)

I've always found that position funny...

Some people share something freely, with the requirement that anyone building atop it does likewise. They're zealots.

Other people require you to agree to a contract before looking at their program. Disallow reverse engineering. Disallow redistribution. Disallow extension, enhancement, improvement, porting, circumvention. They're normal.

Dude, what?

Re:The GPL Problem (1, Insightful)

Anonymous Coward | about 5 years ago | (#29020035)

They may be "zealots", as you say, but people who have developed software and released it under the GPL have probably done so for a reason: To benefit the community. And if some commercial software developer doesn't feel like releasing their code under the same license, then tough shit. If you dont' like the license, then don't use their code. It couldn't be any simpler than that.

No problem! (0)

Anonymous Coward | about 5 years ago | (#29019747)

What you just described is not a problem. It reminds me of Samba. Microsoft never released a GPL'd SMB client. But others did hard work to reverse engineer it because the idea of not knowing how to log in an access files and print to windows servers, and pay for the license was abhorrent. This was their own data and equipment. (Remember that if the proprietary windows OS and smb client that came with it were the only way to log in, you paid twice... once for the OS and the "free" client, and once for each user or device that connected to the server.)

They could have released an open source client, or not kept the client protocol secret, or even made the proprietary client free per user and only charged users based on the number of concurrent connections to the file/print server. But they didn't. That's why it was reverse engineered. And further, now the samba project has expanded to emulate the server itself.

If you're considering making a closed server but open client, and the product actually becomes popular, you should expect that someone will make an emulator for the basic server functions eventually.

But I'm guessing the reason you want to use GPL'd software for the client is that it will help you develop your app better. And I'd also assume that after you think about the server-based per-user licensing model, you'll want to make the server more complex to deal with it. And when you make the server more complex, you'll look to see the best way to solve the problems you face, and you'll desire to use some open source library in the server too.

Re:No problem! (1)

Fluffeh (1273756) | about 5 years ago | (#29019837)

If you're considering making a closed server but open client, and the product actually becomes popular, you should expect that someone will make an emulator for the basic server functions eventually.

That actually reminds me of what they did with the Ultima Online servers/clients. Rather similar to be honest.

The license doesn't matter (0)

Anonymous Coward | about 5 years ago | (#29019771)

A lot of software users don't really care about such legalities.

In a world where there are millions of copies of bootleg Microsoft products and MacOS is coerced into running on non-Apple hardware, do you really think they will care about the subtleties of the various open source licenses?

Realistically, what are the odds you will do something that anyone will notice?

Seperate address spaces are the main test (4, Informative)

ChaseTec (447725) | about 5 years ago | (#29019787)

You can't make a linked wrapper library since the GPL wrapper would be GPL too. See: http://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#GPLWrapper [gnu.org] However it sounds like you are talking about a service based wrapper. Then I'd say it depends on how integrated your service wrapper is with your main program. If you use separate processes but lots of IPC and shared memory then I'd think you app is to tightly integrated making it a derived work. If you make a network based service then I'd say you are legally clear even if you'll probably piss off the library author. See: http://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#NFUseGPLPlugins [gnu.org] You could also make your app GPL but put a lot of the functionality in non-free plugs, see: http://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#FSWithNFLibs [gnu.org] Of course you could also just release you app as GPL and not worry about it. What is stopping you from using the GPL?

"Linking" is the weakest link of GPL (2, Interesting)

ingo23 (848315) | about 5 years ago | (#29019907)

The whole idea of "linking" is too specific to a technology or architecture. It assumes that some code is "compiled" into some form of library and the functions become available through a "linking" process during the build.

What if I call functions in my library over SOAP? The application is still "linked" to a service ("library"), but using that logic a web browser would have to be GPLed if you access any GPLed web server.

Re:"Linking" is the weakest link of GPL (0)

Anonymous Coward | about 5 years ago | (#29020007)

Exactly. And MySQL has claimed for years that if your app utilized their database - even only via SQL - it must fall under the GPL. Craziness. Fortunately it is not the authors or users of the GPL that ultimately get to decide this, but the courts. Unfortunately, the courts get to decide this. And we know how much they know about computer science, sanity, and jurisprudence. Also unfortunately, many people and organizations, such as MySQL, are happy to muddy the waters and claim that patently acceptable behavior is unacceptable.

What's to stop you? (3, Interesting)

mysidia (191772) | about 5 years ago | (#29019919)

RMS and others, (The community) possibly are there to stop you.

Probably some people have some creative interpretations of what it means to link against a GPL library, also. To call such things at least a gray area if not outright violations.

If/when they find out, they might point to your software as an example of bad practice, or put you in the "GPL Violations hall of shame", or some such.

This is especially interesting with respect to scripting languages... If I write a PHP script that utilizes mysql_* function calls of PHP, which can only be invoked when PHP has been linked against the Mysql Client library....

Is my PHP script essentially linked against the GPL'ed mysqlclient library, and therefore, (if I distribute my PHP script commercially without source) a GPL violation?

NVIDIA (1)

robzy (1603901) | about 5 years ago | (#29019961)

Isn't this what NVIDIA does with it's kernel drivers? I'm surprised no one has mentioned this yet... Rob.

Re:NVIDIA (1)

Polarina (1389203) | about 5 years ago | (#29019991)

The kernel's license has an exception clause that allows linking with modules that are incompatible with the GPLv2.

Re:NVIDIA (1)

robzy (1603901) | about 5 years ago | (#29020015)

Holdup, that means that the Linux kernel can't include code licensed under the GPLv2, because it itself is not licensed under GPLv2, right?

Re:NVIDIA (1)

iYk6 (1425255) | about 5 years ago | (#29020105)

The kernel's license has an exception clause that allows linking with modules that are incompatible with the GPLv2.

[Citation needed]

I think you are mistaken, but would be happy to read any evidence to the contrary.

I looked into this (4, Informative)

dowlingw (557752) | about 5 years ago | (#29020021)

I was recently looking into this using the concept of dual-licensed GPL/LPGL 'glue' connectors. This is the response I got back from the Free Software Foundation:

You are correct. The answer is no. If the LGPLed library dynamically calls the GPLed library, then it is the FSF's position that the LGPLed library is a derivative of the GPLed library, and thus the work as a whole may only be distributed under the GPL. Please see this section of the FAQ:http://www.gnu.org/licenses/gpl-faq.html#GPLWrapper.

For your specific requirements, I'd advise touching base with them - they have an advice service for these types of questions.

GPL2 (1)

countach (534280) | about 5 years ago | (#29020025)

Actually, you wouldn't have to make your program GPL2, you would only have to make it compatible with GPL2. Which usually means GPL2 or something even more liberal like BSD. And only then of course, if you distribute.

The crux of the matter is distribution (0)

Anonymous Coward | about 5 years ago | (#29020055)

IANAL, but I wrote on copyright law for my discertation.

I believe the issue is not whether any inclusion of GPLv2 code forces you to make your code GPLv2, but rather that you cannot distribute the GPLv2 code with your (separate licensed) code (closed source?). You CAN however, NOT DISTRIBUTE THE GPLv2 code. You can release your code under any license you want, and distribute it any way you want. However, you will be forced to require a separate download & install on each computer that needs the library, of said GPLv2 library. You can build a simple downloader & installer for all the separate OSS libraries that runs when your software installer runs. This way, you are not distributing the GPLv2 code as part of your code, and there is no conflict.

I am a complete supporter of open-source mind-you, and hope you don't leech, but also contribute back to the project some patches and such.

As I see it, the point of OSS development isn't to force everyone to make their code OSS whether they like it or not, rather, it is to open-up code to many more testers and debugers than you could with closed source projects. You will always end up with a better quality software in OSS projects than in closed source. I feel that is enough for me. If you wish to produce a lesser quality software, I am happy that you do. Fore, once you create the market, I am happy to become an open-source competitor and take all your clients from you with better quality software. Infact, I ENCOURAGE YOU TO DO SO >:-D

IANAL

Re:The crux of the matter is distribution (0)

Anonymous Coward | about 5 years ago | (#29020153)

IANAL

Issue of linking (copyright in Canada)... see case-law definition of "copy" and of "ANY SUBSTANTIAL PART THEREOF".

The biggest issue here is that there is not that much case-law related to the GPL license and therefore, it is difficult to say what would happen in a court room. This is therefore an area that is still the territory of legal philosophers. Luckily, all of them are members of slashdot j/k.

As one of the said group of philosophers *sarcasm*, and reading the GPL broadly, the function calls are a substantial part. Could you compare function calls to a TOPICAL INDEX? (see CCH Canadian Ltd. v. Law Society of Upper Canada, 2004).

I believe the answer is as a previous poster mentioned. Read the GPL broadly because, until someone shows you the limit via case-law, there is no limit.

IANAL

Mysql, anyone? (5, Interesting)

sanermind (512885) | about 5 years ago | (#29020099)

This reminds me of our experience with mysql.. they changed the license of their drivers (the jdbc driver, in this instance) to GPL from LGPL a while ago, and also affirmed a legal position (at least in their marketing materials) that using the now GPL library would require any application dynamically linking/loading it to also be GPL, with the exception of being able to buy licenses to a separate non-GPL'd commercial instantiation of the library. (They also conveniently hired the guy who had been maintaining the previously freely useable LGPL version).

In theory, of course, someone else could re-invent the wheel and create another fully LGPL JDBC driver for mysql.. (I was ever-so-mildly tempted to do start work on that myself, out of spite and irritation, but didn't have the time).

Needless to say, after talking to the lawyer we had to switch our entire infrastructure over to postgresql. On the bright side, I found that I rather preferred postgres as a more comprehensive and functional sql anyway. (No more having to do manual tricks for multi-merges, etc). Still, it seemed like very bad faith to switch the license like that right out from under people who had already been using it, all in the hopes of further monetizing mysql. (Yes, the earlier license applied to the old versions of the driver... which happened not to work properly with newer versions of mysql).

I once talked to someone else else who makes a a bit of money on the side selling some piece of booking software. Unfortunately for him, almost half his clients were deploying his software in mysql shops. His software was a drop-in .war archive that was trivial to install (just copy it into tomcat/webapps or whatever (well, and run the database creation script to set up the tables for it) and it was good to go. After the license change he was unable to distribute a fully packaged pre-working .war file with the necessary drivers for client databases. (Oracle was propriatary, but free to distribute).. he had to write a specialized install script that the customer could use to unpack the .war, install the mysql jdbc driver, and repackage it, where the script required the client to affirm that they were using a legally licensed non-GPL version of the jdbc driver from mysql to be able to install/link it. This took the liability off of him ...The liability for having the temerity to want to talk with a basic software infrastructure service (such as a sql server), without GPL'ing his little niche app.

I'm all for the GPL. I love it! I've used it myself in a few things I've developed. I love all the good it's brought, etc, the idea of openness, a publishing and peer-reviewed manner of developing code, all that.

But I still find it very obnoxious to make a piece of library glue GPL. That's exactly what the LGPL is there for. Logically, it's not a derivative work of mysql if you use it for processing sql transactions (making no modifications or redistributions of it of any kind) any more than a file you create in the gimp is a derivative work of the gimp.
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>