|
Lxrun - why wasn't it released under the GPL? |
|
Wednesday, August 16 2006 @ 11:31 AM EDT
|
The other day, I wrote about ELF again, the most recent in our continuing series of articles on ELF, and the article mentioned lxrun, the Linux emulator Michael Davidson wrote for SCO. The main questions I had in my mind about lxrun were these:
1. Did lxrun use Linux ELF?
2. What license was lxrun released under?
The reason I wanted definite answers to those two questions is because if, as SCO claims, ELF header files are copyrightable, and if lxrun uses the Linux ELF header files, why wouldn't lxrun have to be licensed under the GPL? After a lot of digging, I believe I have found the answers to those questions.
When SCO first raised the ELF claims, the Linux community hooted, because header files are normally not considered part of the kernel and because they are essentially necessary, like 1, 2, 3 is necessary to count to ten and there is no other good way to get there (cf. Groklaw's July 22, 2004 article A Tall Tale About ELF,".) So no one here believed that ELF was subject to copyright, and in fact we burst out laughing. The rules for copyright on software, as you probably know, aren't exactly the same as for a novel. And in general terms, if there is only one way to do an essential step in computing, copyright won't apply.
So when I read the following on the lxrun page, I started to wonder: Lxrun is a user-space program that allows users of SCO(r) OpenServer(tm), UnixWare(tm), and Sun(r) Solaris(tm) x86 operating systems to run ELF and a.out format Linux binaries. It was originally written by Mike Davidson of SCO. It is now maintained under the Mozilla license as an open-development effort . I did some digging, and it turns out that originally, Davidson released it under a BSD-style license. SCO's intention was to open source it and not have to support it or be legally liable in any way. Here's a photo demonstrating that intent to open source lxrun:
When Davidson lost interest in the project, he turned the source over to Steve Ginzburg, who was a SCO intern at the time, and Steve added some things and ended up using the Mozilla license. Sun Microsystems also added some things and shipped lxrun for Solaris as well. Eventually, it ended up being put into Caldera's Skunkware, as you can see from this screenshot I took some years ago off of the then available page http://www.caldera.com/skunkware/emulators/:
Why, though, wasn't the GPL the license used?
I took a look at the lxrun FAQ and found more material that added to my puzzlement: Q0.2: How does lxrun work?
A: Quite well, actually. :-)
Seriously, it works by remapping system calls on the fly. As it turns out, there's not much difference between Linux and iBCS2 binaries. The main difference is the way in which system calls are handled. In Linux, an "int $0x80" instruction is used, which jumps to the system-call-handling portion of the Linux kernel. On other systems, "int $0x80" usually causes a SIGSEGV signal. Lxrun intercepts these signals and calls the native equivalent of the system call that the Linux program attempted. The result is that the Linux binary can be run (with the help of lxrun) with a small (usually negligible) performance penalty. All this is accomplished without modifying the kernel or the Linux binary.
Q0.2.1: What does "negligible performance penalty" mean?
A: Well, lxrun is not really an emulator, in that it's not really doing any emulation work. You can think of it more as a layer that sits between the Linux binary and the rest of the system doing a few translations here and there where it's necessary. When are these translations necessary? When the Linux binary attempts a system call. The rest of the time, lxrun is dormant and does not affect the performance of your application at all.
System calls are used for I/O, displaying things on the screen, accessing the network, etc. System calls are not used during computation. This means that computation-intensive applications (such as compilers, image processors, etc.) will show the least difference in performance....
Q0.7: Who wrote lxrun?
A: It was originally written by Michael Davidson, an engineer at SCO.
In 1997, Michael released the lxrun source code to Steven Ginzburg who is continuing its development as an open source project under the Mozilla public license. Contributors to lxrun have included hobbyists and engineers from all over the world. In addition, the Santa Cruz Operation (SCO) and Sun Microsystems have both contributed engineering time and other resources to the project....
Q1.0: What does lxrun need in order to work?
A: To run most Linux programs, lxrun requires the help of the Linux dynamic loader (ld-linux.so.*) and whatever Linux shared libraries are required by the program.
Effectively, you need to set up a "Linux environment" that looks enough like a real Linux system to fool the program you are trying to run. For more information, see the section below on Linux environments.
So, lxrun does not include any Linux kernel code per se but it does include copies of selected fragments of certain Linux kernel header files such as errno.h, signal.h etc which define the precise binary data structures and binary values that are used by the Linux system call interface. Yes, those are on the list of files SCO claims it has copyrights to and it claims are not allowed to be used in Linux. But here in the first photo, you can see that lxrun, which includes those very files, was open sourced, and by SCO itself. How can SCO, newSCO, not know that?
At the time lxrun was written, no one at SCO thought about elements that are necessary to define system call interfaces, and which by then were at least in part described in public standards, as being protectable under copyright, obviously, so they felt free to use Linux ELF and then put a BSD-like license on the lxrun project. If those header files were really copyrightable, lxrun would, I believe, have to be GPL'd. At a minimum, the headers would have to be. At the moment, I think SCO stands alone in making the claim that ELF can be copyrighted, but the point I'm making is this: there is a serious disjoint in this picture. If ELF can, in fact, be copyrighted, then the Linux ELF files are copyrighted and then licensed under the GPL, so SCO would have violated the GPL when it released lxrun under a BSD license instead. You can still get lxrun, of course, as a free download.
Now SCO might tell me that those ELF headers were theirs to begin with. Groklaw has amply answered that claim. And recall that Sun also released lxrun. HP has its own Linux affinity project.1 So any copyright infringement claims over headers in lxrun seem dead in the water. But even if what SCO says were true, we now see that it itself released those very same ELF files under a BSD license with lxrun. They are still available from the man SCO handed the source code to, now under the Mozilla license. It was oldSCO's intent to open source lxrun, which includes the Linux ELF header files, or parts thereof. So, no matter how we slice and dice it, SCO has painted itself into yet another tight corner. Their ELF claim is not only doomed, from all I can see, but SCO appears to be vulnerable to a claim of copyright infringement with respect to lxrun, if SCO's copyright theories regarding ELF ever were to stand.
Ironic, no? SCO just can't win for losing. So, the answers I came up with to my two questions are, yes, Linux ELF is in lxrun, and it was released first under a BSD-like license and then under the Mozilla license. It wasn't released under the GPL because a) header files aren't part of the Linux kernel, b) SCO didn't think header files were copyrightable, and c) I think they were absolutely right about that.
1 Google cache provides this paper, "Linux Affinity", which tells a bit about lxrun, and IBM's, Sun's and HP's approaches to Linux emulation:
The three vendors have taken similar approaches to Linux affinity. HP-UX provides libhplx, which is a library that contains about 200 Linux-compatible APIs, related file headers, and their sources. This library is a set of APIs not available with HP-UX, taken from GNU 2.1.3, and is available under the GNU Public License (GPL). At LinuxWorld Expo in February, HP announced that they will be shipping the open source Ximian GNOME Desktop as their default desktop for HP-UX workstations. HP also announced they will be using GNOME as the open standard to provide a common desktop for both their HP-UX and HP Linux workstations. Similarly, Sun has announced that it will be using a GNOME-based desktop for Solaris. Gnome provides Solaris with programming libraries, and access to Sun's Star Office desktop office suite. The intent is that the user will not be able to tell if he's running RedHat Linux or Solaris under the hood (ZDNet). As the result of collaboration between Sun and the open source lxrun project, the lxrun utility allows Linux binaries to run without modification on Solaris Operating Environment on Intel platforms. lxrun is a software layer that sits between Solaris and the Linux Intel binary executable and remaps system calls "on the fly" allowing them to run unmodified on Solaris (http://www.sun.com). lxrun appears to provide a robust environment, supporting such diverse applications as WordPerfect, GNOME, GIMP, and Quake III. If you visit HP's site, you will find libhplx for download, and this page tells us a bit about what is in there [Note update below, for working links as of 2010]: Description:
libhplx contains almost 200 Linux-compatible APIs in libhplx.sl, the related header files, and the library sources. These Linux-compatible APIs were derived from the GNU libc 2.2.4, and are not currently available on HP-UX, and can be used in concert with the existing HP-UX libraries and the HP-UX development tools.
It's released under the GPLv2. More
details here. My question for HP is, when SCO made its public claim to copyright over ELF and all the other claims, exactly when were you going to stand up and tell the world that SCO was wrong on the tech? I think it's time to make manifest where HP stands. HP sponsored SCOforum, and it's time to begin to notice, I think, how HP is presenting itself on the SCO issue. Ditto for Sun. When SCO claimed ownership of ELF, why didn't Sun speak up too and inform us that it too released lxrun and that ELF was in there? Here's
where you can find info on lxrun from Sun's website. For example, here's their technical paper on lxrun. Folks may say, it's just business. But FOSS business isn't done the way proprietary business is done, not if you wish to make money. The community believes in ethical behavior, and it will notice who does and who does not honor FOSS ethics. Just so you know.
Update: The HP page I linked to has changed. You can still find the information, however, on Internet Archive. Here's how it looked in February of 2002. And here's the same page exactly one year later. And here's the last link for that page, in December 2005. For the licensing information regarding the LGPL, you can still find it here.
|
|
Authored by: hardmath on Wednesday, August 16 2006 @ 11:37 AM EDT |
Please indicate error in subject line, so duplication can be avoided and give
any additional detail in the msg body.
regards, hm
---
Please be honest with us as trust is our watchword in this transaction. (a
Senior Credit Officer, sharing vast sums of money owed to a deceased client)[ Reply to This | # ]
|
|
Authored by: hardmath on Wednesday, August 16 2006 @ 11:38 AM EDT |
If you gottem, makem clicky:
<a href="http://www.example.com/">Like this</a>
by posting in Post Mode = HTML.
regards, hm
---
Please be honest with us as trust is our watchword in this transaction. (a
Senior Credit Officer, sharing vast sums of money owed to a deceased client)[ Reply to This | # ]
|
- more on Lieberman's web site - Authored by: maco on Wednesday, August 16 2006 @ 03:07 PM EDT
- pre-Linux: Intel Binary Compatibility Specification - Authored by: IMANAL on Wednesday, August 16 2006 @ 04:10 PM EDT
- NASDAQ UP 1..6% - Authored by: Anonymous on Wednesday, August 16 2006 @ 04:50 PM EDT
- Bloggers - Authored by: Ted Powell on Wednesday, August 16 2006 @ 04:52 PM EDT
- Bloggers - Authored by: ine on Wednesday, August 16 2006 @ 07:24 PM EDT
- Bloggers - Authored by: Alan(UK) on Thursday, August 17 2006 @ 06:58 AM EDT
- Mark 5:9 (n/t) - Authored by: Anonymous on Thursday, August 17 2006 @ 07:31 AM EDT
- Help the non Lawyers understand - Why RIAA activities isn't racketeering - Authored by: Anonymous on Wednesday, August 16 2006 @ 05:40 PM EDT
- This stuff is geat - Authored by: Anonymous on Wednesday, August 16 2006 @ 05:54 PM EDT
- FCC probes 'fake news' at U.S. TV stations - Authored by: Jude on Wednesday, August 16 2006 @ 08:45 PM EDT
- FireFox & E.T. - Authored by: Avier on Thursday, August 17 2006 @ 05:53 AM EDT
- P2p users for a political party - Authored by: Fredric on Thursday, August 17 2006 @ 06:51 AM EDT
- 2003 Japan visit by Darl McBride - Authored by: Arthur Marsh on Thursday, August 17 2006 @ 07:37 AM EDT
- Eclipse Licensing and MyEclipse - Authored by: Anonymous on Thursday, August 17 2006 @ 08:47 AM EDT
|
Authored by: rsteinmetz70112 on Wednesday, August 16 2006 @ 11:55 AM EDT |
It seems to me that allowing Sun and HP to use lxrun is entirely consistent with
SCOG position. HP and Sun are Unix Licensees and have paid for the ability to
use Unix.
If lxrun, the headers and libraries are part of Unix then the Sun and HP already
have licenses.
The part about the BSD/Mozilla license is more problematic. It seems SCO had no
intention of limiting access even if they did have a copyright on this tool
(which they probably did on at least part of it).
The time line on this is interesting. lxrun was written in 1997, well before
Caldera acquired the Unix portion of SCO in 2001 and well after SCO bought USL
from Novell in 1995.
---
Rsteinmetz - IANAL therefore my opinions are illegal.
"I could be wrong now, but I don't think so."
Randy Newman - The Title Theme from Monk
[ Reply to This | # ]
|
|
Authored by: Anonymous on Wednesday, August 16 2006 @ 12:07 PM EDT |
Ok, Big Linux - it's time to call off the dogs. Let's quit pushing around small
innovators like SCO that are just out there struggling to make a buck.
Just remember, corporate might does NOT make right.
Maybe we should take PJ's favorite linux distro and put IT under the microscope
and analyze the licensing of every single included package? Would you like that?
Didn't think so.
[ Reply to This | # ]
|
- Why wouldn't those of use in the Linux community like that? - Authored by: Anonymous on Wednesday, August 16 2006 @ 12:14 PM EDT
- In a loose paraphrase - Authored by: dkpatrick on Wednesday, August 16 2006 @ 12:20 PM EDT
- Lay on, I will help you look n/t - Authored by: jog on Wednesday, August 16 2006 @ 12:24 PM EDT
- Time to call it off - Authored by: Anonymous on Wednesday, August 16 2006 @ 12:28 PM EDT
- Time to call it off - Authored by: James McGuigan on Wednesday, August 16 2006 @ 12:38 PM EDT
- Hi Darl - Authored by: LocoYokel on Wednesday, August 16 2006 @ 12:38 PM EDT
- Time to call it off - Authored by: Anonymous on Wednesday, August 16 2006 @ 12:41 PM EDT
- Time to call it off - Authored by: Anonymous on Wednesday, August 16 2006 @ 12:42 PM EDT
- Just trying to make a buck? - Authored by: rjh on Wednesday, August 16 2006 @ 12:45 PM EDT
- corporate might does NOT make right - Authored by: Anonymous on Wednesday, August 16 2006 @ 12:45 PM EDT
- Time to call it off - Authored by: Anonymous on Wednesday, August 16 2006 @ 12:48 PM EDT
- Go ahead. Do it. - Authored by: Anonymous on Wednesday, August 16 2006 @ 01:01 PM EDT
- Go ahead. Do it. - Authored by: Anonymous on Wednesday, August 16 2006 @ 01:21 PM EDT
- Time to call it off - Authored by: Anonymous on Wednesday, August 16 2006 @ 01:11 PM EDT
- Time to call it off - Nevah! - Authored by: PJ on Wednesday, August 16 2006 @ 01:11 PM EDT
- We're just getting started! Next: Piercing the corporate veil - Authored by: dwheeler on Wednesday, August 16 2006 @ 01:19 PM EDT
- Time to call it off - Authored by: Anonymous on Wednesday, August 16 2006 @ 01:24 PM EDT
- Time to call it off - Authored by: pallmall on Wednesday, August 16 2006 @ 01:47 PM EDT
- Time to call it off - Authored by: Anonymous on Wednesday, August 16 2006 @ 02:52 PM EDT
- Are you kidding? This is fun! - Authored by: Anonymous on Wednesday, August 16 2006 @ 03:36 PM EDT
- Small Innovators... say what!?? - Authored by: ansak on Wednesday, August 16 2006 @ 04:29 PM EDT
- SCO: Just struggling... - Authored by: Anonymous on Wednesday, August 16 2006 @ 04:51 PM EDT
- "...take PJ's favorite linux distro and put IT under the microscope..." - Authored by: tiger99 on Wednesday, August 16 2006 @ 06:34 PM EDT
- Time to call it off - Authored by: IRJustman on Wednesday, August 16 2006 @ 08:18 PM EDT
- Time to call it off - Authored by: Observer on Wednesday, August 16 2006 @ 11:40 PM EDT
- Time to call it off - Authored by: Anonymous on Thursday, August 17 2006 @ 03:50 AM EDT
- Darryl is trying to make a buck like Bill Gates did ... - Authored by: clark_kent on Thursday, August 17 2006 @ 09:34 AM EDT
- Hehehe - Authored by: Anonymous on Thursday, August 17 2006 @ 10:17 AM EDT
- Time to call it off? - Authored by: davcefai on Thursday, August 17 2006 @ 02:36 PM EDT
|
Authored by: Chris Lingard on Wednesday, August 16 2006 @ 12:39 PM EDT |
Just downloaded the latest source package, to see what the licence says.
It showns that it is freely available to anyone who wants to use
it:
MOZILLA PUBLIC LICENSE
Version 1.0
----------------
1. Definitions.
1.1.
``Contributor'' means each entity that creates or contributes to
the
creation of Modifications.
1.2. ``Contributor Version'' means the
combination of the Original
Code, prior Modifications used by a
Contributor, and the Modifications
made by that particular
Contributor.
1.3. ``Covered Code'' means the Original Code or
Modifications or the
combination of the Original Code and Modifications, in
each case
including portions thereof.
1.4. ``Electronic
Distribution Mechanism'' means a mechanism generally
accepted in the
software development community for the electronic
transfer of
data.
1.5. ``Executable'' means Covered Code in any form other
than Source
Code.
1.6. ``Initial Developer'' means the
individual or entity identified as
the Initial Developer in the Source Code
notice required by Exhibit A.
1.7. ``Larger Work'' means a work
which combines Covered Code or
portions thereof with code not governed by
the terms of this License.
1.8. ``License'' means this
document.
1.9. ``Modifications'' means any addition to or deletion
from the
substance or structure of either the Original Code or any
previous
Modifications. When Covered Code is released as a series of files,
a
Modification is:
A. Any addition to or
deletion from the contents of a file
containing Original Code or
previous Modifications.
B. Any new file that contains any
part of the Original Code or
previous
Modifications.
1.10. ``Original Code'' means Source
Code of computer software code
which is described in the Source Code notice
required by Exhibit A as
Original Code, and which, at the time of its
release under this License
is not already Covered Code governed by this
License.
1.11. ``Source Code'' means the preferred form of the
Covered Code for
making modifications to it, including all modules it
contains, plus any
associated interface definition files, scripts used to
control
compilation and installation of an Executable, or a list of source
code
differential comparisons against either the Original Code or another
well known, available Covered Code of the Contributor's choice. The
Source Code can be in a compressed or archival form, provided the
appropriate decompression or de-archiving software is widely available
for
no charge.
1.12. ``You'' means an individual or a legal entity
exercising rights
under, and complying with all of the terms of, this
License or a future
version of this License issued under Section 6.1. For
legal entities,
``You'' includes any entity which controls, is controlled
by, or is
under common control with You. For purposes of this definition,
``control'' means (a) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise,
or (b) ownership of fifty percent (50%) or more of the
outstanding shares
or beneficial ownership of such entity.
2. Source Code
License.
2.1. The Initial Developer Grant.
The Initial Developer hereby grants You a world-wide, royalty-free,
non-exclusive license, subject to third party intellectual property
claims:
(a) to use, reproduce, modify, display,
perform, sublicense and
distribute the Original Code (or portions
thereof) with or without
Modifications, or as part of a Larger Work;
and
(b) under patents now or hereafter owned or controlled by
Initial
Developer, to make, have made, use and sell (``Utilize'') the
Original Code (or portions thereof), but solely to the extent that
any such patent is reasonably necessary to enable You to Utilize
the Original Code (or portions thereof) and not to any greater
extent
that may be necessary to Utilize further Modifications or
combinations.
2.2. Contributor Grant.
Each Contributor hereby grants You a world-wide, royalty-free,
non-exclusive license, subject to third party intellectual property
claims:
(a) to use, reproduce, modify, display,
perform, sublicense and
distribute the Modifications created by such
Contributor (or
portions thereof) either on an unmodified basis, with
other
Modifications, as Covered Code or as part of a Larger Work;
and
(b) under patents now or hereafter owned or controlled
by
Contributor, to Utilize the Contributor Version (or portions
thereof), but solely to the extent that any such patent is
reasonably necessary to enable You to Utilize the Contributor
Version
(or portions thereof), and not to any greater extent that
may be
necessary to Utilize further Modifications or
combinations.
3. Distribution
Obligations.
3.1. Application of License.
The
Modifications which You create or to which You contribute are
governed by
the terms of this License, including without limitation
Section 2.2. The
Source Code version of Covered Code may be distributed
only under the terms
of this License or a future version of this
License released under Section
6.1, and You must include a copy of this
License with every copy of the
Source Code You distribute. You may not
offer or impose any terms on any
Source Code version that alters or
restricts the applicable version of this
License or the recipients'
rights hereunder. However, You may include an
additional document
offering the additional rights described in Section
3.5.
3.2. Availability of Source Code.
Any Modification which
You create or to which You contribute must be
made available in Source Code
form under the terms of this License
either on the same media as an
Executable version or via an accepted
Electronic Distribution Mechanism to
anyone to whom you made an
Executable version available; and if made
available via Electronic
Distribution Mechanism, must remain available for
at least twelve (12)
months after the date it initially became available,
or at least six
(6) months after a subsequent version of that particular
Modification
has been made available to such recipients. You are
responsible for
ensuring that the Source Code version remains available
even if the
Electronic Distribution Mechanism is maintained by a third
party.
3.3. Description of Modifications.
You must cause all
Covered Code to which you contribute to contain a
file documenting the
changes You made to create that Covered Code and
the date of any change.
You must include a prominent statement that the
Modification is derived,
directly or indirectly, from Original Code
provided by the Initial
Developer and including the name of the Initial
Developer in (a) the Source
Code, and (b) in any notice in an
Executable version or related
documentation in which You describe the
origin or ownership of the Covered
Code.
3.4. Intellectual Property Matters
(a) Third Party Claims.
If You have knowledge that a party claims
an intellectual property
right in particular functionality or code (or
its utilization
under this License), you must include a text file with
the source
code distribution titled ``LEGAL'' which describes the
claim and
the party making the claim in sufficient detail that a
recipient
will know whom to contact. If you obtain such knowledge
after You
make Your Modification available as described in Section
3.2, You
shall promptly modify the LEGAL file in all copies You make
available thereafter and shall take other steps (such as notifying
appropriate mailing lists or newsgroups) reasonably calculated to
inform those who received the Covered Code that new knowledge has
been
obtained.
(b) Contributor APIs.
If Your
Modification is an application programming interface and
You own or
control patents which are reasonably necessary to
implement that API,
you must also include this information in the
LEGAL
file.
3.5. Required Notices
.
You
must duplicate the notice in Exhibit A in each file of the Source
Code, and
this License in any documentation for the Source Code, where
You describe
recipients' rights relating to Covered Code. If You
created one or more
Modification(s), You may add your name as a
Contributor to the notice
described in Exhibit A. If it is not possible
to put such notice in a
particular Source Code file due to its
structure, then you must include
such notice in a location (such as a
relevant directory file) where a user
would be likely to look for such
a notice. You may choose to offer, and to
charge a fee for, warranty,
support, indemnity or liability obligations to
one or more recipients
of Covered Code. However, You may do so only on Your
own behalf, and
not on behalf of the Initial Developer or any Contributor.
You must
make it absolutely clear than any such warranty, support,
indemnity or
liability obligation is offered by You alone, and You hereby
agree to
indemnify the Initial Developer and every Contributor for any
liability
incurred by the Initial Developer or such Contributor as a result
of
warranty, support, indemnity or liability terms You offer.
3.6. Distribution of Executable Versions.
You may distribute
Covered Code in Executable form only if the
requirements of Section 3.1-3.5
have been met for that Covered Code,
and if You include a notice stating
that the Source Code version of the
Covered Code is available under the
terms of this License, including a
description of how and where You have
fulfilled the obligations of
Section 3.2. The notice must be conspicuously
included in any notice in
an Executable version, related documentation or
collateral in which You
describe recipients' rights relating to the Covered
Code. You may
distribute the Executable version of Covered Code under a
license of
Your choice, which may contain terms different from this
License,
provided that You are in compliance with the terms of this License
and
that the license for the Executable version does not attempt to limit
or alter the recipient's rights in the Source Code version from the
rights set forth in this License. If You distribute the Executable
version
under a different license You must make it absolutely clear
that any terms
which differ from this License are offered by You alone,
not by the Initial
Developer or any Contributor. You hereby agree to
indemnify the Initial
Developer and every Contributor for any liability
incurred by the Initial
Developer or such Contributor as a result of
any such terms You
offer.
3.7. Larger Works.
You may create a Larger
Work by combining Covered Code with other code
not governed by the terms of
this License and distribute the Larger
Work as a single product. In such a
case, You must make sure the
requirements of this License are fulfilled for
the Covered Code.
4. Inability to Comply Due to Statute
or Regulation.
If it is impossible for You to comply with
any of the terms of this
License with respect to some or all of the Covered
Code due to statute
or regulation then You must: (a) comply with the terms
of this License
to the maximum extent possible; and (b) describe the
limitations and
the code they affect. Such description must be included in
the LEGAL
file described in Section 3.4 and must be included with all
distributions of the Source Code. Except to the extent prohibited by
statute or regulation, such description must be sufficiently detailed
for a
recipient of ordinary skill to be able to understand it.
5.
Application of this License.
This License applies to code
to which the Initial Developer has
attached the notice in Exhibit A, and to
related Covered Code.
6. Versions of the
License.
6.1. New Versions.
Netscape Communications
Corporation (``Netscape'') may publish revised
and/or new versions of the
License from time to time. Each version will
be given a distinguishing
version number.
6.2. Effect of New Versions.
Once Covered Code
has been published under a particular version of the
License, You may
always continue to use it under the terms of that
version. You may also
choose to use such Covered Code under the terms
of any subsequent version
of the License published by Netscape. No one
other than Netscape has the
right to modify the terms applicable to
Covered Code created under this
License.
6.3. Derivative Works.
If you create or use a modified
version of this License (which you may
only do in order to apply it to code
which is not already Covered Code
governed by this License), you must (a)
rename Your license so that the
phrases ``Mozilla'', ``MOZILLAPL'',
``MOZPL'', ``Netscape'', ``NPL'' or
any confusingly similar phrase do not
appear anywhere in your license
and (b) otherwise make it clear that your
version of the license
contains terms which differ from the Mozilla Public
License and
Netscape Public License. (Filling in the name of the Initial
Developer,
Original Code or Contributor in the notice described in Exhibit
A shall
not of themselves be deemed to be modifications of this
License.)
7. DISCLAIMER OF WARRANTY.
COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN ``AS IS'' BASIS,
WITHOUT
WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
WITHOUT
LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF
DEFECTS,
MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING.
THE ENTIRE
RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE
IS WITH YOU.
SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT,
YOU (NOT THE
INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE
COST OF ANY
NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER
OF WARRANTY
CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
ANY COVERED CODE
IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
8.
TERMINATION.
This License and the rights granted
hereunder will terminate
automatically if You fail to comply with terms
herein and fail to cure
such breach within 30 days of becoming aware of the
breach. All
sublicenses to the Covered Code which are properly granted
shall
survive any termination of this License. Provisions which, by their
nature, must remain in effect beyond the termination of this License
shall survive.
9. LIMITATION OF LIABILITY.
UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
(INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE INITIAL
DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE,
OR
ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO YOU OR ANY OTHER
PERSON
FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
OF ANY
CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF
GOODWILL, WORK
STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND
ALL OTHER COMMERCIAL
DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE
BEEN INFORMED OF THE
POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
LIABILITY SHALL NOT APPLY
TO LIABILITY FOR DEATH OR PERSONAL INJURY
RESULTING FROM SUCH PARTY'S
NEGLIGENCE TO THE EXTENT APPLICABLE LAW
PROHIBITS SUCH LIMITATION. SOME
JURISDICTIONS DO NOT ALLOW THE
EXCLUSION OR LIMITATION OF INCIDENTAL OR
CONSEQUENTIAL DAMAGES, SO THAT
EXCLUSION AND LIMITATION MAY NOT APPLY TO
YOU.
10. U.S. GOVERNMENT END USERS.
The Covered Code is a ``commercial item,'' as that term is defined in
48
C.F.R. 2.101 (Oct. 1995), consisting of ``commercial computer
software''
and ``commercial computer software documentation,'' as such
terms are used
in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48
C.F.R. 12.212 and 48
C.F.R. 227.7202-1 through 227.7202-4 (June 1995),
all U.S. Government End
Users acquire Covered Code with only those
rights set forth
herein.
11. MISCELLANEOUS.
This
License represents the complete agreement concerning subject
matter hereof.
If any provision of this License is held to be
unenforceable, such
provision shall be reformed only to the extent
necessary to make it
enforceable. This License shall be governed by
California law provisions
(except to the extent applicable law, if any,
provides otherwise),
excluding its conflict-of-law provisions. With
respect to disputes in which
at least one party is a citizen of, or an
entity chartered or registered to
do business in, the United States of
America: (a) unless otherwise agreed
in writing, all disputes relating
to this License (excepting any dispute
relating to intellectual
property rights) shall be subject to final and
binding arbitration,
with the losing party paying all costs of arbitration;
(b) any
arbitration relating to this Agreement shall be held in Santa
Clara
County, California, under the auspices of JAMS/EndDispute; and (c)
any
litigation relating to this Agreement shall be subject to the
jurisdiction of the Federal Courts of the Northern District of
California,
with venue lying in Santa Clara County, California, with
the losing party
responsible for costs, including without limitation,
court costs and
reasonable attorneys fees and expenses. The application
of the United
Nations Convention on Contracts for the International
Sale of Goods is
expressly excluded. Any law or regulation which
provides that the language
of a contract shall be construed against the
drafter shall not apply to
this License.
12. RESPONSIBILITY FOR
CLAIMS.
Except in cases where another Contributor has
failed to comply with
Section 3.4, You are responsible for damages arising,
directly or
indirectly, out of Your utilization of rights under this
License, based
on the number of copies of Covered Code you made available,
the
revenues you received from utilizing such rights, and other relevant
factors. You agree to work with affected parties to distribute
responsibility on an equitable basis.
EXHIBIT
A.
``The contents of this file are subject to the Mozilla
Public License
Version 1.0 (the "License"); you may not use this file
except in
compliance with the License. You may obtain a copy of the License
at
http://www.mozilla.org/MPL/
.
Software distributed under
the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY
KIND, either express or implied. See the
License for the specific language
governing rights and limitations
under the License.
.
The
Original Code is lxrun, the Linux x86 Binary Emulator.
.
The
Initial Developer of the Original Code is Michael Davidson.
Portions
created by Michael Davidson are Copyright (C) by Michael
Davidson. All
Rights Reserved.
.
Contributor(s):
______________________________________.''
[ Reply to This | # ]
|
|
Authored by: dyfet on Wednesday, August 16 2006 @ 12:44 PM EDT |
Their ELF claim is not only doomed, from all I can see, but SCO appears to be
vulnerable to a claim of copyright infringement with respect to lxrun, if SCO's
copyright theories regarding ELF ever were to stand.
This is both true
and probably irrelevant in the case of SCO. They strike me as more interested
in "poisoning the well" on behalf of a third party anyway, so if they somehow
succeeded, even the fact that they poisoned their own well in the process would
probably not matter to them. After all, this normally would never happen
because a litigant actually does intend to be in business after and so would not
shoot their own business from under themselves in the process. I still think
the pipe fairy remains the real key to SCO legal efforts, and this exercise
offers further evidence of that theory.
[ Reply to This | # ]
|
|
Authored by: Anonymous on Wednesday, August 16 2006 @ 01:31 PM EDT |
... Linus and the Kernel Group's clarification / disclaimer which is right at
the start of the License file (the standard 'COPYING' file) which accompanies
the source tree for the Linux kernel.
For those without a copy, this is
the clarification from the 2.6.17 source:
NOTE! This
copyright does *not* cover user programs that use kernel services by normal
system calls - this is merely considered normal use of the kernel, and does
*not* fall under the heading of "derived work". Also note that the GPL below is
copyrighted by the Free Software Foundation, but the instance of code that it
refers to (the Linux kernel) is copyrighted by me and others who actually wrote
it. ...
lxrun is a user program. The
extent to which lxrun "uses kernel services by normal system calls" is
by no means clear, although I'd wager a determined lawyer could get the
aforementioned errno-related usage through on that one. I don't think
the situation is as clear a breach as is being implied. [ Reply to This | # ]
|
|
Authored by: Anonymous on Wednesday, August 16 2006 @ 01:48 PM EDT |
This link "http://www.caldera.com/skunkware/emulators" still works. Link
An InvestorVillager[ Reply to This | # ]
|
|
Authored by: brendthess on Wednesday, August 16 2006 @ 02:00 PM EDT |
After all, what would have been required for Sun/HP to identify *with
specificity*, and announce, that they are using the same interfaces that are
part of SCO's suit against IBM in some of their own Open Source
code?
- Someone notices that the interfaces are in question in the
lawsuit
Normally, this would be a reader of Groklaw, since scanning most
other news sources for accurate details in the SCO/IBM case is an exercise in
frustration - Someone realizes that the interfaces are in use in Open
Source applications distributed by their company
I don't know about
other developers in large companies, but *I* don't know all of the bits that are
in the code here, and the company that I work for is not that large yet. You
would be talking about a senior SW engineer at this point, or someone who has
worked with the code in the past year (probably). - Someone with
authority to make a press release decides to do so
This is probably the
biggest disconnect in the sequence. Normally, Software techs cannot make press
releases in the name of their company. This would mean that the person who
notices would have to convince someone with greater authority (but probably less
technical knowledge or interest in the SCO case) that releasing this information
is appropriate - Legal approves the press release
After all,
this is about one of the bigger Software lawsuits around (at least as far as we
know - after all, isn't that what SCO has been claiming all along?) Getting
Legal's imprimatur for the press release announcing that you are distributing
something that SCO claims is the basis of their suit against IBM is (IMHANAL
opinion) not very likely.
So, even if someone thought about doing
that, the likelihood that their company would let them do so is about... what?
The likelihood of someone winning a 5 of 6 lottery pick? In any case, given
that we are talking 2 chances (Sun, HP) to hit those odds.... my assessment is
that Extremely Unlikely covers the situation.--- I am not even vaguely
trained as a lawyer. Why are you listening to me? [ Reply to This | # ]
|
|
Authored by: DaveAtFraud on Wednesday, August 16 2006 @ 02:01 PM EDT |
lxrun is an example of what is generally called a "thunk". That is, a
layer of software that simply maps calls in one vernacular to another. As an
example, 32-bit Windows support for old, 16-bit programs uses a similar layer to
map 16-bit calls in the old applications to the new 32 bit implementation.
Note that wine means Wine Is Not and Emulator so wine should also be considered
a thunk. The problem with using a thunk instead of a true emulator is the
mapped system calls may not behave the same is some subtle (or not so subtle)
way as the original. The benefit is that the effort required to just map the
system calls is usually much less than writing a true emulator.
I just like to see the right word used.
Cheers,
Dave
---
Quietly implementing RFC 1925 wherever I go.[ Reply to This | # ]
|
- Thunk - Authored by: Anonymous on Wednesday, August 16 2006 @ 02:25 PM EDT
- Please, no thunks here.... - Authored by: tiger99 on Wednesday, August 16 2006 @ 07:14 PM EDT
- Thunk - Authored by: Anonymous on Thursday, August 17 2006 @ 01:55 AM EDT
- Thunk - Authored by: LosD on Thursday, August 17 2006 @ 02:42 AM EDT
|
Authored by: Anonymous on Wednesday, August 16 2006 @ 02:31 PM EDT |
I saw a post about it the other week. Link [ Reply to This | # ]
|
|
Authored by: Anonymous on Wednesday, August 16 2006 @ 04:36 PM EDT |
It wasn't released under the GPL because a) header files aren't part of the
Linux kernel,. . .
Then what's all the fuss about binary-only modules?
They only use the kernel header files. [ Reply to This | # ]
|
|
Authored by: IMANAL on Wednesday, August 16 2006 @ 04:55 PM EDT |
As reported on a Hungarian 'Linux list' ('http://www.cab.u-szeged.hu/linux/lista/www/1997/szeptember-37.het/0103.html'
):
"Czako Krisztian (slapic@orion.fido.hu)
Tue, 9
Sep 1997 15:32:28 +0200 (CEST)
* Messages sorted by: [ date ][ thread ][
subject ][ author ]
* Next message: Ingo Molnar: "[offtopic] Re: SURGOS!
ldso problema"
* Previous message: Gergely Madarasz: "Re: SURGOS! ldso
problema"
http://www.sco.com/skunkware/emulators/index.html
Im
e :
Last Updated: Monday Sep 08, 1997 at 17:20:57 PDT
Welcome
to the SCO Skunkware emulators. This category contains software which emulates
other operating platforms, thus allowing the end-user to run binary applications
intended for that platform. For instance, one of the packages contained herein
allows users of SCO OpenServer or SCO UnixWare systems to run binary
applications intended for use on Linux systems.
Package
List
Name Description Version OSR5 UnixWare
lxrun Linux Emulator
0.8.6 Yes
Yes
-------------------------------------------------------------------
-----
Lxrun - Linux Emulator
Lxrun is a Linux emulator for SCO
OpenServer and SCO UnixWare platforms which understands Intel Linux a.out and
ELF format binaries. To run most Linux programs, lxrun requires the help of the
Linux dynamic loader (ld.so) and whatever Linux shared libraries are required by
the program.
[OpenServer Distribution]
osr5/emulators/lxrun/
[Original source code]
ftp://ftp.sco.com/skunkware/src/emulators/lxrun-0.8.6.tar.gz
"
That is some time earlier than the official lxrun site which is "proudly serving the open-source community since October 1,
1997"
So, Lxrun was out in the wild before Ginzburg took over
maintenance! Wonder what licence it had back
then?
--- --------------------------
IM Absolutely Not A Lawyer [ Reply to This | # ]
|
- Lxrun 0.8.6, available since Sep 08 1997 - Authored by: Anonymous on Wednesday, August 16 2006 @ 10:46 PM EDT
- BSD? - Authored by: Anonymous on Thursday, August 17 2006 @ 03:42 AM EDT
- BSD? - Authored by: Anonymous on Thursday, August 17 2006 @ 12:37 PM EDT
- Ok, but.. - Authored by: Anonymous on Thursday, August 17 2006 @ 04:41 PM EDT
|
Authored by: tanstaafl on Wednesday, August 16 2006 @ 06:33 PM EDT |
... that SCO keeps stepping all over its case is that management there does
_/not/_ listen to its coders. PJ pointed out that Ron Record is still there,
and has been there since 1983; that makes him just like me - older than dirt -
and us old coots have a hard time getting hired, unless we're terminally famous
(INfamous only works in show biz and terrorism). The point is that I think the
folks they have coding now are there because, for whatever reasons, they _have_
to be, management _knows_ this, and therefore feels no obligation to listen to
them. After all, they're only wage slaves, not shiny management
'super-stars.'
[ Reply to This | # ]
|
|
Authored by: seraph_jeffery on Wednesday, August 16 2006 @ 11:57 PM EDT |
"If you tell the truth, you don't have to remember anything."
~ Mark Twain
[ Reply to This | # ]
|
|
Authored by: Maot on Thursday, August 17 2006 @ 05:28 AM EDT |
I'm sorry I may misunderstand, or perhaps be being pedantic but AFAIK header
files most certainally are copyrightable. I think any code anyone writes should
be copyrightable under whatever license suits the author. I don't however think
that interfaces should be copyrightable, however there isn't a one to one
mapping between an interface and a header file.
For an extreme example there is nothing from stopping me from putting all of my
code in a header file - the whole project if I wanted.
More sensibly however it's often common to have pieces of logic and code in
header files in order to have them inline. Less a priority these days with
modern compilers and linkers which can inline across object boundaries. Also
templates used to pretty much have to sit in the header files.
In a clean code base for a library, or of course and operating system there are
often at least two different types of header files. Internal header files which
are effectivley private to the project internals itself and then interface
header files. The internal header files most certainally should be
copyrightable (or copyleftable ideally).
The interface header files are indeed the ones we are discussing here, hence why
you may think me pedantic. These files describe how this one body of code can
communicate with any other outside body of code be it running on the same
machine or even running on a different machine with a different architecture on
the other side of the world. I'm not sure if those header files should be
copyrightable, I'm leaning towards thinking that they should. However the
interface that they describe itself is what shouldn't be copyrightable. To
allow such things would IMHO stifle innovation, choice and competition by
providing a route for vendor lock in.
Unfortunatley though it seems that currently even these interfaces are
copyrightable as demonstrated by Microsoft's seeming ability even when forced to
document these interfaces by the EU to maintain rights over those interfaces and
documentation such that it appears incompatible to be used by people wanting to
use the GPL.
[ Reply to This | # ]
|
|
Authored by: IANAL on Thursday, August 17 2006 @ 07:35 AM EDT |
So, no matter how we slice and dice it, SCO has painted itself into
yet another tight corner.
Surrounded by so many tight corners
just what shape has SCO found itself in.
--- But your Honour they are
trying to hold us to our own statements. It's not fair! [Stamps foot and pouts] [ Reply to This | # ]
|
|
Authored by: Anonymous on Thursday, August 17 2006 @ 07:40 AM EDT |
Goto docsrv.sco.com.
On the bottom of the page there is a text:
Technical Publications
Attn: Customer Feedback Team
The Santa Cruz Operation, Inc.
PO Box 1900
Santa Cruz, California 95061-9969
USA
The didn't event bother to update the text after the purchase the sco
bussiness.
Anyway...
The link "http://docsrv.sco.com/SDK_cprog/CONTENTS.html", shows
information about C programming
here: http://docsrv.sco.com/SDK_cprog/CTOC-ObjFls.html
there is publicly availbe information about elf structure without any
restriction.
There is a copyright page, but no mention of usage restriction.
Btw there is a copyright page wich mention:
"UNIX are registered trademarks and the X Device is a trademark of The Open
Group in the United States and other countries"
[ Reply to This | # ]
|
|
Authored by: markpmc on Thursday, August 17 2006 @ 08:58 AM EDT |
Damn. I was just looking into an HP box since I wanted an AMD CPU. Oh well.
From my point of view.
I'm less disturbed by HP trying to sell intel hardward to SCO users. Makes
sense, it's business. Still bothers me.
Now Sun flat out bothers me alot. These are the guys who routinely point out
thier contributions to Open Source.
Mark[ Reply to This | # ]
|
|
Authored by: Anonymous on Friday, August 18 2006 @ 12:42 AM EDT |
I'm a little surprised that nobody has pointed this out, yet. Perhaps I
shouldn't be, since HP-UX has relatively little mind-share. HP's Linux
porting kit, of which libhplx is a part, does not have anything to do with
running Linux binaries.
It is an API compitibility layer, not an
ABI
compatibility layer. HP-UX doesn't even run on x86 architecture
hosts.
So, ABI compatibility wouldn't even be worth much. I don't know for
certain, but I doubt that it uses Linux ELF headers.
All libhplx provides
is an HP-UX-native port of some glibc APIs that
would not otherwise be present
on HP-UX. HP openly acknowledges
that this is a derived work of glibc. Not
the Linux kernel.
This is a tool to allow re-compilation/re-building
of user-space GNU/
Linux apps under HP-UX. If there's anything in glibc that
depends on
the Linux ABI, libhplx would probably have to contain an alternate
version that uses the HP-UX ABI. It's also ELF-based, now, but it's not
the
same.
You can see here, up near the
top that HP says Note:
The Linux Porting Kit will help port
Linux user space applications to HP-
UX; however, it will not at this time,
support Linux kernel applications
such as drivers, privileged applications, or
Linux architecture-dependent
applications.
The list
of APIs provided is here.
If you want to, you can
also see their Porting
Guide. Note how it says you have
to rebuild the application.
I'm not an advocate of HP in any way. There
are plenty of reasons to be
annoyed with HP. It would be better to pick one
with a factual basis. [ Reply to This | # ]
|
|
Authored by: Anonymous on Friday, August 18 2006 @ 06:21 AM EDT |
If you are the copyright owner ...
You are even free to allow others to distribute your work however they like.
Just that some software was released under GPL doesnt say that it cannot be
distributed in other ways. And if SCO *is* [1] the the copyright holder of the
files in question they have every right to redistribute it in any way they
like.
[1] which is the point this case all about
Christian [ Reply to This | # ]
|
|
Authored by: Anonymous on Friday, August 18 2006 @ 11:11 AM EDT |
Description: libhplx contains almost 200 Linux-compatible APIs in libhplx.sl,
the related header files, and the library sources.
It's under the
GPL because it includes library code. Not because it includes header files.
My question for HP is, when SCO made its public claim to copyright over
ELF, exactly when were you going to stand up and tell the world that you
released libhplx with its Linux ELF files under the GPL?
It's "Linux ELF
files"? Libhplx doesn't contain ANYTHING related to ELF. It mostly
contains some GNU-specific parts of glibc (the standard C library) so that Linux
programs written to that specific C library can run on HP-Unix. (There's a
complete list of which exact library calls right here.)
This
has little to do with Linux in particular (most of it is compatibility with GNU
library extensions, not Linux ones). Secondly it has nothing to do with ELF.
This has nothing in common with lxrun.
Lxrun is a program for
running binary (i.e. already compiled) Linux programs on SCO machines.
(Which *does* involve parsing ELF files, since that's what the program binary
is) Binary compatibility.
Liblxhp is a library used when
compiling source code that was created to use certain GNU/Linux
libraries. Source compatibility.
My question for PJ is: When you made your
public claims about HP distributing Linux's ELF code, had you actually bothered
to check first if they were actually doing so?
Seems to me that you've decided
that HP is pro-SCO and now you're just looking for ways to criticize them, even
if it means using arguments as thin as SCO's.
Besides which, the request
that HP would jump up and say something even if they had been distributing
Linux's ELF code is in itself ridiculous.
Should the whole software industry
jump up and down in public to discredit and dismiss every bogus legal theory
that SCO puts forward? This whole case dropped off the radar years ago. And
people weren't taking those claims seriously before that, either.
[ Reply to This | # ]
|
|
|
|
|