Hacker News new | ask | show | jobs
by koverstreet 307 days ago
Well, being upstream has not been a rosy experience, so that'd be an easy judgement to make in hindsight.

But consider: ext4 was done entirely in tree, and btrfs was upstreamed much, much earlier and took a lot longer to stabilize.

So compared to historical precedent, we already upstreamed much later. e.g. we upstreamed long, long after we stopped making breaking changes in the on disk format (that was the point where btrfs removed the experimental label!)

If we're saying even that is too soon, then we're saying that bcachefs shouldn't have been upstreamed until it was perfect. But, no one was ever going to fund developing a filesystem from scratch all the way to completion and perfection completely out of tree. That's far too much uncertainty, and that kind of money simply isn't being thrown around in the Linux filesystem world.

Asking a filesystem to only be merged when it's completely done and perfect is saying "we want all the benefit and none of the pain", and it's just fundamentally unrealistic.

The whole point of Linux is community based development, and that's how I've been developing bcachefs. I don't have a big engineering team - but what I do have is a large community of people doing very good QA work that I work with closely, on a daily basis. People show up from anywhere with bugs, I ask them to join the IRC channel, and we start working together and it goes from there; a lot of people see us doing productive work and stick around and find ways to help out.

If that no longer works within the development model of the Linux kernel... oi vey.

2 comments

> The whole point of Linux is community based development

You contradict yourself too much. You ignore feedback about not working well with others, and whenever someone wants to contribute, you shut them down by claiming you're the expert. This makes it seem like you're more focused on attracting investment than on actual collaboration.

FWIW, investment is the name of the game in Linux development. If it takes a bunch of business to whip the old guard into place, so be it.
> If it takes a bunch of business to whip the old guard into place, so be it.

You mean bcachefs is a plot to remove Linus Torvalds from his position?

Sorry to burst your bubble but it ain't gonna happen, Linus is way more important than bcachefs.

Everything is a plot to remove Linus, exactly as it should be. Linux kernel is far more important than Linus.
Linux kernel is Linus, you'll never get rid of him.
Maybe then you should have considered this file system as truly experimental and expected your end users to make frequent backups. And advertise it as such. You could also have some kind of dkms bleeding edge module for your users to test fixes before they reach the kernel.

This way you wouldn’t be so preoccupied about getting code as fast as possible in the kernel.

No, a lot of bcachefs users are explicitly using it because of data loss, and they needed something more reliable; that's bcachefs's main reason for existing.

Besides that, if you want to make anything truly reliable, you have to prioritize reliability at every step in the process of building it. That means actively supporting it, getting feedback and making sure it's working well, and you can't do that without shipping bugfixes.

Having to ship a DKMS module just so users can get the latest bugfixes would be nutso - that's just not how things are done.

Some distributions do release hotfixes before they reach mainline kernel. If you expect end users to compile Linus’ kernel head, why couldn’t they compile your branch though ? They get timely fixes.