|
|
Subscribe / Log in / New account

An Interview With Linus Torvalds: Linux and Git (Tag1)

An Interview With Linus Torvalds: Linux and Git (Tag1)

Posted Apr 30, 2021 8:29 UTC (Fri) by Sesse (subscriber, #53779)
In reply to: An Interview With Linus Torvalds: Linux and Git (Tag1) by rsidd
Parent article: An Interview With Linus Torvalds: Linux and Git (Tag1)

I find it a bit odd; isn't Linux fragmented to death? E.g., how many mobile devices have been sold the last few years with anything even close to a mainline kernel?


to post comments

An Interview With Linus Torvalds: Linux and Git (Tag1)

Posted Apr 30, 2021 10:02 UTC (Fri) by excors (subscriber, #95769) [Link] (4 responses)

> I find it a bit odd; isn't Linux fragmented to death? E.g., how many mobile devices have been sold the last few years with anything even close to a mainline kernel?

I think there's a difference between forking and fragmentation. Maybe the device is running a device-specific fork of their chip vendor's fork of the Linaro LSK fork of the LTS fork of the mainline kernel; but there's still a clear hierarchy with Linus's mainline at the top. Any mainline commit will eventually filter through all the layers and end up on all new devices, even if it takes a few years. That seems significantly different to e.g. the BSD kernels, which (as far as I'm aware) have no such hierarchy and are each developed in parallel, apart from some common ancestors 2-3 decades ago. The latter sounds a lot more like fragmentation.

On the other hand, Linus says:

> So forking isn't a problem, as long as you can then merge back the good parts.

and that doesn't really happen with the mobile device forks (unless you choose to define "good parts" in a way that precisely excludes all the work done in those forks). There's little incentive to merge changes from the bottom back into mainline, because it's such a long chain of forks - each trying to provide some notion of 'stability' by updating infrequently - that by the time you've merged the patch upstream then waited for it to come down again, the chips are obsolete and out of production and the previously-manufactured devices are outside their support window and the code is now useless. So I'm not sure I'd call it fragmentation, but it's not the ideal kind of forking either.

An Interview With Linus Torvalds: Linux and Git (Tag1)

Posted Apr 30, 2021 22:21 UTC (Fri) by Wol (subscriber, #4433) [Link]

It's basically doing what all code, commercial and hobby does, leaving a trail of versions behind.

There is only ONE active development tree for Linux. Sure there are plenty of - I'll call them minor forks - around, but they are ALL dead ends, be it an LTS version, a chip-specific Android port, whatever.

But there is only ONE tree that is considered *a* master tree. And that is a social, not technical issue.

Cheers,
Wol

An Interview With Linus Torvalds: Linux and Git (Tag1)

Posted Apr 30, 2021 22:38 UTC (Fri) by rgmoore (✭ supporter ✭, #75) [Link] (1 responses)

and that doesn't really happen with the mobile device forks (unless you choose to define "good parts" in a way that precisely excludes all the work done in those forks).

That's not necessarily a bad definition. The stuff that is most important to merge back are parts that are useful outside the fork, either because they touch some part of the core kernel or because they're drivers for hardware that exists outside the fork. For a lot of SOC systems, that doesn't amount to much. Most of what they're changing is hardware specific, and in many cases the hardware isn't used outside the one project.

It would be better for users if the manufacturer merged the hardware support back to mainline, since it would give the systems a prayer of being supported when the manufacturer gave up on them, but for fairly obvious reasons the manufacturers aren't too keen on spending the effort. In theory, the GPL could help out there, since it would give motivated users access to the code for their system, which they could theoretically merge themselves. In practice, it's a rare system that has enough motivated and technically competent users to make it happen.

An Interview With Linus Torvalds: Linux and Git (Tag1)

Posted May 1, 2021 0:24 UTC (Sat) by pizza (subscriber, #46) [Link]

> In theory, the GPL could help out there, since it would give motivated users access to the code for their system, which they could theoretically merge themselves. In practice, it's a rare system that has enough motivated and technically competent users to make it happen.

That assumes the manufacturer ever provided the source code to begin with.

And even tier-one manufacturers (eg Google themselves) still ship some binary blobs.

An Interview With Linus Torvalds: Linux and Git (Tag1)

Posted May 1, 2021 4:54 UTC (Sat) by pabs (subscriber, #43278) [Link]

Allegedly Sony Xperia devices run close to mainline Linux versions, and can run mainline versions.

https://developer.sony.com/develop/open-devices/guides/ke...

An Interview With Linus Torvalds: Linux and Git (Tag1)

Posted Apr 30, 2021 10:35 UTC (Fri) by intgr (subscriber, #39733) [Link] (4 responses)

That's certainly true, but I think somewhat beside the point. Linus clearly acknowledges that forks happen all the time, but that's not the sort of fragmentation he is talking about.

These mobile device vendors still periodically update and restart from one of the mainline Linux releases, so in effect they still consider Torvalds's branch to be "the" Linux that they use, but they are on a different release cadence due to their custom patches. It's still bad, but it could be worse.

This is in contrast to the fragmentation of BSDs, where FreeBSD, OpenBSD, NetBSD and Darwin that will never merge again, compete for developers, and features need to be duplicated for each fork.

An Interview With Linus Torvalds: Linux and Git (Tag1)

Posted Apr 30, 2021 10:46 UTC (Fri) by Sesse (subscriber, #53779) [Link] (3 responses)

That's not obviously so. Much of the merging back from Android in recent years has been because of a concern that Android and upstream Linux would otherwise de facto permanently split, with Android's kernel being the most relevant upstream.

An Interview With Linus Torvalds: Linux and Git (Tag1)

Posted Apr 30, 2021 22:09 UTC (Fri) by rgmoore (✭ supporter ✭, #75) [Link] (2 responses)

Sure, but that permanent split hasn't happened. Instead, the Android developers see avoiding a split as sufficiently worthwhile that they've spent a lot of time getting their changes merged back into mainline Linux. It's obvious they are getting something very valuable by being connected to mainline Linux and avoiding fragmentation. Figuring out exactly what they're getting is a big part of understanding why Linux has avoided fragmentation.

An Interview With Linus Torvalds: Linux and Git (Tag1)

Posted May 1, 2021 9:59 UTC (Sat) by Wol (subscriber, #4433) [Link] (1 responses)

Probably because if they had split, Android might have had the larger USERBASE, but would have been of no interest to the DEVELOPERBASE.

And the whole point of using Linux is access to the large pool of developers.

Cheers,
Wol

An Interview With Linus Torvalds: Linux and Git (Tag1)

Posted May 1, 2021 14:30 UTC (Sat) by rgmoore (✭ supporter ✭, #75) [Link]

But that just pushes the question back a step: why did developers stick with Linus rather than chasing after the biggest userbase? I can think of three big reasons:
  1. Technical leadership. People trust Linus to make the right technical decision the vast majority of the time, and to recognize his mistakes when he doesn't. I remember that when the Android people wanted to merge a bunch of their features (wakelocks, binder, etc.) back into mainline, Linus forced them to completely rethink their approach before he would merge their features. He didn't do that just by proclaiming he was the boss and they had to do things his way; he won a detailed technical argument about why their approach wasn't technically optimum and needed to be rewritten. This kind of thing has happened again and again, going back to the days of his famous argument with Andy Tanenbaum, to the point that people deeply trust that mainline will be developed in the technically correct direction.
  2. Openness. Mainline Linux is developed out in the open where everyone can see what's going on. That gives developers the confidence they can understand what they're getting and that their code will be given a fair shake.
  3. Neutrality. Linus has worked hard not to be employed by any of the big companies that depend on his software, which means people can count on him as a neutral arbiter. He isn't going to merge some half-baked idea because his employer needs it to ship on schedule or block something a competitor uses. Developers know their contributions will be judged on technical merit, not commercial concerns.

These are obviously intertwined to some extent. Linus would have a hard time maintaining his reputation for technical leadership if he weren't neutral or if Linux weren't developed in the open. It probably couldn't be developed in the open if he weren't neutral, since his employer might want him to keep stuff secret for commercial reasons. And his reputation for technical leadership gives him the chops to maintain the openness and neutrality.


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds