Re: [zfs-discuss] ZFS committed to the FreeBSD base.

From: Ivan Voras <ivoras_at_fer.hr>
Date: Tue, 10 Apr 2007 11:11:18 +0200
Wilko Bulte wrote:
> On Sat, Apr 07, 2007 at 12:54:57PM +0200, Jorn Argelo wrote..
>> Rich Teer wrote:
>>> This is fantastic news!  At the risk of raking over ye olde arguments,
>>> as the old saying goes: "Dual licensing?  We don't need no stinkeen
>>> dual licensing!".  :-)
>>>
>>>  
>> First of all, thanks a lot for all the hard work of both the FreeBSD 
>> developers as the ZFS developers. I can't wait to give it a go.
>>
>> That leads me to one question though: Why is *BSD able to bring it into 
>> the OS as where Linux has licensing problems with the CDDL? AFAIK Linux 
>> users can only run it in userland mode and not in kernel mode because of 
>> the licenses.
> 
> My guess(!) is that they do not want non-GPL-ed code in the standard kernel.

Sorry if I'm reiterating what someone maybe already explained, but I 
don't see it on the lists I read:

FreeBSD can include GPL'ed code due to a "technicality" (literally): As 
long as the code is in a separate kernel module and not in the default 
shipped GENERIC kernel, it's considered "bundled" and not a part of the 
kernel. As soon as the user loads a GPLed kernel module, presto-changeo! 
his kernel "automagically" becomes GPLed. I believe the same holds for 
CDDL. (I have no idea how to resolve the licensing issues of a kernel 
with both GPL and CDDL parts :) ). This is less inconvenient than it 
seems since kernel modules can be (pre)loaded at the same time the 
kernel loads, and so we can have a ZFS root partition, etc.

The problem with DTrace in FreeBSD is twofold:

1. It's much more intertwined with the kernel.
2. Much of its usability comes from it being available in the default 
shipped kernel - so that users can use it to troubleshoot problems "on 
the fly" without having to recompile and install a new kernel (involves 
rebooting).

AFAIK (not involved with its development), most of dtrace can reside in 
a kernel module but some parts need to be in the kernel proper to 
support this mode of operation, and *this* is where the licensing comes 
in. Just a few files (AFAIK: mostly header files!) need to be 
dual-licensed so they can be included in the default kernel build, and 
the rest can be in the CDDL licensed kernel module.



Received on Tue Apr 10 2007 - 07:11:41 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:08 UTC