An Interview With Linus Torvalds: Linux and Git (Tag1)
An Interview With Linus Torvalds: Linux and Git (Tag1)
Posted Apr 28, 2021 16:05 UTC (Wed) by rsidd (subscriber, #2582)Parent article: An Interview With Linus Torvalds: Linux and Git (Tag1)
It's a great interview, but I feel some of the other passages are even more important. Eg, this
That "anybody can maintain their own version" worried some people about the GPLv2, but I really think it's a strength, not a weakness. Somewhat unintuitively, I think it's actually what has caused Linux to avoid fragmenting: everybody can make their own fork of the project, and that's OK. In fact, that was one of the core design principles of "Git" - every clone of the repository is its own little fork, and people (and companies) forking off their own version is how all development really gets done.and
And yes, I spend time on code reviews too, but honestly, by the time I get a pull request, generally the code in question should already have been reviewed by multiple people already. So while I still look at patches, I actually tend to look more at the explanations, and the history of how the patch came to me. And with the people I've worked the longest with, I don't do even that: they are the maintainers of their subsystem, I'm not there to micro-manage their work.Linus should be a case study in business school textbooks (perhaps he is).
Posted Apr 28, 2021 17:19 UTC (Wed)
by smitty_one_each (subscriber, #28989)
[Link] (1 responses)
Indeed, he's done something quite a few others have not: transitioned to technical management.
In fact, there seems almost a total vacuum of discussion transitioning to tech management for coders amidst all of the business books.
Posted Apr 29, 2021 0:16 UTC (Thu)
by shemminger (subscriber, #5739)
[Link]
But unfortunately, in my experience that runs completely counter to how most management operates.
Posted Apr 28, 2021 17:22 UTC (Wed)
by wtarreau (subscriber, #51152)
[Link]
Many times I found some parallels in the way I'm managing another project and some parts of the Linux' management (with many differences as well of course), and often I found myself replicating certain mistakes or bad directions that Linux suffered from and changing later for good. I never conscienciously copied him but I'm pretty sure I got naturally inspired by some process I was seeing working so well that the solution appeared totally obvious to me. So I tend to think that his management method is quite replicable and is not specific to the person at all (well you need a good temper, to forgive mistakes and to accept criticism but I think it's mandatory for any project manager anyway).
I sincerely hope that he will inspire youngsters who will eventually become managers in big companies, because his approach is highly scalable and quite rewarding for all parties involved.
I suspect that 10-20 years from now we'll say that he invented 3 things: Linux, Git, and the Linus-way-of-successfully-driving-a-project!
Posted Apr 30, 2021 8:29 UTC (Fri)
by Sesse (subscriber, #53779)
[Link] (10 responses)
Posted Apr 30, 2021 10:02 UTC (Fri)
by excors (subscriber, #95769)
[Link] (4 responses)
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.
Posted Apr 30, 2021 22:21 UTC (Fri)
by Wol (subscriber, #4433)
[Link]
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,
Posted Apr 30, 2021 22:38 UTC (Fri)
by rgmoore (✭ supporter ✭, #75)
[Link] (1 responses)
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.
Posted May 1, 2021 0:24 UTC (Sat)
by pizza (subscriber, #46)
[Link]
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.
Posted May 1, 2021 4:54 UTC (Sat)
by pabs (subscriber, #43278)
[Link]
https://developer.sony.com/develop/open-devices/guides/ke...
Posted Apr 30, 2021 10:35 UTC (Fri)
by intgr (subscriber, #39733)
[Link] (4 responses)
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.
Posted Apr 30, 2021 10:46 UTC (Fri)
by Sesse (subscriber, #53779)
[Link] (3 responses)
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.
Posted May 1, 2021 9:59 UTC (Sat)
by Wol (subscriber, #4433)
[Link] (1 responses)
And the whole point of using Linux is access to the large pool of developers.
Cheers,
Posted May 1, 2021 14:30 UTC (Sat)
by rgmoore (✭ supporter ✭, #75)
[Link]
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.
An Interview With Linus Torvalds: Linux and Git (Tag1)
An Interview With Linus Torvalds: Linux and Git (Tag1)
"Everybody thinks managers make decisions, and that decision-making is important. The bigger and more painful the decision, the bigger the manager must be to make it. That’s very deep and obvious, but it’s not actually true."
An Interview With Linus Torvalds: Linux and Git (Tag1)
An Interview With Linus Torvalds: Linux and Git (Tag1)
An Interview With Linus Torvalds: Linux and Git (Tag1)
An Interview With Linus Torvalds: Linux and Git (Tag1)
Wol
An Interview With Linus Torvalds: Linux and Git (Tag1)
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).
An Interview With Linus Torvalds: Linux and Git (Tag1)
An Interview With Linus Torvalds: Linux and Git (Tag1)
An Interview With Linus Torvalds: Linux and Git (Tag1)
An Interview With Linus Torvalds: Linux and Git (Tag1)
An Interview With Linus Torvalds: Linux and Git (Tag1)
An Interview With Linus Torvalds: Linux and Git (Tag1)
Wol
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:
An Interview With Linus Torvalds: Linux and Git (Tag1)
