19 comments

[ 3.4 ms ] story [ 41.6 ms ] thread
Linux source tree contains COPYING file which says that GPL viral nature does not extend beyond kernel/userspace boundary: http://lxr.linux.no/#linux+v3.4/COPYING

So, Linux kernel is basically under LGPL: it's OK to take it, bundle with some proprietary closed-source userspace code, and include it in binary form to some TV set top box, router, or other hardware appliance. As long as source code for the kernel is provided for free download on hardware vendor's website, GPL is not violated, Linus' exception for GPL works and viral nature of GPL does not extend to userspace subsystem, which can be kept close-sourced.

Do I understand it right? Any opposing opinions?

it's not linux's exception. It's just clarifying what the GPL already says. Yes, you can bundle the gpl kernel with all sorts of non-free userspace applications.
First, using the term "viral" is flame bait. You're just going to start arguments that way.

And yes: you're correct that the official interpretation of the kernel license does not treat userspace programs as derived works. So merely running something in userspace does not require releasing that the code be licensed under GPL-compatible terms.

Note that there's a lot more GPL software than the kernel that you will need to package, however. The kernel is merely the biggest single piece.

The bigger issue in embedded deployments of Linux is that it's often not just a vanilla kernel with some userspace apps tacked on: there are typically at least some custom device drivers in the picture, and these aren't userspace.
The Linux COPYING file merely repeats what the GPL already says. The GPL is not viral, and cannot be viral because it is a copyright license.

The Linux kernel is not LGPL, because you may not statically link it to proprietary code and then distribute the result.

There is no requirement for a work that merely links to a GPL'd work to itself be open-source, except under very particular conditions where the linking is obviously being used to try to evade the law.

For LGPL code, you may not statically link it to proprietary code and then distribute the result too. Only dynamic linking is OK (DLL, libFOO.so, some other form of combining which permits enduser to upgrade/modify free part).

And GPL adds more to this basic "do not close the source" LGPL level.

That's not true; the LGPL explicitly supports static linking to proprietary code. That's the whole point, that's the reason LGPL exists.
You are plainly wrong. Go reread LGPL.

LGPL exists to have lesser GPL without viral nature. They both forbid static linking with proprietary code and distributing solely resulting binary file.

I have read both the GPL and LGPL extensively. Since you apparently have not, please see http://www.gnu.org/licenses/lgpl.html before continuing your windmill-tilting.

The LGPL permits static linking of an LGPL'd work into a proprietary binary, as long as there is some way for the user to modify the LGPL'd portion and re-link. As I said, that is why the LGPL exists. The objective of the LGPL is to simplify the process of distributing proprietary applications, as a statically-linked binary is much easier to distribute than a binary which dynamically links against system libraries.

Both the GPL and LGPL permit proprietary applications to dynamically link against system libraries. The GPL takes great pains to state this, to try to reduce misunderstandings propagated by people like you.

Neither the GPL nor LGPL are viral.

Your comments about the LGPL are correct, but on the GPL you are mistaken: a GPL "system library" would infect a proprietary application that linked against it, whether statically or dynamically. A GPL application can link against a proprietary system library, but that is quite the opposite situation.
If a proprietary application dynamically links against a GPL'd library, and does not distribute that library, then it is not a derived work of the library and does not require the permission of the GPL to distribute.

Consider that if copyright could transit over a dynamic linking boundary, that every single application would need to include copyright clauses for every BSD/MIT library it dynamically linked with.

Your emotional active downvoting will not make any my statements false. All I said in this thread is true. GPL-licensed code is viral: GPL in any library expands itself to the whole work; and it is illegal to distribute solely binary file, statically linked with LGPL-licensed library.

Why do you think OpenOffice is under LGPL? Who is going to statically or dynamically link with that "library"? They are using LGPL because they don't want copyleft to infest every code bundled with their code in the 'collective', or 'derived' work.

That is the difference between strong copyleft and weak copyleft, and you should have educated yourself before using downvote button.

I did not downvote you. It is impossible for me to have downvoted you, due to the technical properties of Hacker News.

Obviously, you are one of the many people being paid to spread propaganda about the GPL/LGPL. Please find another line of work, one which is less harmful to the programming community and the world at large.

Propaganda is, by definition, information sponsored by government. It's when people get brainwashed via taxpayer money. I'm not a government official, contractor, and not affiliated in any way.

I fail to see how can I do any harm to the programming community (and the world at large) just by explaining GPL/LGPL difference, or strong/weak copyleft difference.

Discussion is beneficial for all parties: now you know that static linking of LGPL library into solely distributed binary EXE file is impossible, now I agree that GPL can't expand itself from DLL to EXE if DLL is packaged and installed separately and makes sense on its own (used by other applications), now you know that GPL will expand itself from DLL to EXE if they are in single downloadable/installable package, and now I know that we should bundle our proprietary code in the next product with FreeBSD kernel, not Linux. How open, public discussion can do any harm to anyone?

Yes I'm not FSF/GNU/RMS/copyleft zealot, so what?

(comment deleted)
"include it in binary form to some TV set top box, router, or other hardware appliance. As long as source code for the kernel is provided for free download on hardware vendor's website, GPL is not violated" is not actually compliant with the GPL. If you'd like to learn why and -- more importantly -- how to be compliant, read this article from the Software Freedom Law Center: http://softwarefreedom.org/resources/2008/compliance-guide.h...
So, running proprietary software under Linux kernel is OK from legal point of view, but combining GPL kernel + proprietary initramfs to single BLOB and flashing it into hardware (distributing for end users for update) isn't safe?
Yeah, the four freedoms. Viva la revolution.

That four freedom shit is just like Animal Farm. It's hilarious.

LoseThos is public domain.

God says... don't_mention_it sad cowardice manufacturing you're_in_big_trouble are_you_sure employer geek One_finger_salute vice freak can_you_hear_me_now birds lighten_up hey_thats_right pride quite endure silly_human Knock_you_upside_the_head handyman WooHoo

one thing the article does not make clear is that there has been much enforcement by kernel hackers. but only in another jurisdiction (germany) by harald welte. see http://www.gpl-violations.org/ for (sparse) details.

the news is, that now the software freedom conservancy has some kernel and samba copyright holders, so it can enforce the gpl even when busybox is replaced for infringing devices.