Remix.run Logo
armchairhacker 6 hours ago

Why don’t they take the Linux approach? A browser is like an OS. Linux continues to accept public contributions, through an esoteric process that discourages lazy contributors: https://www.kernel.org/doc/html/latest/process/submitting-pa...

koteelok 6 hours ago | parent | next [-]

Linux has WAY more maintainers, and many of them just reviewed other people's commits for years. They had a crazy amount of contributions even before AI.

AdamN 6 hours ago | parent | prev | next [-]

The only problem with that nowadays might be that AI can do all the incantations that formerly acted as gates to contributors.

rzmmm 6 hours ago | parent [-]

Maybe not. Sqlite has some kind of hand-written license-agreement waiver procedure.

delusional 6 hours ago | parent | prev | next [-]

The Linux approach is under pressure too. Maintainers are beginning to warn about too many contributions and too much churn to review it all.

tux3 6 hours ago | parent | next [-]

I think we're past beginning to warn, we've now reached the point of accepting Linux needs to remove drivers and features, because the maintainers just can't keep up.

This is not helped by everyone using the same LLMs to find the same vulnerabilities and flooding maintainers with duplicate reports to be the first to get that CVE and branded vuln on their resume.

afandian 6 hours ago | parent | prev [-]

I know is a naive question, but it's genuine!

Is this the direct result of a monolithic kernel? And would moving more drivers out-of-tree mitigate this?

broodbucket 4 hours ago | parent | next [-]

The kernel has many different subsystems and the subsystems have their own maintainers and mailing lists.

kibwen 5 hours ago | parent | prev | next [-]

There are numerous advantages of microkernels over monoliths, but even if Linux were a microkernel it wouldn't necessarily change the review pressure that the above commenter is talking about, because you still have the same number of components (filesystem, networking, drivers, etc) to develop and review patches for (although you do have more well-defined interfaces between components, which eases security).

dwaite 5 hours ago | parent | prev [-]

Not really - it changes how the lines are drawn between components, rather than removing any of them.

The EXT4 filesystem driver as an example contains most of the same code whether it is part of the kernel process or is a user process. A virtual filesystem abstraction is needed between the two in either case as well.

The kernel also already has a module system to support loading externally maintained code. You won't necessarily see a benefit from separately maintained drivers that wouldn't already be present.

afandian 4 hours ago | parent [-]

Behind my question was another one: is there too much in the source tree that doesn't _strictly_ need to be?

Maybe not?

I just got the impression that there are a _lot_ of obscure drivers that have to be carried, and are eventually removed causing annoyance. An ABI for the people who cared about that random driver might localise the maintenance burden.

ZenoArrow 3 hours ago | parent [-]

> An ABI for the people who cared about that random driver might localise the maintenance burden.

Yes, but one key reason that a stable ABI isn't provided for drivers is to help encourage companies that ship drivers to make their drivers open source. The idea being, if a driver is mainlined into the Linux kernel, the Linux developers will help maintain support for that driver, in exchange for it being released with an open source licence. There are companies (like NVIDIA) that ship closed source drivers for their devices, but they rely on a kernel-side shim that interacts with the userspace driver, and this is seen as second best compared to mainlining the driver in the kernel.

broodbucket 4 hours ago | parent | prev [-]

One commit per logical change, `git send-email` instead of `git push` and open a PR. Sending patches is not the difference maker here.