News for hackers. Stuff that matters.
Re:Show HN: ZFS Implementation in Python by mfsch on Saturday May 04, 2019 @05:50PM (#19829608)
Does someone know whether it would be legal for someone to go through the ZFS code and write a specification of the features this author hasn’t figured out yet? I.e. could someone write a detailed description of the missing functionality that doesn’t include any details about the implementation so other people can implement it in non-CDDL code?
Re:Show HN: ZFS Implementation in Python by ummonk on Saturday May 04, 2019 @07:32PM (#19830067)
Edit: yeah that is how you avoid copyright infringement https://en.wikipedia.org/wiki/Clean_room_design

Original comment: I could swear this was actually the standard practice for writing an implementation of an unknown file format or interface without infringing on copyright. But I don't remember the term for it.

Re:Show HN: ZFS Implementation in Python by atomicwrites on Saturday May 04, 2019 @07:38PM (#19830102)
That's called a clean room implementation and was the standard way to make x-compatible products (like for example, the bios on an IBM PC clone). Not sure what the current legal standing of that method is.

EDIT: Ninjad because I left the reply in a tab without posting.

Re:Show HN: ZFS Implementation in Python by zymhan on Sunday May 05, 2019 @10:21AM (#19832920)
Reverse engineering is legal in the US, but you had better have detailed records proving no one who knew the insides of the original product ever influenced the clone. And be prepared to explain that in court.
Re:Show HN: ZFS Implementation in Python by Someone on Sunday May 05, 2019 @04:42PM (#19834937)
The on-disk format is available (http://www.giis.co.in/Zfs_ondiskformat.pdf)

That PDF says ”Unless otherwise licensed, use of this software is authorized pursuant to the terms of the license found at: http://developers.sun.com/berkeley_license.html”*. That link is broken, but it seems that’s Berkeley license (whatever that means for a specification, and for which variant?)

According to http://open-zfs.org/wiki/Developer_resources, its outdated, but still useful.

I think I would use that, rather than spend months diffing disk images.