4 ms·
OpenBSD doesn't want any GPL code, so they couldn't just port the Linux kernel module. The OpenBSD kernel module is also written in C: http://cvsweb.openbsd.or
by skrause 6y ago
OpenBSD doesn't want any GPL code, so they couldn't just port the Linux kernel module.
The OpenBSD kernel module is also written in C: http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/net/if_wg.c?rev=1.3&content-type=text/x-cvsweb-markup http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/net/if_wg.c...
But the code looks quite different from https://git.zx2c4.com/wireguard-linux/tree/drivers/net/wireguard?h=stable https://git.zx2c4.com/wireguard-linux/tree/drivers/net/wireg...
- zx2c4 6y agoThis has nothing to do with licensing. OpenBSD is a different kernel, so different code. Having written the Linux code, I relicensed any similarities between the two to make it amenable to OpenBSD, and remove any doubt about status.
- aljarry 6y agoIs it possible to create kernel modules for both OpenBSD and Linux with common code that's licensed appropriately? Something like a library with two kernel API glue layers, one for Linux GPLed and one for OpenBSD.
- aargh_aargh 6y agoMy impression about the goal of Wireguard (mind you, I haven't looked at the code) is that it's to be as simple as possible, reusing as much of the primitives the OS offers without reinventing the wheel. That goal may be antithetical to a single codebase supporting multiple (possibly very dissimilar) operating systems. It's interesting to compare this approach to the approach taken by OpenSSH (and its openssh-portable variant). One has code specific to each OS, the other one has one canonical codebase for one OS + patches addressing compatibility with other OSes. IMHO mostly due to the difference in complexity of each project.
- IcePic 6y agoMight be a good idea to not use the phrase "kernel module" since it means something very specific (code you insmod on linux, kldload on fbsd and so on) which isn't supported on OpenBSD since 2014.
- VWWHFSfQ 6y agoThis has nothing to do with the GPLv2 licensing of the code in the Linux kernel.