News for hackers. Stuff that matters.
Re:French Court Issues Damages Award for Violation of GPL by dagmx on Monday March 04, 2024 @03:12AM (#39588130)
I can’t give specific examples without calling out some projects.

But usually it’s a misunderstanding of what derivative works are. E.g building an extension to a GPL app. Many don’t believe that simply importing a GPL Python module is enough to make your extension have to comply to GPL.

Or things like what constitutes distribution. E.g employees vs contractors vs third party collaborators etc…

But when I have to deal with said project owners, they bring up that the GPL is about the spirit of the license, not the exact words. They often say not to worry about litigation.

This case doesn’t specifically clarify those terms but it does highlight that GPL violation is a serious issue that can’t just be treated as a suggestion.

That any lawsuit has taken place and won means that

1. I can point to cases where the license choice is impactful when working with existing projects or when setting up new OSS projects in my industry

2. It also means that the license proponents may feel more empowered (as they should) to take action against infringement.

Basically, very few people take software licenses as seriously as they should. Cases like these help make them a more serious matter.

The more seriously people take it, the easier my job gets for multiple reasons.

And since someone might ask, the license I advocate for the most is Apache 2.0. It covers the most ground, with the most clarity and the most protections for all parties involved.

Re:French Court Issues Damages Award for Violation of GPL by lmm on Monday March 04, 2024 @04:09AM (#39588427)
> But usually it’s a misunderstanding of what derivative works are. E.g building an extension to a GPL app. Many don’t believe that simply importing a GPL Python module is enough to make your extension have to comply to GPL.

AIUI that's a far from settled question in copyright law (with e.g. Oracle vs Google being mostly reversed on appeal, and different courts applying different standards). For someone who's not in the business of copyright minutiae, it's not a completely unreasonable belief to have.

Re:French Court Issues Damages Award for Violation of GPL by whatisyour on Monday March 04, 2024 @04:20AM (#39588491)
Not really. Including code in your code would always be a copyright violation. The Oracle vs Google case is very different. The OP is talking about copying implementations while Oracle vs Google is about copying APIs.

The equivalent of Oracle vs Google here would be if you rewrote the exact same python module with exact same API names, but all your implementation was clean-room implementation. Here the question is, if the APIs themselves are copyrightable.

Re:French Court Issues Damages Award for Violation of GPL by toyg on Monday March 04, 2024 @04:35AM (#39588562)
> Including code in your code would always be a copyright violation.

Well, not quite - shipping code with your code would be, because that is direct distributing. But if I ship a script to download your GPL library from PYPI and just use it as it comes, the argument on whether my application is a "derivative" of yours, is not an easy one.

Re:French Court Issues Damages Award for Violation of GPL by regularfry on Monday March 04, 2024 @05:11AM (#39588768)
It's potentially not an easy one in law, but it is one that the GPL is explicitly intended to capture. The only question is whether it has successfully done so (and that actually depends on the specifics of the usage, as I understand it).
Re:French Court Issues Damages Award for Violation of GPL by lmm on Tuesday March 05, 2024 @02:57AM (#39600533)
> Including code in your code would always be a copyright violation. The Oracle vs Google case is very different. The OP is talking about copying implementations while Oracle vs Google is about copying APIs.

Importing a module doesn't generally mean you include that module in your code. It only means you made use of that module's API. So whether that API was copyrightable is very much relevant.

Re:French Court Issues Damages Award for Violation of GPL by GoblinSlayer on Monday March 04, 2024 @04:30AM (#39588536)
I'd say plugins are mostly safe. In case of java interface isn't part of plugin, so no copy is involved.
Re:French Court Issues Damages Award for Violation of GPL by Semaphor on Monday March 04, 2024 @03:29AM (#39588217)
Interesting examples. Also, a weird take for them to think that’s not triggering the virality, if not that, what then? Directly using the source code only?

> the GPL is about the spirit of the license, not the exact words. They often say not to worry about litigation.

Even weirder. Especially since then, why pick the GPL at all? The only reasons I can see is that you care about free software, and want virality for that reason, and/or you want companies to pick a commercial license.

Re:French Court Issues Damages Award for Violation of GPL by tsimionescu on Monday March 04, 2024 @03:50AM (#39588333)
I believe this is coming from the developers of a piece of GPL software who want to allow proprietary extensions. However, extensions to their software must import a python module that they created to register with their software or something. They don't want to invest time in separating that module and its dependencies into a different project with a different license (some variant of the LGPL), so they choose to believe that importing a python module is somehow different from linking a C library.

From the point of view of the owner of the software, I can see how you can think that your intention matters more than the word of the license. It's wrong in a legal sense, of course, but it makes some kind of sense of you say "nah, we'd never sue for that".

Re:French Court Issues Damages Award for Violation of GPL by actionfromafar on Monday March 04, 2024 @04:00AM (#39588382)
If the writer is the only copyright holder, if they just put the exception in writing, it's still OK. Like the exception for the Linux kernel to load proprietary binaries.
Re:French Court Issues Damages Award for Violation of GPL by tsimionescu on Monday March 04, 2024 @06:04AM (#39589048)
Sure, but if the copyright holder is a foundation, you actually need some legal representative to put that in writing, a single dev writing something on GitHub wouldn't mean much, even if they are the sole maintainer.
Re:French Court Issues Damages Award for Violation of GPL by mistrial9 on Monday March 04, 2024 @10:02AM (#39591291)
IANAL that seems to be a distinction without a difference.. you say yourself "the copyright holder" then make a gray case about some entity holding legal ownership that is not the copyright holder.

first to say, the interpretation will be different in different legal regimes, but.. here in the USA, I believe that the copyright holder is the title that determines who gets the say about changes to the license.

Re:French Court Issues Damages Award for Violation of GPL by tsimionescu on Monday March 04, 2024 @10:44AM (#39591767)
Sorry, I should have been more clear. I meant that it is fairly common for a project that has a single author and contributor to nevertheless be developed as part of an organization such as Apache. So, even if that single author is the de facto owner, they may not be the legal owner of the copyright.
Re:French Court Issues Damages Award for Violation of GPL by dagmx on Monday March 04, 2024 @10:28AM (#39591572)
This perhaps works if a project is new.

But many projects are years and years old, with many many contributors. Getting them to relicense is a burden that they don’t see the worth in if they cannot first agree on the pessimistic interpretation of the license

Re:French Court Issues Damages Award for Violation of GPL by dagmx on Monday March 04, 2024 @03:39AM (#39588274)
Usually, the developers (and this is over multiple different GPL projects with different leads) have the following thought:

1. If you’re not touching the core code, it’s not under the GPL. I try and get them to LGPL license the extension points but they don’t see the benefit in trying to relicense it with all their contributors.

2. For your second point, the issue is that the GPL is intentionally vague as a deterrent for corporate abuse. The issue becomes that, as a corporate user: I have to take the most pessimistic view to protect myself. If I switch my hat to someone non corporate, then I take the most optimistic view. In those cases, they often say to not take the pessimistic view because that’s not the spirit as they understand it.

Re:French Court Issues Damages Award for Violation of GPL by growse on Monday March 04, 2024 @03:46AM (#39588313)
I think I'm with you on this in general

> 1. If you’re not touching the core code, it’s not under the GPL. I try and get them to LGPL license the extension points but they don’t see the benefit in trying to relicense it with all their contributors.

I sense this comes down to a really poor definition of "linking" (is that the word in the text? Can't remember and don't have it to hand).

It's not at all obvious for each software/language ecosystem which specific act constitutes "linking".

> 2. For your second point, the issue is that the GPL is intentionally vague as a deterrent for corporate abuse. The issue becomes that, as a corporate user: I have to take the most pessimistic view to protect myself. If I switch my hat to someone non corporate, then I take the most optimistic view. In those cases, they often say to not take the pessimistic view because that’s not the spirit as they understand it.

100%, and this is my gripe against things like the BSL too. It's disingenuous because the aim of the license is to create risk and uncertainty through poor definitions and vagueness.

Re:French Court Issues Damages Award for Violation of GPL by Nursie on Monday March 04, 2024 @05:26AM (#39588853)
> It's disingenuous because the aim of the license is to create risk

It’s really not, the aim of the GPL is to preserve freedom to tinker and reuse for all users.

If that’s not something you’re wanting to do, then it’s best not to use GPL components.

Re:French Court Issues Damages Award for Violation of GPL by hnfong on Monday March 04, 2024 @08:35AM (#39590280)
Yep, that's what the GP said.
Re:French Court Issues Damages Award for Violation of GPL by growse on Monday March 04, 2024 @08:44AM (#39590370)
Both things can be true. The wealth of comments in this very discussion from people who aren't sure what exactly is and isn't permitted under the GPL shows that it is vague.

I'm just not convinced that the lack of clarity which tends to steer large companies away from such software is just a bug, not a feature.

Re:French Court Issues Damages Award for Violation of GPL by Nursie on Monday March 04, 2024 @11:21AM (#39592157)
Whether it is vague, and whether it is purposely vague as a mechanism to achieve its aims, are different phenomena to the aim of the license. IMHO.
Re:French Court Issues Damages Award for Violation of GPL by mistrial9 on Monday March 04, 2024 @10:06AM (#39591342)
> people who aren't sure what exactly is and isn't permitted under the GPL shows that it is vague

this is literally FALSE

Re:French Court Issues Damages Award for Violation of GPL by mistrial9 on Monday March 04, 2024 @10:05AM (#39591329)
> GPL is intentionally vague as a deterrent for corporate abuse.

no the GPL was intentionally set the way it was.. vague is not the word for that IMHO.. thirty+ years of computer markets has brought every possible challenge plus a few more. So the original LICENSE has been deeply scrutinized and the markets have changes... the parts that needed clarification have had changes as a result.

"vague" is mildly insulting, and there is plenty of that going on as part of this discussion.

Re:French Court Issues Damages Award for Violation of GPL by consp on Monday March 04, 2024 @03:23AM (#39588192)
> Many don’t believe that simply importing a GPL Python module is enough to make your extension have to comply to GPL

Wasn't this the, "if the source is in your tree everything is GPL" and otherwise "if it's downloaded module as a package it is not"? Or was that LGPL? Asking to show clarification for everyone.

Re:French Court Issues Damages Award for Violation of GPL by bnprks on Monday March 04, 2024 @04:10AM (#39588428)
Looking closer at the GPL, it seems like most requirements only kick in once you "convey" GPL-covered code. If you make your users get the GPL component themselves from a 3rd party (e.g. PyPI or other package repository), then you might be okay. I'd be curious for input from others, but it seems like the following flow avoids GPL virality by avoiding "conveying" the GPL-covered code to the end-user:

1. You give your user a non-GPL python package with requirements.txt file (no bundled dependencies)

2. Your user pip-installs the dependencies (including some GPL-licensed ones)

3. Your user runs the application

As long as your country doesn't consider use of an API prohibited under the copyright of the implementing code, I think steps 1-3 would be fine (though not very practical for a product).

I'd be curious for others input, though, as this has bugged be for a while in the R community where several core libraries (like the Matrix package) are GPL licensed but many packages that depend on GPL packages claim to be licensed under MIT or some other license.

Re:French Court Issues Damages Award for Violation of GPL by missjellyfish on Monday March 04, 2024 @04:42AM (#39588605)
The end result will most probably violate the GPL. However, this is only realized by each user; you could probably argue that you never test your software and only look at API documentation.

And then it becomes a problem of proving your users violating the GPL. So you'd have to go after each one of them, which will be incredibly difficult, and proving damages would be even more difficult.

It's an asshole way of exploiting "Wo kein Kläger, da kein Richter" (where's no plaintiff, there's no judge) since actually proving that the developers violated the GPL will be difficult, unless they have a CI system that readily documents this.

Re:French Court Issues Damages Award for Violation of GPL by account42 on Monday March 04, 2024 @04:46AM (#39588628)
As a pure copyright license the GPL concerns itself with distribution only. You cannot violate the GPL as an end user without distributing something.
Re:French Court Issues Damages Award for Violation of GPL by missjellyfish on Monday March 04, 2024 @04:51AM (#39588659)
Yes, all of the above is on the condition that some distribution happened (and you can prove that).

However, distribution also happens in places you might not expect. As a business, I'd stray far away from such constructs even if I only use this construct internally.

However, this is purely based on the wording of the GPL. For example, the EUPL explicitly covers the creation of derivative works - and I'd argue that the proposed circumvention would create a derivative work.

Re:French Court Issues Damages Award for Violation of GPL by bnprks on Monday March 04, 2024 @05:17AM (#39588799)
Yeah, the crux of the issue would definitely be whether use of an API is prohibited by default under copyright law for a country (i.e. does using a library make something a derivative work of the library). In the US, at least, the Google v Oracle case makes me think this is worst case fair use (for many contexts) and best case too functional to be covered by copyright in the first place.

Though I can certainly imagine that a multinational company might not be confident of the copyright status of API usage in all countries they operate in.

Re:French Court Issues Damages Award for Violation of GPL by missjellyfish on Monday March 04, 2024 @05:39AM (#39588923)
I'd further argue that it would be important if your program does anything useful without the GPL parts; if so, you can probably argue that it is not a derivative work. If you however only build an extension to some GPL'ed software that fundamentally needs the GPL'ed code to properly function and cannot (easily) be used by any other software, then you probably will create a derivative work.
Re:French Court Issues Damages Award for Violation of GPL by hnfong on Monday March 04, 2024 @08:37AM (#39590299)
To be pedantic, you can't actually violate the GPL. You infringe on the owner's copyrights if your actions don't fall in the GPL's allowed actions.
Re:French Court Issues Damages Award for Violation of GPL by account42 on Monday March 04, 2024 @04:45AM (#39588622)
Yeah for interpreted languages this may be OK. For compiled languages it becomes harder to not "convey" anything derived from GPL code you linked against. The GPL even explicitly exempts system components for this reason.
Re:French Court Issues Damages Award for Violation of GPL by LadyCailin on Monday March 04, 2024 @05:18AM (#39588810)
Even for compiled languages, you can get around this with a properly architected plugin architecture. Your core project (non-GPL) exposes a runtime plugin interface. It has no clue what plugins will be used, but provides all the operations needed for the plugin to do what it needs. Create a plugin which links to the GPL code. GPL the plugin itself. The user can then be directed to install the GPL plugin. I can’t see how this would be a violation (by the core developer) of the GPL, as the core doesn’t have the first clue what license its plugins are using, and indeed, multiple plugins could be used that have contradictory licenses.
Re:French Court Issues Damages Award for Violation of GPL by dagmx on Monday March 04, 2024 @03:46AM (#39588311)
I’m trivializing here but for sake of brevity:

LGPL allows dynamic linkage without open sourcing your components.

GPL requires any linkage to open source your parts, but allows for process boundary to not be viral.

AGPL is the nuclear don’t touch because it is vital to all possible usage types.

Again, that’s trivializing because there’s many subtle details that in many cases are intentionally not clarified in the licenses themselves

Re:French Court Issues Damages Award for Violation of GPL by tsimionescu on Monday March 04, 2024 @04:02AM (#39588391)
There is no difference whatsoever between the GPL and the AGPL for software you distribute.

The only difference between the AGPL and the GPL relates to software you don't distribute, but that you make available over a network, such as hosting an AGPL web server. The AGPL says that as long as public users interact with this web server, they have the right to get the code and deployment instructions and AGPL rights to be able to run the exact same service themselves, just as if they had downloaded the software.

The FSF's (very reasonable) position is that linking to a piece of software makes your software a derivative work, but that launching it as a separate process or accessing it over a network generally doesn't. However, if you exchange very complex internal data structures with this GPL software running in a separate process, whether you do it over a network or through pipes or command line arguments or whatever, then your program is still a derivative work, in their opinion.

That is, if you run gcc in a separate process but then mmap() it's memory and search for its entry points and jump to the memory locations of GCC functions in order to generate optimized code for a piece of GCC AST you provide, then your program is a derivative of GCC (according to the FSF, at least) even though GCC is running in a separate process.

Re:French Court Issues Damages Award for Violation of GPL by jasonjayr on Monday March 04, 2024 @06:22AM (#39589151)
A few articles I've read suggest that the AGPL terms trigger if you MODIFY AGPL covered code. So if you (1) setup an AGPL service over the network "as-is" with no changes, (2) use the AGPL-covered service from your proprietary code over the network (ie, across a process boundary), then you are in the clear, and your proprietary code can remain closed.

If you instead, modify/customize the source of the AGPL-covered service, then you are required to make available your changes to AGPL-covered product under a AGPL license.

Is this a correct understanding of the situation? If the product implements a publicly documented protocol to communicate over the network (ie, not "complex internal structures", and/or replaceable with another product), is that permitted?

Re:French Court Issues Damages Award for Violation of GPL by tsimionescu on Monday March 04, 2024 @06:44AM (#39589291)
I am not a lawyer, but my understanding is the same as yours - if you host a proprietary service that has some AGPL components (say, an AGPL authentication service that users interact directly with to get a token, that they then pass to the proprietary parts), then you only have to make sure that the source code for the AGPL part is made available (or not even that if you are using it completely unmodified).
Re:French Court Issues Damages Award for Violation of GPL by account42 on Monday March 04, 2024 @04:38AM (#39588581)
> LGPL allows dynamic linkage without open sourcing your components.

Also static linkage provided you provide users with the object files so that they can re-link with a modified library.

> GPL requires any linkage to open source your parts

With the exception of system components. Maybe that is what is causing the confusion because it's not intuitive why you can ship proprietary software that uses glibc but can't ship proprietary plugins for a GPL program.

> AGPL is the nuclear don’t touch because it is vital to all possible usage types.

That is an absurd viewpoint bordering on FUD. Affero licenses are only a problem if you are trying to work around the license terms. The license does fix loopholes for networked use that allowes SAAS providers to skirt the GPL but it is NOT any more viral than the GPL. Commercial use of AGPL software is absolutely possible - see e.g. cloud providers. Most GPL software probably should be AGPL.

Re:French Court Issues Damages Award for Violation of GPL by sokoloff on Monday March 04, 2024 @05:48AM (#39588967)
> The [AGPL] license does fix loopholes for networked use that [allows] SAAS providers to skirt the GPL but it is NOT any more viral than the GPL.

One person’s skirting is another person’s complying. Most of what AGPL proponents argue is skirting GPL by SaaS companies seems like straightforward compliance/conformance to me.

Re:French Court Issues Damages Award for Violation of GPL by dagmx on Monday March 04, 2024 @10:31AM (#39591614)
Linux dual licenses glibc so that it can be linked without falling under the GPL

And I’m not saying that AGPL can’t be used, in the same way I’m not saying other GPL can’t be used. You’re misunderstanding the context of the comment.

The comment was in regards to: what are you allowed to do without having to fall under the purview of the license.

In that sense, the AGPL specifically exists to close off many areas that the GPL didn’t touch.

Re:French Court Issues Damages Award for Violation of GPL by juliusdavies on Monday March 04, 2024 @03:30AM (#39588219)
Pipe/exec into GPL generally considered okay (not a derivative work)

What you described only okay with LGPL

Re:French Court Issues Damages Award for Violation of GPL by actionfromafar on Monday March 04, 2024 @04:26AM (#39588524)
And pipe/exec not because it's a magic boundary, but because that kind of interface is often so generic and simple it's not constituting a derivate work to use that boundary. But one could easily come up with an example where it is.
Re:French Court Issues Damages Award for Violation of GPL by mytailorisrich on Monday March 04, 2024 @04:54AM (#39588668)
It is a "magic" boundary in that it is an interface to another process, i.e. effectively another program altogether.
Re:French Court Issues Damages Award for Violation of GPL by lupusreal on Monday March 04, 2024 @06:09AM (#39589072)
Another process is not necessarily "another program altogether". What presents as "a program" to the user may be a collection of several processes using a variety of IPC methods to interface with each other. "Process" has a fairly concrete technical meaning but "program" is more loosely goosey. A shell script could be called "a program" even though it's executed by a shell process and invokes dozens of other processes, without which it is nothing.
Re:French Court Issues Damages Award for Violation of GPL by mytailorisrich on Monday March 04, 2024 @06:14AM (#39589101)
That's a nitpick.

Within this discussion if you take a GPL'd piece of software, a "program", and interface to it via pipe/exec you're just using an external program, you're not linking to it and are 'immune' from GPL 'contamination'. If not it would effectively not be possible, or very difficult, to run commercial license programs on Linux, for instance.

Re:French Court Issues Damages Award for Violation of GPL by actionfromafar on Monday March 04, 2024 @07:05AM (#39589446)
It would not, however, Linux has:

"GPL-2.0, with an explicit syscall exception"

Re:French Court Issues Damages Award for Violation of GPL by mytailorisrich on Monday March 04, 2024 @07:12AM (#39589489)
Deleted/Edited (sorry...):

That's for the kernel, right?

My comment was general and about all the interactions betweem programs.

Re:French Court Issues Damages Award for Violation of GPL by actionfromafar on Monday March 04, 2024 @07:14AM (#39589508)
How else do you run programs on Linux?
Re:French Court Issues Damages Award for Violation of GPL by Nursie on Monday March 04, 2024 @06:45AM (#39589303)
I think that's probably an interesting case, and whether it's a valid defence is going to depend on what you're doing.

If you are (for example) shipping a product which is effectively a thin wrapper around a GPL 'd component, but instead of linking to a GPL'd library you've written and dutifully GPL'd a small shim program that turns the library into an executable and reads function arguments over a pipe, then you call that from your 'non-GPL' code... I don't think you'll find the process boundary is some sort of absolute defence in law.

In fact you may be looked upon unkindly in court for having knowingly attempted a license circumvention mechanism.

The law is not necessarily sensitive to the exact inner workings of a turing machine, and the definition of a derivative work may or may not be affected by such shenanigans.

Re:French Court Issues Damages Award for Violation of GPL by EnigmaFlare on Monday March 04, 2024 @03:59PM (#39596003)
If the whole product you're selling is just a thin wrapper around GPL code, why not simply sell the GPL code or GPL the wrapper? Surely the wrapper would be trivial for a competitor to replicate so the reason you're able to make money from it must be something else like other services you provide with it, or just the value of you having chosen and distributed that particular GPL program.
Re:French Court Issues Damages Award for Violation of GPL by Nursie on Monday March 04, 2024 @08:11PM (#39598242)
It was more of a thought experiment to show that a process boundary isn’t likely to be some sort of perfect defence, than a real example of how someone might operate.
Re:French Court Issues Damages Award for Violation of GPL by EnigmaFlare on Monday March 04, 2024 @03:52PM (#39595903)
GPL v2.0 is pretty vague on that:

If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works.

I use the pipe/exec loophole to include a GPL program in a proprietary one. I personally decided that the proprietary code can be considered an independent and separate work because it's still does something useful without the GPL component. Also, you could swap the GPL component for a 3rd party proprietary one, which actually exists and uses the same interface for communicating via files. So to me, it's just a generic interface and I'm distributing the GPL program together as "aggregation" of separate works. For the sake of human relations, I also got approval from the GPL program's author to do this but he admitted he wasn't sure, and neither am I.

Re:French Court Issues Damages Award for Violation of GPL by mytailorisrich on Monday March 04, 2024 @04:34PM (#39596440)
That quote is part of section 2, I believe. That section states "You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program...", so if my program uses a GPL'd program via pipe/exec I am not modifying the GPL's program at all, just using it, and so my interpretation is that section 2 (and in fact the whole GPL license), and therefore your quote, does not apply at all.

An example of what I have in mind: Let's say that you write a program and for some functionality it needs to grep files. Now, instead of programming this from scratch you just exec/pipe grep and grab its output. That's does not make your program GPL'd although grep is.

Packaging grep with your program to make distribution easier (if needed) does not, either.

Re:French Court Issues Damages Award for Violation of GPL by EnigmaFlare on Monday March 04, 2024 @09:57PM (#39598960)
I assume it never matters if you modify it or not since you're fully allowed to fork and redistribute GPL code. It doesn't even prohibit modifications that enable compatibility with proprietary software.

The ambiguity is in whether the two programs (proprietary and GPL) together count as a "work based on the program". Your grep example seems to support the idea that they don't, and it wouldn't fall under the operating system components exemption because it "accompanies the executable". But then where is the boundary? Others have said you can't make a GPL shim to convert a library to an executable then use it in this way.

Re:French Court Issues Damages Award for Violation of GPL by mytailorisrich on Tuesday March 05, 2024 @01:33AM (#39600089)
Well, in the beginning of section 2, which I quoted, a "work based on the program" is defined as a modification of the program. If you use the program as is then you do not modify it and therefore your own program is not a "work based on the program".

A GPL library is a trickier case because it's all about linking to it and potentially how that is done.

My guess is that if the shim converts the library into an executable that is usable in itself generically then you're fine (e.g. you turn some 'libgrep' into grep then uses grep). But if it only implements something like RPC through pipes specifically for use with your own program then someone might decide that this is just convoluted 'linking' and falls within the licence.

Re:French Court Issues Damages Award for Violation of GPL by EnigmaFlare on Tuesday March 05, 2024 @10:51PM (#39612090)
I see. It almost seems to be starting to make sense. That even brings clarity to:

"But when you distribute the same sections as part of a whole which is a work based on the Program..."

No matter how you distribute them, they never formed a "work based on the Program" anyway so the GPL doesn't spread.

If all that's correct, it seems to leave a loophole that I mentioned where you can fork the original program to make it specially compatible with your proprietary program and redistribute it under the GPL. Now when you combine them you're not modifying it because you (or your friend if need be) did that before you obtained it and the modification is none of your business.

Re:French Court Issues Damages Award for Violation of GPL by hnfong on Monday March 04, 2024 @08:39AM (#39590324)
It's extremely entertaining to see people here arguing that programming and software interfaces should be copyrightable and therefore protected by the GPL.

Pretty sure the prevalent opinion was that it was going to be the end of the world if the US Supreme Court ruled that APIs were copyrightable in the Oracle v Google case.

Just say'n.

Re:French Court Issues Damages Award for Violation of GPL by juliusdavies on Wednesday March 06, 2024 @02:16PM (#39620000)
I think there is a way to make APIs copyrightable:

1.) Hire a bonafide poet (e.g., someone with an MFA degree in Creative Writing).

2.) Have them write Haikus on salary for your company ("work made for hire" under copyright law).

3.) Use the Haikus in your API names.

e.g. for a sqrt() function in Java:

public double sqrt___an_ancient_pond_$_a_frog_jumps_in_$_the_splash_of_water(double number);

Re:French Court Issues Damages Award for Violation of GPL by pooper on Monday March 04, 2024 @03:22AM (#39588186)
On the other hand, some people freak out too much. All I did was use a ghostscript dll, which is LGPL if I recall correctly. :/
Re:French Court Issues Damages Award for Violation of GPL by alentred on Monday March 04, 2024 @04:40AM (#39588594)
> Many don’t believe that simply importing a GPL Python module is enough to make your extension have to comply to GPL.

I can almost hear the chairs squeaking under the many SaaS devs reading this. IANAL, but as far I know the debate is not settled on whether this clause applies to SaaS, that is when you do not distribute the software per se, and the general consensus so far is that it does not. This is the "raison d'etre" for the AGPL license, which covers the SaaS use case.

Re:French Court Issues Damages Award for Violation of GPL by maccard on Monday March 04, 2024 @04:44AM (#39588612)
> very few people take software licenses as seriously as they should.

Isnt the fact that it has taken this long and required a straight up violation of the direct terms of the licence proof that people were probably justified in not caring until now?

Re:French Court Issues Damages Award for Violation of GPL by sakjur on Monday March 04, 2024 @04:44AM (#39588614)
The European Commission have published an interesting article disputing the possible viral effect of linking in EU law: https://joinup.ec.europa.eu/collection/eupl/news/why-viral-l...

It doesn’t practically change much for most developers, but imo it underlines a bit of the challenge of misunderstandings and the complexity around the sharp corners of open source, in particular outside of the US as most licenses were designed in the US by Americans.

Re:French Court Issues Damages Award for Violation of GPL by drdebug on Monday March 04, 2024 @06:38AM (#39589253)
The conclusion of the article says "[...] so far linking (even statically) is done for interoperability, does not [...]". IANAL but it could mean that linking against a GPL library for interoperability is OK in EU, but it does not mean it's true for general case of linking with GPL libraries.
Re:French Court Issues Damages Award for Violation of GPL by account42 on Monday March 04, 2024 @04:58AM (#39588690)
Interesting opinion but even if the courts will agree it is not relevant because most software is intended to be distributed globally (including at the very least the US market) and will have to comply with most restrictive interpretation of the license.
Re:French Court Issues Damages Award for Violation of GPL by hnfong on Monday March 04, 2024 @08:33AM (#39590261)
1. Google has taken the headers from OpenJDK (GPL licensed) into Android ( https://arstechnica.com/tech-policy/2016/01/android-n-switch... )

2. USSC claims Google's copying Java headers is fair use.

3. Many jurisdictions does not have a fair use doctrine.

So the question is, do you think Google is infringing the GPL by copying headers into Android, according to the most restrictive interpretation or the most restrictive copyright regime?

I think the unfortunate truth is that, for some reason, only US copyright law seems to matter.

Re:French Court Issues Damages Award for Violation of GPL by peppermint_gum on Monday March 04, 2024 @05:17AM (#39588807)
>But usually it’s a misunderstanding of what derivative works are. E.g building an extension to a GPL app. Many don’t believe that simply importing a GPL Python module is enough to make your extension have to comply to GPL.

The GPL doesn't explicitly define the concept of derivative work. The FSF's interpretation is that linking creates a derivative work, but there's no universal consensus among lawyers on this issue.

LWN has an article that presents a few different views on this topic: https://lwn.net/Articles/548216/

Re:French Court Issues Damages Award for Violation of GPL by JW_00000 on Monday March 04, 2024 @07:08AM (#39589468)
The term "derivative work" (or similar) is sometimes defined in law, but of course very abstractly (i.e. not specific to software) and differently depending on jurisdiction. (See https://en.wikipedia.org/wiki/Derivative_work) IMO it's exactly because of this ambiguity that many developers' understanding of the term is likely to be incorrect, and that most of us don't really understand what our license choice entails.
Re:French Court Issues Damages Award for Violation of GPL by pc86 on Monday March 04, 2024 @08:50AM (#39590456)
I think a better way to say this is that every developer's understanding is absolutely incorrect in some jurisdictions. Maybe they're correct in their jurisdiction, but once you start talking about this online, as with every discussion of legalities on HN, people start talking past each other forgetting that many European countries will disagree with each other, and especially forgetting that the US may have several dozen wildly different interpretations.
Re:French Court Issues Damages Award for Violation of GPL by dagmx on Monday March 04, 2024 @10:23AM (#39591520)
Yes , exactly my point. The vagueness is intentional to cause this level of confusion.
Re:French Court Issues Damages Award for Violation of GPL by Moru on Monday March 04, 2024 @06:02AM (#39589038)
One argument for you could be that if there is no problem, why aren't they using MIT instead that works the way they want it? No need to use the wrong license if they mean something else.
Re:French Court Issues Damages Award for Violation of GPL by dagmx on Monday March 04, 2024 @10:26AM (#39591556)
It always comes down to “of course a corporate dev would suggest that so you can steal our work ”

We (corporate contributors) are simultaneously big contributors to OSS and seen as an enemy.

I can’t blame them, especially with cases like this French one. But it does mire a lot of discussion.

Re:French Court Issues Damages Award for Violation of GPL by rapnie on Monday March 04, 2024 @07:55AM (#39589881)
Extensions, importing, linking? If your (A)GPL licensed app has a plugin framework, does that 'infect' all the plugins to be similarly licensed? There's likely different situations here, or no? Like e.g. Hashicorp go-plugin where separately compiled plugins are dropped into a directory and communicated to via gRPC cross-process. Or WebAssembly Components being composed together.
Re:French Court Issues Damages Award for Violation of GPL by hnfong on Monday March 04, 2024 @08:27AM (#39590184)
I'll tell you a fact that isn't popular or commonly known.

At some point Google just took the headers of OpenJDK (GPL licensed) and used it in Android, without relicensing Android to GPL. ( https://arstechnica.com/tech-policy/2016/01/android-n-switch... )

Apparently this is fair use according to the US Supreme Court. Technically speaking the case that went to the USSC concerned some prior closed source version of Java, but Oracle doesn't to think there's a material difference since they're not suing Google again for that, and neither do I.

The FSF's argument that linking to GPL libraries require you to relicense the code to GPL rests on the legal argument that APIs, headers, etc. are copyrightable. USSC decided that, well, for only for Google's case, sure, fair use, whatever.

IMHO the GPL was drafted and marketed specifically to make its legal position seem uncertain, and the outcome of the Oracle v Google case doesn't make things clear. I'm not sure whether you'd actually see a court make a decision on the "GPL" given that the case would almost certainly be a matter of copyright infringement, not a matter of license interpretation, so the license text does not matter. If I were a lawyer I'd advice corporate clients to steer waaay clear of anything GPL.

Re:French Court Issues Damages Award for Violation of GPL by simiones on Monday March 04, 2024 @08:57AM (#39590530)
I don't think this is how these rulings worked.

Most importantly, the only reason the courts decided Google wasn't in violation was that Google's purpose, providing a compatible re-implementation of Java for Android, constituted fair use of the interface definition, so Google didn't need a license to use the OpenJDK headers. If Google had copied the OpenJDK headers in order to implement an entirely different system that used the OpenJDK code in a different way, the case would have gone in a fundamentally different direction.

Secondly, the legal reasoning for the GPL goes like this: by default, you don't have any right to re-distribute anyone's code (unless some fair use exception applies). The copyright holder can give you certain limited rights through a license - in our case, the GPL. The GPL can essentially impose any conditions, and if you think they are too onerous, then you just don't redistribute the code, period. If the GPL says "you can't re-distribute my code if you link your program with it unless you also distribute the sources of your program, including all precise compilation and installation instructions, and give your users the same rights and obligations", then there is nothing to dispute. The GPL could have also said "you can't redistribute my code unless you throw a penny in a prominent wishing well and light a candle in 3 different churches", and that would have been binding as well, if you wanted to re-distribute their code.

The subtleties come when you don't actually want to re-distribute GPL code, but would like to interface with it. Say you want to distribute a program that only works if dynamically linked with GCC. If you publish a bundle on your site with your proprietary program + gcc, you are clearly under the incidence of the GPL, since you are distributing GCC and are dynamically linking with it. However, what if you don't distribute GCC at all, and just tell your users "download my program, and then install GCC under /opt/propritary/utils/gcc"? In this case, is your program bound by the GPL or not?

This is a much more complex question, and it is here where you get in the nitty-gritty of what constitutes a derivative work in software. If your program is considered a derivative work of GCC, then you are distributing a derivative of GCC and so you need to respect the terms of the GPL. However, if your program is not a derivative of GCC, then you can entirely ignore the GPL, since you are not stepping on anyone's copyright and so don't need a license. I believe this question is entirely unsettled, and there are plausible arguments (to a layman like myself, at least) both for and against it.

Re:French Court Issues Damages Award for Violation of GPL by hnfong on Monday March 04, 2024 @09:40AM (#39591061)
I don't disagree with your take (though I don't know which part of mine you disagree with...)

The idea of derivative work is clear, the confusion is how the FSF kept pushing their interpretations of it.

Programmers are usually not lawyers, and taking legal "advice" (or rather trying to learn legal concepts) from the FSF is not exactly the wisest thing to do.

There's been a lot of confusion why linking GPL libraries would be a "derivative work", and apparently the FSF's stance is... well unless it doesn't use inline functions and macros ( https://lkml.indiana.edu/hypermail/linux/kernel/0301.1/0362.... )... but let's just tell everyone you can't use GPL libraries in proprietary code.

So we have a bunch of rumors about linking mechanisms, speculations that the GPL cares about static vs dynamic linking, kernel interface calls, classpath exceptions, etc.... which shouldn't be a part of the conversation at all, at least not without considering the broader context of how the proprietary software relates to the GPL software.

Re:French Court Issues Damages Award for Violation of GPL by BobbyTables2 on Monday March 04, 2024 @09:39AM (#39591050)
I also hate when projects take BSD/Apache licensed code and change it to GPL.

While it seems technically permissible, to me it also muddies the original code’s licensing as well, especially if not well known.

It is also bizarre that someone could take BSD code, make trivial modifications, and now such cannot be sent upstream or used under the original license.

I happily call out a surprisingly under-appreciated case of this…

We only have KVM virtualization on x86 today because Citrix meticulously developed an x86 instruction emulator (many thousand lines of dense code).

The Linux kernel took that BSD code and relicensed it as GPL. Sure, at some point one might argue that later modifications by the Linux developers are significant contribution that makes are unique… If I observe a good change Linux made, it is perhaps now questionable that as a 3rd party I create a PR to push the same change upstream… This is an accidentally evil side of GPL that isn’t talked about.

But at least in the early days, it also means one cannot freely use Linux’s copy but can do so from Xen —- even though it is the exact same code!!

Licensing also invites a trap where careless developers relicense GPL as BSD, and then a conscientious party unknowingly uses the BSD implementation in a closed source product.

The only saving grace is most code is horrible for reuse purposes and it is often easier to either reimplement it (from scratch) or use a well known BSD-licensed gem.

Re:French Court Issues Damages Award for Violation of GPL by sillystuff on Monday March 04, 2024 @11:55AM (#39592632)
> We only have KVM virtualization on x86 today because Citrix meticulously developed an x86 instruction emulator (many thousand lines of dense code).

> ...Linux’s copy but can do so from Xen —- even though it is the exact same code!!

Do you have any references for this? I went looking, but couldn't find anything to support your assertions. Neither code re-use/re-licensing nor origin at Citrix.

Origin at Citrix appears especially dubious, as KVM was present in linux kernel version 2.6.20, released almost a year before Citrix acquired Xensource. Also, Xen was originally developed at Cambridge University.

The only thing I thought both projects shared was their use of Fabrice Bellard's GPLv2 licensed qemu (some parts of qemu are under other licenses, but the main project is GPLv2).

Re:French Court Issues Damages Award for Violation of GPL by brlewis on Monday March 04, 2024 @11:27AM (#39592228)
>It is also bizarre that someone could take BSD code, make trivial modifications, and now such cannot be sent upstream or used under the original license.

No it is not bizarre. That is precisely how the BSD license is intended to work. If you want to ensure that changes fall under the original license, then you want GPL.

Re:French Court Issues Damages Award for Violation of GPL by persnickety on Monday March 04, 2024 @10:41AM (#39591728)
I don't think you can change the license of existing code at all, unless you're the copyright holder. Best you can do is release someone's code as part of a work under another license. Anyway,

> It is also bizarre that someone could take BSD code, make trivial modifications, and now such cannot be sent upstream or used under the original license.

That's the case for anyone taking BSD sources and turning it into a closed product, isn't it? Even if you get the BSD-licensed sources, the trivial modification will not be upstreamable.

That's kind of the entire point of permissive licenses, as opposed to copyleft, isn't it?