Hi,
the CDDL (the license Sun used to open source stuff) dictates a release of the source code. Is it somewhere where I haven't looked or is it still MIA?
Best Regards
Roddi
Moderators: jhartley, MSR734, nola
si-ghan-bi wrote:The license does not specify how long it should take to release it. They could make it available as soon as a new version comes out
satadru wrote:FYI, There's already been some discussion of the code drop here:
https://groups.google.com/forum/?fromgroups=#!topic/zfs-macos/WJ3JFIIchfQ
Am 20.09.12 17:43, schrieb Daniel Bethe:
>
>> I had a look - it's similar to the ex-Apple 10a286 bits. Specifically, it's essentially the same as the Sun code drop with various tweaks as listed in the porting guide (e.g. #ifdef around component names, the fact that OSX uses funcs instead of struct access for its fields and so forth). Naturally none of the OSX specific stuff is there. So whilst a useful reference point, I wouldn't say it's going to be a game changer.
I made a complete review of the provided code, comparing it file-by-file with the corresponding onnv_147 code. I did not analyzed every change in-depth, but I did skimmed over *every* change they left in the files. My impression is, they followed the *words* of the license, but they went far on trying hard not to follow the *spirit* of the license.
With two exceptions, where I honestly (but may be false) believe they
forgot to remove a larger code blob, only minor changes are left:
- a lot if "#ifndef _DARWIN_" to comment out stuff they don't support
- a lot of two to three lines "#ifdef _DARWIN_ ... #else ... #endif" to
rename structure members or replace direct member access with
calling macros or functions.
- what made me angry is, that on several places you find either
"#ifdef ... #else ... #endif" blocks were the Darwin branch is just
one function call to a function *not* included in the code, or you
find places where they just placed a macro in the middle of some
code, again without providing the macro definition. (A particular
bold case is in zfs_znode.h, where *all* OSX related changes are
hidden by using a macro "__DARWIN_ZNODE_FIELDS", of course without
providing a definition!)
- the most critical and difficult part in porting ZFS to Mac OSX is the
integration with OSX's VFS, because it is significantly different
from the Solaris VFS layer. But the relevant files zfs_vfsops.{c,h}
and zfs_vnops.c are essentially clean (all important things hidden in
zfsx_... functions not part of the source drop) and as such useless.
My conclusion (and IANAL): Yes, they followed the license, but they did an almost perfect job on making sure we can not use their code. To me, the only use of the code is, to serve as an example on how
clean one can get a port to Mac OSX.
-------------------------------------------------------------------
| Z F S
|
| Copyright (c) 2005, 2010, Oracle and/or its affiliates.
| Portions, Copyright (c) 2012 GreenBytes, Inc.
| Portions, Copyright (c) 2011 Delphix
| Portions Copyright (c) 2011 Nexenta Systems, Inc.
-------------------------------------------------------------------
zevo build 2012.09.23
Users browsing this forum: ilovezfs and 0 guests