Hi Alexander,
* Alexander Senier <alex@...331...> [2016-12-18 13:02:15 +0100]:
One aspect came to mind that I don't see covered, thought. One some platforms, proprietary device drivers are mandatory even on Linux to get certain functionality working. Think of popular 3D graphics cards as an example. The much I'd like to see open source device drivers all over the place (as yourself, I belong to the pure-OSS users category), I'm pessimistic about that. Especially for complex 3D graphics we won't see major vendors release open source driver, let alone proper documentation.
Do not use this platform then. I know, easier said than done but you have to start somewhere and in the end it is actually that simple. Not buying hardware that requires proprietary device drivers is certainly a start and may point vendors into the “right” direction by showing that customers care about those things. (I fear this is the perfect topic to de-rail the thread so I am going to stop here ☺)
Still, it would be highly beneficial for any kind of user to have these proprietary binary-only drivers on Genode instead of other platforms. In contrast to Linux kernel modules, we can run them as unprivileged users space process, set up IO virtualization etc.
That would be beneficial indeed. However, before vendors care about other systems, there has to be an incentive. For example look at Sailfish OS — they have to wrap Android user space drivers to use them on there glibc based system because nowadays Android is the only system a certain group of vendors cares about. My best guess is that Android currently is the only relevant market to them. So what would be the incentive to provide proprietary drivers for Genode in the first place? For better or worse I do not see any and a Genode “end user” presumably does not care much about proprietary drivers anyway. At least that is what I assume given the fact the current Genode “end users”, according to my perception, value having a open/free/libre/whatever system.
Now a user of the Genode framework, as in someone who builds a system or rather a product with Genode, may care about having support for a certain piece of hardware where only a proprietary binary-only driver is provided by the vendor. But again, the vendor will not provide the driver for Genode out of the blue without a given incentive. In this case the user can pay the vendor to provide the driver (and also has to pay for future updates). If it is a proprietary product there is already a commercial Genode license involved and everything is fine. If it is a non-proprietary product, that obviously is a problem because the binary only driver may not be used (the most fitting example that comes to my mind is someone who wants to use the open-source version of Genode in an automotive context using NVidias Terga Drive platform and has to hire NVidia to port their binary-only driver to Genode).
That being said, in any case, I do not think that the license itself is a reason that prevents people from using Genode.
(How) can proprietary binary-only drivers be included in the open source version of Genode under the new license scheme?
No but that was also the case under the old license — switching to AGPLv3 does not change anything in that regard.
Given that, the only example I can come up with from my personal requirements would be GPU and to some extent GSM/LTE drivers (a well documented smartphone SoC for running Genode would be great). In the former case I would mostly need them to run proprietary binary-only software that is not available for Genode anyway and again I see no incentive for publishers to change that for now, even if the license would permit it. We probably will never have a native Netflix client on Genode either as long as it depends on proprietary binary-only DRM component. I can, however, use Chrome on Linux in a VM on Genode which works well enough. So for me do not having proprietary software is a non-issue and quite frankly I would rather not add another exception to the license prematurely because “it would be nice to have the chance of having XY on Genode”. In the past nobody cared about not having proprietary software on Genode but rather some people cared about being not able to use open source software because of the missing exceptions for other open source licenses.
I probably see the matter to strict but for me Genode as a project first and foremost follows the open-source or rather free software values which is made clear by the choice of the license and proprietary sofware (e.g. by using a commercial license) is only used to fund the development. Being open source benefits “any kind of user” of a Genode system in the long run.
Regards Josef