You are trying to decide for those "few" people that they are better off without working drivers. Maybe some people do like having working graphic cards or working sound. It takes a quite fundamental approach to ignore practical use over idealism present in a license text.
Not that this discussion matter much... FreeBSD has a linux compatibility layer, which mean they can often run said GPL drivers through its port system. Its only with the base system that useful drivers get thrown out with the bath water in favor of license purity.
No, it doesn't work like that. You can't make driver X in the kernel GPL without making the whole kernel code GPL.
> You are trying to decide for those "few" people that they are better off without working drivers. Maybe some people do like having working graphic cards or working sound.
Aside from the fact that sound works better in FreeBSD compared to Linux (because of OSS4) and that graphics is at least on par with Linux (or better; the proprietary FreeBSD driver continues to work without recompiling the kernel shim every time the kernel is updated), you are completely missing the point. Some guy who complains on the Internet that FreeBSD doesn't work on his laptop is of no value to FreeBSD. Valuable users are those who contribute code, those who run large installations, and those who use the code to build their products. These always take priority and every decision happens with them in mind, not random dudes on the Internet. You're complaining about sound and graphics? I'm having a hard time believing this is a serious discussion, why not complain about the lack of sound and graphics on a PIC32 microcontroller.
> FreeBSD has a linux compatibility layer, which mean they can often run said GPL drivers through its port system.
No, this is impossible. Linuxemu is a compatibility layer for Linux user-mode binaries. It emulates the Linux system call interface. It cannot be used with Linux drivers. As mentioned above, the driver model is very different between different operating systems.
That is factually wrong. You are perfectly fine in keeping the rest of the kernel under BSD. GPL only prevents added restrictions from being added to the GPL code itself, or the combined work. If users downstream remove said code, then it would not be a combined work anymore.
See: http://stackoverflow.com/questions/4854519/gpl-component-in-...
Or this almost 2 year old answer on HN: https://news.ycombinator.com/item?id=4359524
> Linuxemu is a compatibility layer for Linux user-mode binaries. It emulates the Linux system call interface. It cannot be used with Linux drivers.
Quoting Luigi Rizzo:
I decided to start working on an emulation layer that would let
us recompile the linux source code on FreeBSD, and provide a
sufficiently complete emulation of the kernel APIs so that
device drivers (or at least certain classes) could be used
without modifications to their source code.
-> http://info.iet.unipi.it/~luigi/freebsd/linux_bsd_kld.htmlThat answer is factually wrong.
Did you even bother reading the sources you cited or ever read the GPL? The first couple links side with the OP and the third doesn't address the OP's point.
> BSD doesn't need to "relicense" anything as the license to the existing code already permits combining with the GPL.
I don't see how it can be made any more clear. If you remove the GPL code, it no longer need to be under GPL. Did you bother to read the sources, and do you have any sources to support your clearly false claims?
The third link was about the linux emulation laying being used to including linux drivers into freebsd through the port system. You said it was impossible, yet they did it. The impossible happened, and is/was used for USB support particularly.
> GPL only prevents added restrictions from being added to the GPL code itself, or the combined work. If users downstream remove said code, then it would not be a combined work anymore.
Perhaps you should read your own work before replying.
> You said it was impossible, yet they did it.
O'rly? Where was that?
Perhaps you should read your own words before replying.
>> You said it was impossible, yet they did it.
> O'rly?
>>>> No, this is impossible. Linuxemu is a compatibility layer for Linux user-mode binaries. It emulates the Linux system call interface. It cannot be used with Linux drivers.
>>> emulation layer ... provide a sufficiently complete emulation of the kernel APIs so that device drivers could be used.
> Where was that?
Perhaps you should read your own words before replying.
>> Where was that? > https://news.ycombinator.com/item?id=6426384
No, someone else may have said it, I didn't. Please quit misattributing words to me.
As for linux compatibility, the provided link has nothing, nothing whatsoever with linuxemu, the Linux API compatibility layer provided by the FreeBSD base system. I won't bother anymore, as by reading his post history it's obvious he mixes BSD technology and terminology because he is completely unfamiliar with the concepts he speaks about.