2 ms·
Isn't this (binary blob drivers) an obvious violation of the linux kernel's GPL license? I presume that there's a good reason why that isn't being enforced, bu
by traverseda 6y ago
Isn't this (binary blob drivers) an obvious violation of the linux kernel's GPL license?
I presume that there's a good reason why that isn't being enforced, but I would like to better understand why.
- bayindirh 6y agoThere are intentional loopholes left in the kernel to allow such drivers (Nvidia, fglrx, etc. are also closed source). There are some rules though: Kernel module is always open source and cannot use all the symbols. Also, using such driver marks the kernel tainted. There are some very valid reasons for not releasing open source drivers. NDA bound 3rd party code is one (Java had it, fglrx had it, HDCP stuff has it, Intel's old GPU drivers had it). Another reason is software based secret sauce. Again GPU drivers are the worst offenders in this class. Third reason is greed/being insecure. Lastly, some companies use this method to effectively deprecate their products, so they can sell newer units more. Embedded space is the biggest example of this. I also worked with such vendor in a very unrelated product category. It's unpleasant. I don't support any of these reasons, but I understand them from an economic sense. Some companies started to bake their magic into their hardware (Mellanox, AMD), so they can open their software completely. This is a much better path IMHO.
- AnthonyMouse 6y agoThe sad thing is that all of the "reasons" are really only enabled by a lack of competition. Customers want devices with in-kernel drivers. Not just curmudgeonly Richard Stallmans who care about the plight of the wild libre, but Joe Sixpack who just wants to be able to keep using the phone he likes instead of having to buy another one every other year. There is a market for that. Regular people would choose it on purpose. And it's not being satisfied because Qualcomm keeps buying up their competitors. Because they dominate the Android market and the incentives of an effective monopolist are different than the incentives of a competitive market. If you're one of five equally-sized chip makers, you don't care that the customer isn't going to buy a new phone for ten years instead of three, because with high probability they could buy from one of the other four next time anyway. And because you need a competitive advantage to get the sale today, and "don't have to buy a new phone after three years" is that. If you're Qualcomm, you get the sale even if you don't offer the advantage because there is no viable alternative, and then you get another sale in three years. Time to break them up. Or at least, and I mean come on, stop letting them buy their competitors.
- monocasa 6y agoFor the most part, yeah, the closed source kernel blobs are blatant GPL violations. I've heard a cute legal theory as to why Nvidia's GPU blobs are at least grey area, but most of the other blobs don't follow that model.
- phh 6y agoIn the Android smartphone world, most big OEMs abid by the GPL properly, with nothing closed source in kernel. But if you have bugs either in other processors' firmware, or in userspace binary libraries, kernel's GPL won't save you. One could say that userspace binary blobs are meant to circumvent the GPL, but I don't have that feeling: GLES libs are userland just like Mesa, modem is userland just like ofono It looks like userspace/kernelspace separation is pretty much the same between oss world and android smartphones' proprietary world