Not logged in
Log in now
Create an account
Subscribe to LWN
LWN.net Weekly Edition for May 16, 2013
A look at the PyPy 2.0 release
PostgreSQL 9.3 beta: Federated databases and more
LWN.net Weekly Edition for May 9, 2013
(Nearly) full tickless operation in 3.10
Posted Apr 21, 2009 2:00 UTC (Tue) by mjg59 (subscriber, #23239)
Posted Apr 21, 2009 3:26 UTC (Tue) by shieldsd (subscriber, #20198)
Posted Apr 21, 2009 3:33 UTC (Tue) by mjg59 (subscriber, #23239)
Posted Apr 21, 2009 8:07 UTC (Tue) by nix (subscriber, #2304)
Posted Apr 21, 2009 14:00 UTC (Tue) by jordanb (guest, #45668)
Posted Apr 21, 2009 13:31 UTC (Tue) by jengelh (subscriber, #33263)
Posted Apr 21, 2009 21:19 UTC (Tue) by csamuel (✭ supporter ✭, #2624)
Posted Apr 21, 2009 21:22 UTC (Tue) by csamuel (✭ supporter ✭, #2624)
..especially the dead ones.. :-(
Posted Apr 23, 2009 3:02 UTC (Thu) by jamesh (guest, #1159)
Posted Apr 23, 2009 8:39 UTC (Thu) by paulj (subscriber, #341)
I don't know the answer, but the implied answer assumed all the time by Linux kernel folk seems to take it as given that the courts would be surprisingly unpragmatic.
Posted Apr 30, 2009 9:08 UTC (Thu) by forthy (guest, #1525)
It is only necessary to find those copyright owners who explicitely
said they were only supporting GPLv2. The "GPLv2 only" tag in the COPYING
file from Linus is only telling you that "the whole work is GPLv2 only by
least common denominator". AFAIK, all GPLv2-only proponents are vocal and
easy to track down. Large parts of the kernel are GPLv2 or later, and so
can be changed to GPLv3 without asking the copyright holders of those
parts (e.g. the ALSA team).
Of course it is a lot easier to switch to GPLv3 or later if you were
GPLv2 or later before. Been there, done that. Simply changing the COPYING
file is sufficient.
Posted Apr 30, 2009 10:40 UTC (Thu) by mjg59 (subscriber, #23239)
It'll be the other way
Posted Apr 21, 2009 7:38 UTC (Tue) by khim (subscriber, #9252)
You can not incorporate bits from GPLv3 Solaris in Linux. You
CAN incorporate bits of Linux in GPLv3: if you'll actually bother to check
you'll find out that surprisingly high number of files in Linux is licensed
"under GPLv2 or later". Some core files are licensed under "GPLv2 only",
but these are not really suitable for Solaris: architecture is too
different, so this switch is logical - I don't know why Sun decided against
Posted Apr 21, 2009 8:45 UTC (Tue) by job (guest, #670)
Posted Apr 21, 2009 11:34 UTC (Tue) by pboddie (subscriber, #50784)
Posted Apr 21, 2009 14:01 UTC (Tue) by mjg59 (subscriber, #23239)
The rest of the code is under pure GPLv2, and in many cases that includes infrastructure code that's relied upon by some of the "or later" drivers. You'd need to implement chunks of Linux's driver API while demonstrating that you hadn't copied any code from Linux, so that would immediately require a clean room reengineering effort. The alternative would be to port every one of the drivers you're interested in, and if you're making the argument that there's a sufficiently large body of drivers for Solaris to benefit from a license change then that would also be a lot of work.
So no, I don't see Solaris gaining any significant benefit by changing the license to GPLv3. It'd just end up looking like a petty "We're happy to take your code, but you don't get any of ours" move.
Posted Apr 23, 2009 11:23 UTC (Thu) by jzbiciak (✭ supporter ✭, #5246)
The reason BIOSes and such needed cleanroom reimplementations was due to the fact they were covered by copyright *and* trade secret laws. You need independent reinvention to prove you didn't steal trade secrets, and to argue against copyright infringement in cases where the resulting code ended up being the same.
But, since you have the GPL code right there, you can ensure your reimplementation isn't the same as the original except for the most trivial subsets of code. And you don't have to worry about trade secrets. There are none in publicly available code by definition.
Posted Apr 23, 2009 13:35 UTC (Thu) by BenHutchings (subscriber, #37955)
Posted Apr 23, 2009 14:50 UTC (Thu) by jzbiciak (✭ supporter ✭, #5246)
Copyright applies to the expression of an idea, not the idea itself. If I reimplement an idea, it doesn't matter if I have access to someone else's expression of an idea. For example, if I see one movie about an asteroid hitting the Earth, that doesn't stop me from making my own movie about an asteroid hitting the Earth. Copyright doesn't protect the idea.
The same applies to the ideas embodied in source code. That means the algorithms, the APIs, etc. I can use the source code as a definitive reference to how it works.
But, there may be specific ideas embedded in that code. For example, there may be some whizzy algorithms that allow it to operate efficiently, or cute optimizations that make for a compact implementation. Or, there may be behavioral quirks that are exposed in the API that are artifacts of the implementation. How something implemented is a secret if you choose to keep it a secret. (This is why AT&T header files in SVR4 say that the code is unpublished proprietary source that is property of AT&T. See also Data General vs. Digital Controls Corporation.)
The Phoenix BIOS vs. IBM BIOS clean room reimplementation was trying to avoid copyright infringement claims in addition to trade secret claims. For such a small piece of performance critical code, it's likely that the implementations will look very similar with only superficial differences. IBM could plausibly claim the code was copied and modified lightly rather than reimplemented unless Phoenix could point to an airtight process that prevents that. We're talking 8K bytes of object code here, so the odds of this happening are high.
For something much larger and higher level than x86 assembly code, there is much more room for unique expression of the ideas embodied in the code. As long as it isn't directly plagiarized (ie. copied with only trivial changes), I don't see how any court could argue that a reimplementation (distinct re-expression of the ideas) would be a copyright violation.
So, I'll go back to my original point: You don't need a clean room to reimplement GPL code. You just need to reimplement it. You won't hit trade secret issues, nor will you hit copyright issues if you re-express the ideas in the original code in your own way.
Posted Apr 24, 2009 1:08 UTC (Fri) by mjg59 (subscriber, #23239)
Posted Apr 21, 2009 15:05 UTC (Tue) by southey (subscriber, #9466)
Posted Apr 21, 2009 16:16 UTC (Tue) by salimma (subscriber, #34460)
This is FUD - plain and simple
Posted Apr 21, 2009 20:25 UTC (Tue) by khim (subscriber, #9252)
Take a look on OpenSSL. There are some files under 2-3 compatible
licenses. No problems whatsoever - except bloat: now every file must carry
few headers. The same with GPLv3: you can not remove original permission
header with "GPLv2 or later", but you can safely attach new header before
or after that'll say "all changes can only be distributed under GPLv3 or
The effective result is GPLv3: to use GPLv2 you need to split the hair
and remove "GPLv3 or later" code from the file. If introduced change is not
trivial (and for trivial change there are no need to touch header at all -
old "GPLv2 or later" copy is still around somewhere, right?) it's very
Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds