(Edit: What I also came to think of is that GCC recently positioned itself in opposition to the FSF because of the "Stallman-Controversy". Is this a kind of retaliation on their part?)
(Edit: What I also came to think of is that GCC recently positioned itself in opposition to the FSF because of the "Stallman-Controversy". Is this a kind of retaliation on their part?)
Anyhow, we don't have to guess why they want it:
> Under US copyright law, which is the law under which most free software programs have historically been first published, there are very substantial procedural advantages to registration of copyright. And despite the broad right of distribution conveyed by the GPL, enforcement of copyright is generally not possible for distributors: only the copyright holder or someone having assignment of the copyright can enforce the license. If there are multiple authors of a copyrighted work, successful enforcement depends on having the cooperation of all authors.
> In order to make sure that all of our copyrights can meet the recordkeeping and other requirements of registration, and in order to be able to enforce the GPL most effectively, FSF requires that each author of code incorporated in FSF projects provide a copyright assignment, and, where appropriate, a disclaimer of any work-for-hire ownership claims by the programmer's employer. That way we can be sure that all the code in FSF projects is free code, whose freedom we can most effectively protect, and therefore on which other developers can completely rely.
They are published with a worldwide public licence; I'm not even sure how one can publish something such as that under any specific law.
One drafts a public licence, and different parts of it are enforceable to different degrees in different jurisdictions.
It is of course quite possible for the licence to be gnostic of the country of the acceptee, and apply differing provisions in different cases, but I would feel such would strongly go against F.S.F. philosophies.
So, how would I put a GPL license on code that I wrote for somebody else without their permission?
Seems pretty straightforward to me.
I thought we were discussing the "no copyright assignment" scenario.
> But if you do so and release it without notifying them
That's them not doing due diligence as far as I can tell. The employee would also be in breach of contract, possibly even committing a crime.
Employees can do all sort of illegal acts while in the employ of someone else... and when that happens you prosecute them (if it's egregious enough).
I suppose it may mean that an upstream project may be harmed quite badly if this goes on for long enough...
... but that's no different for any open source project. Or even closed source: Maybe an employee is working for two companies and 'reusing' code in an unauthorized way.
I don't think I was, and I think you were.
> I thought we were discussing the "no copyright assignment" scenario.
Yup, exactly. Not that it makes much of a difference: To release something under any license, even without assigning any copyright, you need to have the copyright. (Or similar rights granted by a license, but in the end those too have to stem from someone actually having the right to license the thing they're licensing -- i.e. copyright.)
> > But if you do so and release it without notifying them
> That's them not doing due diligence as far as I can tell.
Not if you wrote and released it after you were already employed, now is it?
> The employee would also be in breach of contract, possibly even committing a crime.
Yes, exactly. Are you saying that can never happen, or what? That's exactly what I was pointing out.
> Employees can do all sort of illegal acts while in the employ of someone else... and when that happens you prosecute them (if it's egregious enough).
Sure. But if you're a FOSS project that they've contributed code to, with or without copyright assignment, that doesn't help you. You've still got to rip it out.
Sigh... I must have been unclear in my GP comment. So I'll go back to your GGP and try another tack:
> > > When writing GPL'ed code for your employer your employer must obviously be (made) aware that that code is going to be licensed under the GPL. Therefore, as the copyright holder -- they have already given permission for that license to be used or they must do so.
But if you write code and release it under the GPL there's nothing to say that you necessarily are doing it "for your employer". People could well assume that since they wrote something on their own machine and their own time, it has nothing to do with their job -- and then be in for a nasty surprise when their employer has a different opinion on that. The employer may well have had no idea at the time that someone was writing and releasing code, so they have neither already given permission for it to be licensed thus, nor do they have to.
> Sure. But if you're a FOSS project that they've contributed code to, with or without copyright assignment, that doesn't help you. You've still got to rip it out.
That was kind of my point, at least. Anyone can fake a copyright assignment form if they really want to, so we're not better off asking for it?
Dunno fersure, but probably yes, after all: If you're the project and have a signed statement, at least that shows that you're not just blithely grabbing whatever you can but are actually doing your best (WTF else could you do?[1]) to ascertain that you are in the clear. If the statement the contributor signed is false, that's on them, not you.
___
[1]: What you could do is perhaps have the statement include an explicit bit about "I don't have an employment contract that assigns this copyright to any employer / I have permission from my employer to sign away this copyright on their behalf; see attachment 2B". Dunno if these assignment docs already have that. If not, perhaps they should.
Perhaps a nitpick, but this doesn't seem to take account of derivative works like forks. If Alice releases libalice under a permissive licence, Bob can develop a fork of libalice and release that fork under the GPL.
That’s the part I’m stuck on. How would I do that on code I do not own, because I wrote it for hire?
I’m guessing there a legal answer to this question somehow, it has to have come up at some point.
Well anyone can write a letter that says "I hereby grant you a license to use this code under these terms...", but if they don't hold the copyright on it then the letter is meaningless (or maybe fraudulent). So in court you would have to prove that that person's copyright is actually valid, and if the code was written by someone who was employed and their employer didn't sign a disclaimer of work-for-hire ownership claims, then that could be disputed.
If you want to enforce the copyright against other people, as the FSF did, then that's bad. If you just want to avoid getting sued yourself, then it's probably not really a problem, because the employer would have to positively prove that they held the copyright to be able to enforce it. That said, some projects that don't require copyright assignment do still require a disclaimer of work-for-hire claims in their CLA.
One noteworthy case is that Linus did not release the kernel as "GPL 2 or later" and as such it is still GPL 2, and incompatible with GPL 3 licensed code.
Of course (almost?) all GNU and FSF projects, like GCC, include the "or later" clause.
___
[1]: Hey, it's "the _singular_ 'they'", innit?
More like a necessity to keep the project alive. Half of the top contributors threatened to leave when FSF tried to coup the steering committee.
(Replied to you in another place as well) what is the source for “coup the steering committee”?
"Random acts of rms" aren't a new problem for the GCC developers, and resulted in the egcs split, have caused ongoing pain with people trying to improve the ability of GCC to integrate with IDEs, and of course there's the whole debacle where the Clang developers offered their work to the FSF but Stallman missed the email and found it a decade later...
However, several of the lead developers for C++ (at least) announced they were no longer going to be assigning their code ownership to the FSF in the wake of the recent FSF calls around rms, which has put the GCC project in the position where the have the choices to:
1. Hope the FSF change their mind and prioritise free software ahead of the Cult of Richard.
2. Commit to shipping a sub-par and increasingly irrelevant free software compiler.
3. Drop the CLA requirement.
In the absence of any change on the first point, the third option looks like the best way to ensure that there is still a high-quality, GPL complier available.
Stallman himself has confirmed that they did. Where does this "supposedly" come from?
And even if he had sent it to RMS, how would the failure be described as Lattner's choice to "not follow up with RMS"? How could it be accurately described as anything other than the opposite: RMS not following up with Lattner?
Another solution which other projects use is a requirement that it be licensed to that project, and that project alone as permissive, which has no greater risk than assigning copyright to that project, the project can now relicense the code as it sees fit, but one continue to owns once work and one is free to license it to others how one sees fit, including not at all.
There can be another split.
Lattner begins working on LLVM, a code generator. He and his advisor publish a paper "Architecture for a Next-Generation GCC" <https://llvm.org/pubs/2003-05-01-GCCSummit2003.html>. When he considers this work sufficiently mature, Lattner attempts to donate it to the FSF and get it into mainline GCC, but he gets rebuffed. Apple, who has taken an interest and is his employer by that point, really wants LLVM to be a thing, though, so two years later, they announce Clang and eventually turn out an entire compiler toolchain. It transforms from the original LLVM per se into what people mean when they say "LLVM" today: the work at llvm.org—which, again, all started from what was expected to be a replacement for GCC's code generator.