Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The problem of license incompatibility isn't unique to the GPL. You could have software under a license that's incompatible with 2-clause BSD, but that doesn't mean the BSD license is "viral".

For example, the OpenSSL license is also incompatible with the LGPL; does that mean the LGPL is "viral"?



> For example, the OpenSSL license is also incompatible with the LGPL; does that mean the LGPL is "viral"?

I am not anti-GPL. My original and only point was that the distinction between GPL and LGPL is important to explain, and the situation with PostgreSQL at Debian shows there are real world implications of this.

> For example, the OpenSSL license is also incompatible with the LGPL; does that mean the LGPL is "viral"?

You have any source for this? LGPL was created to allow linking with any software. If you just copy paste source they are not compatible.


  > My original and only point was that the distinction
  > between GPL and LGPL is important to explain
It's actually pretty easy. The most important difference is that the LGPL permits bundling of your code with the LGPL'd code into a single combined work. The GPL would require your code to be open-sourced, but the LGPL has special provisions to permit bundling.

This is most relevant when using static linking, but also applies if you're distributing your program with a bunch of included dynamic libraries. The LGPL is important for proprietary applications because it lets them (for example) bundle a version of GTK+ that they know will work properly, so they don't have to depend on whatever version is installed on the user's system.

  > You have any source for this? LGPL was created to allow
  > linking with any software. If you just copy paste
  > source they are not compatible.
"Compatibility" is typically considered when there's going to be works under two licenses combined into a derived work. The OpenSSL license is incompatible with the GPL and LGPL because it has requirements (the advertising clause) that the GPL/LGPL prohibit. So if you want to take some OpenSSL code and some LGPL'd code and compile them both together, you wouldn't be permitted to distribute the result.

The LGPL offers a workaround, which is to separate out the LGPL'd code entirely into a separate library, and then set up your build system so users can relink against a modified version of the LGPL'd code. In this case, the OpenSSL code is being treated as if it were a proprietary blob. So it solves the problem of distribution, but with the hassle of maintaining that clean library separation.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: