
Fuchsia Developers Website - chenzhekl
https://fuchsia.dev/
======
the_duke
It will be very interesting to watch how Fuchsia evolves over the next couple
of years. Especially what Google has planned for it.

It might be a small moonshot experiment to see if they can come with a
sensible, modern OS.

It might also be the designated successor for Android/Chrome OS, and the
future of the Google ecosystem.

Conceptually, Fuchsia is interesting. It's built on a microkernel (Zirkon) and
a capabilities based system. Drivers are isolated elf binaries with a stable
ABI, other normally privileged things like file systems are also isolated
services.

On one hand, I find it promising as a application platform, both for mobile
devices and desktops: while Linux sandboxing capabilities are evolving
(cgroups , namespaces, ...) , very little of the ecosystem is built around
isolation as a primary concept, leading to all kinds of half-baked sandboxing
and permission solutions: chroot, Flatpack, firejail, SELinux, (Docker,
mentioned hesitantly since it's mainly for server environments)... All of
which are somewhat tacked on an hard to use properly.

So a clean sheet design might be the best viable (practical) path.

On the other hand:

* this throws away decades of work on Linux

* many drivers will be closed source; open drivers are a major achievement of Linux

* Linux is a very collaborative effort with many stakeholders, while Google is known for keeping a very firm grip on their projects

Curios to hear other thoughts on this.

~~~
Asooka
I could see myself using Fuchsia _IFF_ we get the GNU userland and full Posix
(including all the optional parts that Linux currently implements) on top of
it. Closed drivers are a concession that doesn't sound too bad as long as the
userland is proper GNU.

On the other hand, the mere existence of Fuchsia might lead to its best ideas
being reimplemented in Linux itself, which would be a win as well.

~~~
AnIdiotOnTheNet
> I could see myself using Fuchsia IFF we get the GNU userland and full Posix

Then what the hell would be the point?

------
childintime
I find the Fuchsia Interface Description Language (FIDL) interesting as a
concept. It allows components written in different languages to easily
cooperate:

\- Language: [https://fuchsia.dev/fuchsia-
src/development/languages/fidl/r...](https://fuchsia.dev/fuchsia-
src/development/languages/fidl/reference/language.md)

\- Wire-format: [https://fuchsia.dev/fuchsia-
src/development/languages/fidl/r...](https://fuchsia.dev/fuchsia-
src/development/languages/fidl/reference/wire-format)

I think it is an underappreciated concept in today's systems, which suffer an
epidemic of monolithism, leading to GB-sized installations that do their own
variation of.. nothing much.

~~~
pjmlp
That is just the next step of AIDL and HIDL from Android.

[https://developer.android.com/guide/components/aidl](https://developer.android.com/guide/components/aidl)

[https://source.android.com/devices/architecture/hidl](https://source.android.com/devices/architecture/hidl)

And it goes back to ideas like DCE and Taligent.

[https://en.wikipedia.org/wiki/Distributed_Computing_Environm...](https://en.wikipedia.org/wiki/Distributed_Computing_Environment)

[https://en.wikipedia.org/wiki/Taligent](https://en.wikipedia.org/wiki/Taligent)

Also how XPC works on Apple platforms (IDL here are Objective-C protocols).

[https://developer.apple.com/library/archive/documentation/Ma...](https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingXPCServices.html)

~~~
niftich
The 'Pink' of the phrase "Pink + Purple == Fuchsia" is a reference to
Taligent's Pink, and 'Purple' appears [1] to be a reference to 'Project
Purple', the effort at Apple that culminated in the release of the iPhone.

[1] [https://spectrum.ieee.org/tech-
talk/computing/software/a-mod...](https://spectrum.ieee.org/tech-
talk/computing/software/a-modern-os-from-google)

------
remir
_Story A user-facing logical container encapsulating human activity, satisfied
by one or more related modules. Stories allow users to organize activities in
ways they find natural, without developers having to imagine all those ways
ahead of time._

Interesting. Does it mean that medules are able to declare their capabilities
and the system then draws the UI around what the user wants to achieve?

For example, let's say I want to order pizza. Instead of having to download
Domino's app, the system create a story based on the action of ordering pizza
with all the relevant module that allows me to order said pizza.

Not sure if I understand that correctly.

------
ThinkBeat
I am excited for any attempt at innovation in the operating system department.

It is too early to tell how Fuchsia will do but at least they are trying.

I think [https://www.qubes-os.org](https://www.qubes-os.org) is interesting as
well.

Unfortunately almost every attempt to get a new OS out there has failed in one
way or another. (as far as user adoptation). There are some pretty nifty
things out there.

I hope to the higher powers that Linux, UNIX or WindowsNT is not the end of
the line.

I think it was a very exciting time when you had Atari ST, Amiga, BeOS, NeXT,
Solaris etc competing.

I fear monoculture is most things. Browsers, operating systems, politis.

~~~
archgoon
What features do you feel that Linux is lacking (or could be improved if you
were willing to start from scratch and say to heck with backwards
compatiblity)?

------
moneywoes
Is it confirmed that Fuchsia will be heavily involved with Flutter?

~~~
mikece
I thought the __only __thing that had been confirmed about Fuchsia is that
apps for it will be written in Flutter. Aside from that I 've wondered if
maybe it was Google's version of Microsoft's Midori project which was a
microkernel operating system written in C# from which many lessons learns have
been implemented in what we know today as Windows 10.

Or it could be a plan to abandon Android in order to avoid Oracle's Java API
lawsuits.

~~~
pjmlp
It would have been cheaper to buy Sun instead of hoping that no one would pick
it up.

------
elamje
I am curious if anyone knows if Google is going to bake analytics into the OS,
like Android?

Will it be data collection free, and just push users to use Google services as
the default, or will it have data collection baked in?

~~~
dodobirdlord
Well, it's open source and build on the idea of interoperable components. So
while Google may package data collection components it would be
straightforward to build a version without them from source.

~~~
rahkiin
Whether you are able to put it on your phone in a working state is then the
question though. You would need drivers for all parts which might be closed
source and not compatible with your build.

~~~
cameronbrown
Hopefully there's a stable driver ABI, or at least an ability to use multiple
versions, so you're able to use these blobs however you want. Sad state of
affairs is firmware.

------
zaro
> Documentation for developing for the open source operating system. Is
> fuchsia Android style open source or a true OSS?

~~~
pmarin
What do you mean by true OSS?

~~~
Un1corn
Android is more of an open core project. AOSP is technically fully open source
but when people say Android they mean the Android version of Google with the
play store and play services.

The naming is confusing because what people call Android is not actually
Android like what people call Linux is not actually Linux but a distribution.

------
sergius
Why not Minix 3? [https://www.minix3.org/](https://www.minix3.org/)

Heck, while we are dreaming: Why not buy the rights to Plan 9 and start
improving on those ideas, now that would be interesting.

------
_nhynes
It doesn't seem to work in Chromium.

~~~
jasonvorhe
What isn't working for you? I'm not having any issues in chrome.

~~~
snvzz
List on the left column behaves well if scrolled via scrollbar. It goes nuts
when trying to use the entries at the bottom if scrolled with mouse wheel.

~~~
drusepth
There's another comment or two saying the scrolling is acting weird when they
have javascript turned off. Perhaps that's it?

~~~
snvzz
JS is on, so no.

Maybe they think it has to do with javascript, and it does not for them
either.

This is chromium on Linux.

~~~
drusepth
For the record, I'm also on Chromium on Linux (Ubuntu w/ awesomewm) and
scrolling works for me. Weird.

~~~
snvzz
Arch w/i3.

------
ori_b
The APIs look painfully overcomplicated.

------
black_puppydog
The website refuses to scroll without javascript. WTF?

------
sim_card_map
Kernel written in C++... The horror.

~~~
cameronbrown
Though it is fun to rag on C++ every now and again, I believe Google's C++
style guide is a subset of features (classes, no exceptions, subset of
boost,..).

Most C++ issues come from using every feature under the sun and accumulating
loads of technical debt instead of picking one tool and sticking with it.

~~~
PyroLagus
> Though it is fun to rag on C++ every now and again, I believe Google's C++
> style guide is a subset of features (classes, no exceptions, subset of
> boost,..).

Which is the same thing Genode does[1], and it has served them well. Maybe a
different language like ADA/SPARK or something else would have been better,
but C++ was what they're familiar with, so they made it work. Although I like
Rust, it's a bad argument here. Rust has been changing a lot and is still
changing, and Fuchsia wasn't started yesterday. And with C++, you could even
replace critical parts with formally verified LEAN[1], which has C++ code
generation and should be even safer than Rust.

[0]
[https://genodians.org/nfeske/2019-01-22-conscious-c++](https://genodians.org/nfeske/2019-01-22-conscious-c++)

[1] [https://leanprover.github.io/](https://leanprover.github.io/)

~~~
steveklabnik
Don’t forget that Fuchsia also has a lot of Rust in it already. These things
don’t have to be either/or.

------
madprops
The first part of the documentation being the code of conduct is a ... fuchsia
flag

~~~
shereadsthenews
The code of conduct is the #3 and #4 point of the Linux developer
documentation.

[https://www.kernel.org/doc/html/latest/process/index.html](https://www.kernel.org/doc/html/latest/process/index.html)

