Is there a social justice forum I can visit where I may be able to have a technical discussion about Fuchsia?
Is there a social justice forum I can visit where I may be able to have a technical discussion about Fuchsia?
But as for the microkernel approach, I think the advantages are on the table, but they are theoretical. Until now, no OS with a micro architecture was successful at getting significant market share.
What would your requirements at an OS like this be? For me, it would be extensibility and the minimalist approach.
Don't know the implementation details, but it sounds a lot like a time when people loved OOP too much, or later disliked it just as much.
QNX, Switch OS, INTEGRITY OS, L4.
To a certain extent, all Android OS services after Project Treble.
I might try it for embedded devices some day.
OS X and Windows are much better in this regard than GNU/Linux/BSDs with their ongoing efforts to move all drivers to userspace, even though they will never be fully pure microkernels when done with it.
Other than improved security that may also be protected by a hypervisor, you might still gain more stability when pushing drivers to user mode. Or your hypervisor has a bug and allows a guest to gain privileged kernel access. Not a security expert, so this is mainly guess work.
Not sure in what sense you mean this. Minix may be the most common OS on the planet. Intel embedded it in an quite a number of its products.
Some things that Fuchsia was able to do thanks to starting from scratch:
- The system is based on capabilities, a security model which is based on explicit tracking of permissions. It wouldn't be possible to change Linux to be capability-based because the ambiant-authority model has been used pervasively since it was conceived 30 years ago.
- Fuchsia provides a stable binary interface (like Windows, but unlike Linux). This lets you update your system while keeping some components unchanged, eg. binary drivers from a hardware manufacturer that wouldn't provide updates for them anymore. I think Linux could technically change this, but they have historically been unwilling to, and it is unlikely to change in the future.
Linux does provide a stable binary interface, to userspace.
> eg. binary drivers from a hardware manufacturer that wouldn't provide updates for them anymore
That can be seen as much as a downside as an upside, because it makes life a lot easier for hardware manufacturers to ship more binary blobs
Which is essentially the point of this approach for Google, to exert greater control.
When the goal is, to support a broad range of devices - and the vast majority of hardware manufactors are not into open hardware - it is probably easier, to convince them of supporting Fuchsia by writing firmware and drivers - if they do not have to deal with the GPL and the kernel driver integration, like it is the case with linux. They just write their driver once against a stable API.
That makes things easier.
And google are not driven by free software ideals - but rather buisness pragmatism. But I don't see this design choice as an attack on free software.
I dont think it would be fair to call Fuchsia a step backwards in this respect - vendors that ship closed source binaries for Fuchsia are almost certainly shipping closed source binaries for Linux as well.
Linux tried different things to reload dynamically the drivers & core stuff, without rebooting the computer, but I always had diverse issues after some hours...
Thanks for the link + info :)
Does it?
Fuchsia is a brand new OS, at least from the perspective of the world. One reason my interest in it died quite early on, despite being an aficionado of new operating system designs my entire life, was finding stuff like this in the docs:
https://fuchsia.dev/fuchsia-src/development/components/v2/mi...
It's brand new and there are already migration guides for core parts of the design. Also:
https://fuchsia.dev/s/results?q=deprecated
That's a lot of deprecated stuff for a project that started with a blank slate.
But now with the official release - I do expect some stability.
https://fuchsia.dev/fuchsia-src/contribute/community/get-inv...
I really wonder what caused this kind of ideological entitlement. Was it a company culture that never said "no"? Was it the constant talk of how Googlers are just smarter and more brilliant than everyone else? Genuinely curious.
What is someone to think when every time their work is presented publicly the comments are all completed unrelated to what was presented? You too would conclude that group is unlikely to present meaningful feedback or thoughts.
(I have never, and will never, work for google).
Advertising and a complete disregard for privacy is in every part of Google's DNA, you cannot possibly claim ignorance of it, simply because you are in a department not directly working on advertising. That is equivalent to covering your ears with your hands and going "la la la I can't hear you".
That is why it gets brought up in every discussion about Google, because one bad apple really does spoil the entire bunch, their bad behavior in regards to privacy and a complete lack of customer support taints the entire organization, and everyone who works for Google has sold their respectability for a Silicon Valley paycheck.
Everyone who works in tech needs to take a good long hard look in the mirror, and decide for themselves whether they're OK with everything their employer is doing, and if not, perhaps consider why they choose to still work there.
Firstly, there is little technical discussion of Fuchsia here because there's actually very little to discuss. Fuchsia is, design wise, a pretty ordinary operating system differentiated from Linux mostly by using a microkernel. If you've ever looked at SEL4 then you've got the gist of what's going on here. I'm not aware of any obvious ways Zircon differs from any other microkernel design. Like all such systems it has an inter-component RPC layer (called FIDL) which if you've ever used the Android Binder will look familiar. And it's got a component system. In some ways these upper layers are reminiscent of COM and the whole OS has a bit of a Windows NT 3.1 architectural vibe. That's about all there is to say on the matter.
Fuschia is an oddly unambitious platform. Here's a representative quote from the docs:
"There is no concept of inter-package dependencies because transitive dependency closures have unbounded resolution time"
This statement is technically correct but practically incorrect: when users complain about dependency resolving package managers, they are complaining about out of date packages, broken dependency graphs, centralized repositories and other things. The fact that dependency resolution can be NP-complete in artificially constructed worst case scenarios never comes up because in the real world, dependency resolution takes a few seconds and the problems surface elsewhere. But they found an excuse to avoid doing anything hard or new in the world of software distribution, so they took it.
Elsewhere people promote its ABI stability compared to Linux. Maybe, but this is Google we're talking about. Constantly obsoleting stuff is literally built into their incentive structures, so we should double check that right?
https://fuchsia.dev/s/results?q=deprecated
120 results for deprecated already! Nobody even uses this OS yet and they already changed their mind about APIs all over the place.
The same lack of ambition is visible if we look at the Architectural Principles section of their site. Their principles are: "Secure, Updatable, Inclusive, Pragmatic". That's it. "Secure because capabilities" is a very old discussion with not much to add, and the rest is vague or just not that interesting.
Those principles brings us to the final reason the HN discussion is so lacking in technical depth.
The OP complains that the discussion here is all about politics and wonders in jest if there's a social justice forum where they might find technical discussion of the project. Amusingly the OP's wish is easily satisfied by the Fuschia website itself. Fuschia is by far and away the most ideologically biased operating system project you will have ever had the misfortune to encounter. It is something the world has never seen before, an entire operating system controlled by the hard left. Every single page in the docs has a giant banner across the top saying "Google is committed to advancing racial equity for Black communities". Note the demand for equity, not equal opportunity. Classical liberalism is dead here, tokenism is in. Of only 4 so-called architectural principles one of them is "Inclusive". They make a brave effort to pretend this is actually about technology by claiming that being just a microkernel+RPC is inclusive because they don't provide any language runtimes for the users (i.e. spinning missing features as a form of moral purity). Then it all falls apart and they go back to talking reducing harm and bias via language control - another tenet of hard left thinking.
So let's imagine we're looking for something better, fresher, bolder than Linux, macOS or Windows. We look at Fuschia. What we see is an extremely conservative OS design in which the most modern ideas in it pre-date Linux itself. We see an overwhelmingly political project, run by a company that has in the last year been systematically erasing from its platform crazy wack-jobs like, er, doctors and professors simply because they disagreed with the WHO. And we see that there's no discussion, anywhere, of any features that end users might actually care about.
That's why there's no discussion of technology in this thread.
In general it is, but I too have noticed this trend more specifically in Google-related threads. Most other subjects don't suffer from this as much, but almost every Google one devolves into jokes about when X will be canceled.
Google offers things with the left hand while slapping you with the right and you seem surprised that people only want to talk about the slapping.
I wonder where Fuchsia will be in 5-10 years. Will it thrive? If so, in what space will it thrive?
When a new component is added to the critical path, its vital to ask “What happens if my account gets flagged? How much of my life can Google shut down with a single bit flip?”
You cannot separate a work from the context in which it operates.
Why not try?
There's a reason the ACM code of ethics has "everyone is a stakeholder" and "avoid harm" as the top two overriding principles.
I can understand arguments about keeping political issues unrelated to your work and working relationships out but you this isn't that.
there's dont be evil
Writing code to build Fuchsia OS does not involve great violations of morality and ethics that call out for something like the 'Nuremberg defense'.
>I can understand arguments about keeping political issues unrelated to your work and working relationships out but you this isn't that.
Where's the dividing line? Wasn't it Basecamp that had a large portion of their workforce quit because they couldn't be activists at work? Was that them mitigating the 'Nuremberg defense'? What about the recent issue with a principle of an elementary schools calling on parents to boycott Israel [1].
There are very few jobs in modern America that have these great ethical dilemmas. There are, however, plenty of people that are willing to engage in hyperbole and politicize every space they can. That's a much bigger problem.
[1]https://nypost.com/2021/05/24/nyc-principal-apologizes-for-a...
You’re right, writing an OS for Google isn’t some world shaking ethical conundrum and it certainly wouldn’t be enough to turn down a FAANG salary and the experience for. But that doesn’t mean that the company’s corporate strategy for the product (i.e. the entire reason the project is funded) is suddenly irrelevant and you can wash your hands of it. If the business reason for pushing this OS is so that Google can have a desktop OS with lock-in to their services and have data collection at the deepest level like they do with Android then that doesn’t meet the bar for avoiding harm and that as engineers we ought to be empowered to push back or outright say no to to buildings things that hurt our users.
Nothing about this has anything to do with Israel or Pizzagate, or Black Lives Matter. Politics encompasses far far more than the things you see on CNN. I’m not saying that people should be advocating for random political causes they care about in the workplace. I’m saying that people should be able to act politically for things that are literally their work.
* Pushing for accessibility features being a requirement to ship is political.
* Pushing for telemetry to be anonymized is political.
* Pushing for ML datasets to include people with dark skin so they actually work is political.
* Pushing for data collection being opt-in is political.
* Refusing to build a product that interferes with EMT radio frequencies is political.
Respectfully, while I don't think that Fuchsia warrants invoking the Nuremberg, I do think that it is highly likely to enable violations of morality and ethics down the line. The way I see Fuchsia, it's basically an effort to undermine the Linux kernel and switch it out for something with an MIT-style license. I see this as objectively immoral.
Linux is the de-facto open source kernel for the majority of people, and the fact that the open source kernel uses GPL (which strongly prefers end user freedoms) is one of the few things that holds the tide of privacy violations, user disempowerment and proprietary tech capture of our infrastructure, institutions and societal conventions. A world without a strong GPL base is a morass that drags down useful developments.
Quite frankly, I see no reason for Fuchsia to exist, and plenty of reasons why it shouldn't exist (not least because Google is in control). It should be boycotted. The society will be better off for it, though it may make a few billionaires cry.
This thread is about Fuchsia OS - so you're separating your statement from the context in which it operates?
That's what I have going in my mind and it's going to color any of my opinions on it, no matter how how objective I try to be.
So I think It's important to discuss this openly, so we know where we are at.
Looks like there is a growing minority of tech people who distrust Google and I am among them.
Things are made by people and each individual person has their own background, circumstances and ideas. The culture of Bell Labs abetted (but did not cause) Unix and the sharing of source code. The lack of pressure to generate profit within Bell allowed Unix to use an unusual licensing model, which led to it being widely available in universities.
Context does not totalize - it allows and directs. Google has a business plan and a culture that promotes some things and prevents others. It's not a conspiracy - they're quite public about most of it. There are things that are possible at Google that are less possible elsewhere. We can, as participants and observers in culture, speculate about what is more possible and less possible in a Google OS project. To not do so would be blindfolding ourselves.
If you want to talk about something "outside" of its cultural context (if such a thing is possible), you certainly can - but will your conversation partners set the same things outside the context? Better to be explicit than blindly implicit imo.
While I am not Google-free at the moment, especially email, I have long ago learned to avoid trusting any Google product to stay stable, or even available.
And that doesn't even scratch the surface of the decades of "everything we do is tuned to collect as much data as we can steal without getting caught, and using it to our benefit in any way we can hide from you, our users."
Cynicism is pretty much the norm now, and is going to color everything Google does forever.
I'm sure there are forums and github sites with actual technical details, but that's only a fraction of what gets traded here. YMMV.