Embed this noticeAndrew (amiloradovsky@stereophonic.space)'s status on Thursday, 12-Sep-2024 17:43:21 JST
Andrewthings like #UVM make me wonder why the vendors of proprietary (V)IP cores can agree upon a unified interface for the cores while Linux, *BSD, and other less known FLOSS projects can't agree on say driver interfaces even within Linux alone the drivers won't be compatible between even minor version changes and thus have to all live in the same repository — looks like one huge technical debt
Some vendors agree on a unified interface, some do not.
Linux really shouldn't standardize its driver interface, as otherwise more companies will release proprietary drivers and refuse to provide the source code under the GPLv2 and claim that such isn't a derivative work as it's just for that standard interface.
It's a good thing for the driver to live in the same repository, as that means the driver can be fixed at the same time any breaking change is made.
@Suiseiseki well then I guess the goal it to never have any stable APIs and ABIs, always changing them for whatever reason or without any reason, and ideally have all the software in one tree without any resemblance of modularity if that's what FLOSS ideology inevitably leads to then maybe I should just refuse it as such
@amiloradovsky >the same binary can't work in Linux and *BSD Obviously the same binary won't work on GNU/Linux and the BSD's, as one is compiled against glibc and the other is compiled against a BSD libc.
The concern about ABI compatibility only applies to proprietary software - with free software, just compiling the source code for each platform is trivial (and even if you can just copy a binary, you should still compile from source).
If your concern is about kernel drivers, I suggest GNU Hurd - as that implements the rump driver interface.
Like GNU, I put GNU/Linux-libre support zeroth and foremost and put support for proprietary OS's like "OpenBSD" as a secondary concern.
@Suiseiseki the same binary can't work in Linux and *BSD, have to be recompiled for each most of the time there are no compelling technical reasons for API or ABI changes, and the interfaces aren't given the amount of thought they deserve before coming up with them