I think that a major problem is that you can't legally force vendors to open source the drivers they distribute. Most importantly wifi drivers which are critical to making an operating system that people can actually use.
Isn't Android plagued by all manner of proprietary dependencies for hardware support?
I don't understand all of the pressures on vendors in the Linux case, but at least one of them is that they can't upstream their drivers (and thus unload some of their maintenance burden on the Linux kernel team) unless they license them in a way that's considered suitable by upstream. If they don't do that, they're more likely to be broken by Linux changes, and it makes distributing their drivers more annoying because they have to do that on their own. I also vaguely recall that there are some other ways that proprietary drivers have more limited access to the Linux kernel, of access more liable to get broken by upstream, but idrk.
But isn't the biggest incentive for releasing your drivers as F/OSS (so you can upstream, making maintenance easier) still there in the FreeBSD case?
having no drivers and having drivers that no longer work because the source isn't available and the maintainers can't update them is functionality identical.
It's a tautology that only open-source drivers will be part of the codebase of an open-source OS.
It's also more or less a given that first-party code will be better-integrated into an OS than third-party code is. That was a prevailing element of the discourse surrounding the outage CrowdStrike induced on Windows weeks ago, for instance. That's not a proposition unique to open-source operating systems. Indeed, what is unique to open-source is that is possible for outside vendors (or individuals) to put their code through a process that eventually gets it that maximal level of integration.
Forcing hardware vendor to disclose all information necessary to build drivers is something that is perfectly plausible to enact for example in the frame of a right to repair/maintain the hardware customers buy.
Note that it doesn’t need to be forcing to open source the vendor own implementation of any driver.
Yes, this is very plausible considering laws are in the making that forbid bricking of a device by stopping software support or remotely disabling it etc. Seems the only way to fix that is providing enough info to maintain yourself.
> you can't legally force vendors to open source the drivers they distribute
You can't, no, but that is looking at the wrong end of the problem.
What you can do is say, "we are the government of $X and we buy $Y billion of $currency of equipment per year, every year, and we will only buy from vendors who make all their drivers and firmware FOSS."
Then vendors will fall over one another in their haste to get a slice of that pie.
This is how we got desktop power management: the US Gov't Energy Star initiative.
This is why A/UX happened and how Apple got into UNIX: the US Army required POSIX as a condition of purchase.
I don't understand all of the pressures on vendors in the Linux case, but at least one of them is that they can't upstream their drivers (and thus unload some of their maintenance burden on the Linux kernel team) unless they license them in a way that's considered suitable by upstream. If they don't do that, they're more likely to be broken by Linux changes, and it makes distributing their drivers more annoying because they have to do that on their own. I also vaguely recall that there are some other ways that proprietary drivers have more limited access to the Linux kernel, of access more liable to get broken by upstream, but idrk.
But isn't the biggest incentive for releasing your drivers as F/OSS (so you can upstream, making maintenance easier) still there in the FreeBSD case?