Licensing issue
TuxSH opened this issue · 3 comments
libtransistor claims to be ISC, yet:
https://github.com/reswitched/libtransistor/blob/master/include/libtransistor/fd.h#L5
"This comes straight from the linux kernel".
The Linux kernel is licensed under the GPLv2 license (only), therefore causing libtransistor and all the programs using it GPLv2 in effect.
As a solution, you could use parts of the FreeBSD kernel instead.
So, the part that comes from the linux kernel specifically is the struct file_operations
. I used it as a base.
And fwiw, there isn't a billion way to write this struct 🤷♂️ it's basically pointers to read/write/seek/etc... functions, taking a data pointer. Not too sure how we'd even write it in any other way (though I guess we should remove the commented out methods - most of those are linux-specific anyways and won't be implemented)
We could do something a little more like what I've been doing for inodes and directories: https://github.com/reswitched/libtransistor/blob/fs/include/libtransistor/fs/inode.h#L20
Which reminds me, I've been meaning to implement trn_fs_result_to_errno for a while...