3 ms·
> At that time, Fuchsia was never originally about building a new kernel. It was actually about an observation I made: that the Android team had their own Linux
by dmvdoug 3y ago
> At that time, Fuchsia was never originally about building a new kernel. It was actually about an observation I made: that the Android team had their own Linux kernel team, and the Chrome OS team had their own Linux kernel team, and there was a desktop version of Linux at Google [Goobuntu and later gLinux], and there was a Linux kernel team in the data centers. They were all separate, and that seems crazy and inefficient.
> The architectures were all different, which meant that outside developers couldn’t actually do work and attack all the platforms Google was offering. You had to do bespoke work.
https://9to5google.com/2022/08/30/fuchsia-director-interview-chris-mckillop/ https://9to5google.com/2022/08/30/fuchsia-director-interview...
- q7xvh97o2pDhNrh 3y ago> They were all separate, and that seems crazy and inefficient. From an organizational-design perspective: That's the whole point. Decentralization means they can all move more quickly — each team can cater to the needs of its local customers. In moving quickly and solving local problems, they end up repeating some work. That's the price of velocity. Good local leaders should counter-balance this by creating informal forums for idea exchange and cross-pollination. Sadly, overly-ambitious office-politicians see this happening, flag it as "inefficient," and roll the headcount up into a centralized team. Centralization puts an end to all the local ideas and excitement, instead routing it through a centralized committee that "plans" and "decides" which customers are worthy of how much innovation. In a way, this is the pendulum of life at a big company. But in another way... this pursuit of "efficiency" sure seems like it explains a lot of why Google moves so slowly.
- dehrmann 3y agoOr another way, separate teams is a way to prevent starvation.
- clhodapp 3y agoYep! Bulkheads to avoid your tasks getting mixed in with everyone else's and subjected to a global stack ranking of priorities, where they might never actually get done.
- midoridensha 3y ago>From an organizational-design perspective: That's the whole point. There's more to it than that. Unlike most other projects, these kernel teams were working on the Linux kernel, which is an open-source project not under the control of any one corporation. These teams were simply maintaining their own kernel forks (which are undoubtedly optimized for their use-cases) and developing features/patches which they might try to submit upstream. And a lot of the work was undoubtedly device drivers for the particular hardware they used. Since they were working on very different projects (datacenters, Android, ChromeOS), with very different hardware, there was probably almost no overlap going on here.
- astrange 3y agoThe centralized organization you're describing is called a "functional organization" and is how Apple works, which is not typically described as slow.
- izacus 3y agoApple is absolutely incredibly slow by any standard.
- astrange 3y agoNot impressed by shipping an OS every year?
- izacus 3y agoThe cadence of cutting a OTA from a repo isn't really correlate with speed of delivery and innovation. Apple is legendary for not being first to adopt or invent technologies (outside some exceptions).
- rvba 3y agoDidnt they intentionally make older versions of the OS slow to make you buy a new phone?
- astrange 3y agoThey did not do that, no.
- foota 3y agoThat's all well and good... when the teams aren't all beholden to the velocity of the linux kernel.
- troupo 3y ago> The architectures were all different, which meant that outside developers couldn’t actually do work and attack all the platforms Google was offering. You had to do bespoke work. So they decided to build a bespoke OS that would take a decade to build and would require bespoke work from those devs anyway?