Hacker News new | ask | show | jobs
by beeflet 625 days ago
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.
4 comments

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?

> . If they don't do that, they're more likely to be broken by Linux changes, and it makes distributing their drivers more annoying

So the idea is that having no drivers is better than having proprietary drivers? Seems like a perfectly reasonable and sensible approach..

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.
Maybe they should stop breaking them then?

That’s a design decision, Linux maintainers decided to not have a stable ABI because they’d rather have no drivers at all than proprietary ones.

The only decision to be made there is when to break them, not if. Linux went with "sooner than later".
if you prefer to have security vulnerabilities, you can always pin your kernel version?

the kernel needs to keep evolving, and the maintainers will keep your code updated for free - you just have to open source it.

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.

So, uh... no?

Laws come and go.

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.

Result, indirectly: OS X.

With FreeBSD they dont need to make it open source.