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
