Linked by Thom Holwerda on Wed 2nd May 2012 22:32 UTC, submitted by PLan
Legal "The European Court of Justice ruled on Wednesday that application programming interfaces and other functional characteristics of computer software are not eligible for copyright protection. Users have the right to examine computer software in order to clone its functionality - and vendors cannot override these user rights with a license agreement, the court said." Bravo. A landmark ruling, for sure. If the US courts decide in favour of Oracle in the Google-Oracle case, Europe would instantly become an even friendlier place for technology companies.
Thread beginning with comment 517054
To view parent comment, click here.
To read all comments associated with this story, please click here.
cfgr
Member since:
2009-07-18

2) No, not according to copyright law, nor the GPL licenses. Only including the header files makes no sense, and you would know that if you were a programmer.

Yes it makes sense. That's what all these -devel RPMs are for. They are not source RPMs, they just contain the header files so that you can include them.

When linking dynamically, you do not include any actual source code (unless it's in those headers), so you do not need to have the actual source code installed. All you do is building a lookup table with unresolved symbols that's used by the linker at startup time to find and load fitting external libraries. It's easy to intercept that process and make the linker load different libraries with the same API. A typical example is valgrind, which hijacks standard calls such as malloc and free to detect memory leaks, but you never include any valgrind headers nor code at any time.

There is one 'but'. When using interpreted languages you as a developer do not control what the binary representation of your digital work will link against since there is no binary until the source is a run by the end user.

Nor do you when you use dynamic linking. It's only when you build a static binary that you pull in all the code to have a standalone executable.

Edited 2012-05-04 17:03 UTC

Reply Parent Score: 1

MollyC Member since:
2006-07-04

Yes, but what does the FSF say? Does dynamic linking to GPL code create a GPL "derived" work according to FSF?

Reply Parent Score: 1

cfgr Member since:
2009-07-18

Yes, but what does the FSF say? Does dynamic linking to GPL code create a GPL "derived" work according to FSF?

What the FSF says is not really relevant. What matters is what the law says. As far as I can tell, this ruling points out that API's (i.e. things like names and signatures) are not copyrightable, only the actual implementation of that API is. Therefore it would be odd that you can end up with a derived work if you only use the API and do not include an actual implementation of that API (which is what dynamic linking does).

So from an engineering point of view, it would seem that when linking dynamically, you would be creating a derived work from something that is not copyrightable. I'm not a lawyer, but my guess is that this no longer makes it a derived work, in which case GPL would be equal to LGPL for dynamic linking (and interpreted languages), at least in the EU. It remains to be seen if that is the case in the USA as well.

Reply Parent Score: 1