Merge commit 'refs/top-bases/linux-zfs-branch' into linux-zfs-branch
This commit is contained in:
commit
0d8130a4fe
113
doc/LEGAL
113
doc/LEGAL
|
@ -1,113 +0,0 @@
|
|||
From: Chris Dunlap <cdunlap@llnl.gov>
|
||||
To: tak1@llnl.gov (James Tak)
|
||||
Cc: rogers11@llnl.gov (Leah Rogers), garlick@llnl.gov (Jim Garlick),
|
||||
mgary@llnl.gov (Mark Gary), kimcupps@llnl.gov (Kim Cupps)
|
||||
Date: Mon, 26 Mar 2007 15:37:07 -0700
|
||||
Subject: CDDL/GPL licensing issues for ZFS Linux port
|
||||
|
||||
James,
|
||||
|
||||
We want to port Sun's Zettabyte File System (ZFS) to Linux and
|
||||
ultimately redistribute the source code of our work. We've been
|
||||
talking with Leah about this and have a meeting scheduled with you
|
||||
for this coming Thursday at 2pm. I just wanted to give you a summary
|
||||
before the meeting of what we're proposing.
|
||||
|
||||
ZFS is part of OpenSolaris which is licensed under the Common
|
||||
Development and Distribution License (CDDL):
|
||||
|
||||
http://www.opensolaris.org/os/licensing/cddllicense.txt
|
||||
|
||||
The Linux kernel is licensed under the GNU General Public License (GPL)
|
||||
(specifically, under version 2 of the license only):
|
||||
|
||||
http://www.fsf.org/licensing/licenses/gpl.html
|
||||
|
||||
While these are both Open-Source licenses, the Free Software Foundation
|
||||
(FSF) states they are incompatible with one another:
|
||||
|
||||
http://www.fsf.org/licensing/licenses/index_html
|
||||
|
||||
"[CDDL] is a free software license which is not a strong copyleft;
|
||||
it has some complex restrictions that make it incompatible with the
|
||||
GNU GPL. It requires that all attribution notices be maintained,
|
||||
while the GPL only requires certain types of notices. Also, it
|
||||
terminates in retaliation for certain aggressive uses of patents.
|
||||
So, a module covered by the GPL and a module covered by the CDDL
|
||||
cannot legally be linked together."
|
||||
|
||||
As an aside, Sun is reportedly considering releasing OpenSolaris under
|
||||
GPL3 (i.e., the upcoming version 3 of the GNU General Public License):
|
||||
|
||||
http://blogs.sun.com/jonathan/entry/hp_and_sun_partnering_around
|
||||
|
||||
http://arstechnica.com/news.ars/post/20060130-6074.html
|
||||
|
||||
http://news.com.com/Sun+considers+GPL+3+license+for+Solaris/2100-1016_3-6032893.html
|
||||
|
||||
Since the GPL3 has not been finalized, it is unclear whether
|
||||
incompatibilities will exist between GPL2 and GPL3.
|
||||
|
||||
Linus Torvalds (the original creator of Linux) describes his views
|
||||
on the licensing of Linux kernel modules in the following email thread:
|
||||
|
||||
http://linuxmafia.com/faq/Kernel/proprietary-kernel-modules.html
|
||||
|
||||
Most of this thread is in regards to proprietary closed-source
|
||||
binary-only modules for Linux. Linus generally considers modules
|
||||
written for Linux using the kernel infrastructures to be derived
|
||||
works of Linux, even if they don't copy any existing Linux code.
|
||||
However, he specifically singles out drivers and filesystems ported
|
||||
from other operating systems as not being derived works:
|
||||
|
||||
"It would be rather preposterous to call the Andrew FileSystem a
|
||||
'derived work' of Linux, for example, so I think it's perfectly
|
||||
OK to have a AFS module, for example."
|
||||
|
||||
"The original binary-only modules were for things that were
|
||||
pre-existing works of code, i.e., drivers and filesystems ported
|
||||
from other operating systems, which thus could clearly be argued
|
||||
to not be derived works..."
|
||||
|
||||
Based on this, it seems our port of Sun's ZFS filesystem to Linux
|
||||
would not be considered a derived work of Linux, and therefore not
|
||||
covered by the GPL. The issue of the CDDL/GPL license incompatibility
|
||||
becomes moot. As such, we should be able to redistribute our changes
|
||||
to ZFS in source-code form licensed under the CDDL since this will
|
||||
be a derived work of the original ZFS code. There seems to be some
|
||||
dissent as to whether a binary module could be redistributed as well,
|
||||
but that issue does not concern us. In this instance, we are only
|
||||
interested in redistribution of our work in source-code form.
|
||||
|
||||
-Chris
|
||||
|
||||
To: Chris Dunlap <cdunlap@llnl.gov>
|
||||
From: James Tak <tak1@llnl.gov>
|
||||
Subject: Re: CDDL/GPL licensing issues for ZFS Linux port
|
||||
Cc: rogers11@llnl.gov (Leah Rogers), garlick@llnl.gov (Jim Garlick),
|
||||
mgary@llnl.gov (Mark Gary), kimcupps@llnl.gov (Kim Cupps)
|
||||
Date: Thu, 29 Mar 2007 14:53:01 -0700
|
||||
|
||||
Hi Chris,
|
||||
As per our discussion today, the ZFS port you are proposing releasing under
|
||||
the CDDL license should be o.k. since it is a derivative work of the
|
||||
original ZFS module (under CDDL) and is therefore also subject to CDDL
|
||||
under the distribution terms of that license. While the issue of linking
|
||||
has been greatly debated in the OS community, I think it is fair to say in
|
||||
this instance the ZFS port is not a derivative work of Linux and thus not
|
||||
subject to the GPL. Furthermore, it shouldn't be a problem especially
|
||||
since even Linus Torvald has expressed that modules such as yours are not
|
||||
derived works of Linux.
|
||||
|
||||
Let me know if you have any further questions at x27274. Thanks.
|
||||
|
||||
Regards,
|
||||
James
|
||||
|
||||
James S. Tak
|
||||
Assistant Laboratory Counsel for Intellectual Property
|
||||
Office of Laboratory Counsel
|
||||
Lawrence Livermore National Laboratory
|
||||
phone: (925) 422-7274
|
||||
fax: (925) 423-2231
|
||||
tak1@llnl.gov
|
|
@ -0,0 +1,84 @@
|
|||
'\" te
|
||||
.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.
|
||||
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
|
||||
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
|
||||
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
.TH zdb 1M "31 Oct 2005" "SunOS 5.11" "System Administration Commands"
|
||||
.SH NAME
|
||||
zdb \- ZFS debugger
|
||||
.SH SYNOPSIS
|
||||
.LP
|
||||
.nf
|
||||
\fBzdb\fR \fIpool\fR
|
||||
.fi
|
||||
|
||||
.SH DESCRIPTION
|
||||
.sp
|
||||
.LP
|
||||
The \fBzdb\fR command is used by support engineers to diagnose failures and gather statistics. Since the \fBZFS\fR file system is always consistent on disk and is self-repairing, \fBzdb\fR should only be run under the direction by a support engineer.
|
||||
.sp
|
||||
.LP
|
||||
If no arguments are specified, \fBzdb\fR, performs basic consistency checks on the pool and associated datasets, and report any problems detected.
|
||||
.sp
|
||||
.LP
|
||||
Any options supported by this command are internal to Sun and subject to change at any time.
|
||||
.SH EXIT STATUS
|
||||
.sp
|
||||
.LP
|
||||
The following exit values are returned:
|
||||
.sp
|
||||
.ne 2
|
||||
.mk
|
||||
.na
|
||||
\fB\fB0\fR\fR
|
||||
.ad
|
||||
.RS 5n
|
||||
.rt
|
||||
The pool is consistent.
|
||||
.RE
|
||||
|
||||
.sp
|
||||
.ne 2
|
||||
.mk
|
||||
.na
|
||||
\fB\fB1\fR\fR
|
||||
.ad
|
||||
.RS 5n
|
||||
.rt
|
||||
An error was detected.
|
||||
.RE
|
||||
|
||||
.sp
|
||||
.ne 2
|
||||
.mk
|
||||
.na
|
||||
\fB\fB2\fR\fR
|
||||
.ad
|
||||
.RS 5n
|
||||
.rt
|
||||
Invalid command line options were specified.
|
||||
.RE
|
||||
|
||||
.SH ATTRIBUTES
|
||||
.sp
|
||||
.LP
|
||||
See \fBattributes\fR(5) for descriptions of the following attributes:
|
||||
.sp
|
||||
|
||||
.sp
|
||||
.TS
|
||||
tab() box;
|
||||
cw(2.75i) |cw(2.75i)
|
||||
lw(2.75i) |lw(2.75i)
|
||||
.
|
||||
ATTRIBUTE TYPEATTRIBUTE VALUE
|
||||
_
|
||||
AvailabilitySUNWzfsu
|
||||
_
|
||||
Interface StabilityUnstable
|
||||
.TE
|
||||
|
||||
.SH SEE ALSO
|
||||
.sp
|
||||
.LP
|
||||
\fBzfs\fR(1M), \fBzpool\fR(1M), \fBattributes\fR(5)
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -9,6 +9,8 @@ trap die_int INT
|
|||
|
||||
RELEASE=$1
|
||||
PROG=update-zfs.sh
|
||||
REMOTE_DOC_FILE=man-sunosman-20090930.tar.bz2
|
||||
REMOTE_DOC=http://dlc.sun.com/osol/man/downloads/current/${REMOTE_DOC_FILE}
|
||||
REMOTE_SRC=http://dlc.sun.com/osol/on/downloads/${RELEASE}/on-src.tar.bz2
|
||||
|
||||
die() {
|
||||
|
@ -26,36 +28,51 @@ if [ `basename $DST` != "scripts" ]; then
|
|||
die "Must be run from scripts directory"
|
||||
fi
|
||||
|
||||
if [ ! "$RELEASE" ]; then
|
||||
die "Must specify ZFS release build"
|
||||
fi
|
||||
|
||||
SRC=`mktemp -d /tmp/os-${RELEASE}.XXXXXXXXXX`
|
||||
DST=`dirname $DST`
|
||||
|
||||
echo "----------------------------------------------------------------------"
|
||||
echo "----------------------------------------------------------------"
|
||||
echo "Remote Source: ${REMOTE_SRC}"
|
||||
echo "Remote Docs: ${REMOTE_DOC}"
|
||||
echo "Local Source: ${SRC}"
|
||||
echo "Local Dest: ${DST}"
|
||||
echo
|
||||
echo "------------- Fetching OpenSolaris ${RELEASE} archive ----------------"
|
||||
wget ${REMOTE_SRC} -P ${SRC} ||
|
||||
wget -q ${REMOTE_SRC} -P ${SRC} ||
|
||||
die "Error 'wget ${REMOTE_SRC}'"
|
||||
|
||||
echo "------------- Fetching OpenSolaris documentation ---------------"
|
||||
wget -q ${REMOTE_DOC} -P ${SRC} ||
|
||||
die "Error 'wget ${REMOTE_DOC}'"
|
||||
|
||||
echo "------------- Unpacking OpenSolaris ${RELEASE} archive ---------------"
|
||||
tar -xjf ${SRC}/on-src.tar.bz2 -C ${SRC} ||
|
||||
die "Error 'tar -xjf ${SRC}/on-src.tar.bz2 -C ${SRC}'"
|
||||
|
||||
echo "------------- Unpacking OpenSolaris documentation --------------"
|
||||
tar -xjf ${SRC}/${REMOTE_DOC_FILE} -C ${SRC} ||
|
||||
die "Error 'tar -xjf ${SRC}/${REMOTE_DOC_FILE} -C ${SRC}'"
|
||||
|
||||
SRC_LIB=${SRC}/usr/src/lib
|
||||
SRC_CMD=${SRC}/usr/src/cmd
|
||||
SRC_CM=${SRC}/usr/src/common
|
||||
SRC_UTS=${SRC}/usr/src/uts
|
||||
SRC_UCM=${SRC}/usr/src/uts/common
|
||||
SRC_ZLIB=${SRC}/usr/src/uts/common/fs/zfs
|
||||
SRC_MAN=${SRC}/man
|
||||
|
||||
DST_MOD=${DST}/module
|
||||
DST_LIB=${DST}/lib
|
||||
DST_CMD=${DST}/cmd
|
||||
DST_MAN=${DST}/man
|
||||
|
||||
umask 022
|
||||
rm -Rf ${DST}/zfs
|
||||
|
||||
echo
|
||||
echo "------------- Updating ZFS from OpenSolaris ${RELEASE} ---------------"
|
||||
echo "* module/avl"
|
||||
mkdir -p ${DST_MOD}/avl/include/sys/
|
||||
|
@ -150,6 +167,13 @@ echo "* cmd/ztest"
|
|||
mkdir -p ${DST_CMD}/ztest
|
||||
cp ${SRC_CMD}/ztest/*.c ${DST_CMD}/ztest/
|
||||
|
||||
echo "* man/"
|
||||
mkdir -p ${DST_MAN}/man8
|
||||
cp ${SRC_MAN}/man1m/zfs.1m ${DST_MAN}/man8/zfs.8
|
||||
cp ${SRC_MAN}/man1m/zpool.1m ${DST_MAN}/man8/zpool.8
|
||||
cp ${SRC_MAN}/man1m/zdb.1m ${DST_MAN}/man8/zdb.8
|
||||
chmod -R 644 ${DST_MAN}/man8/*
|
||||
|
||||
echo "${REMOTE_SRC}" >${DST}/ZFS.RELEASE
|
||||
|
||||
rm -Rf ${SRC}
|
||||
|
|
Loading…
Reference in New Issue