News for hackers. Stuff that matters.
Re:Google is officially releasing Fuchsia OS, starting with ... by IntelMiner on Tuesday May 25, 2021 @03:52AM (#27274086)
To add to the pot of cynics

I wonder how much of it is driven to supplant Linux's "viral" GPL-ness

Re:Google is officially releasing Fuchsia OS, starting with ... by zibzab on Tuesday May 25, 2021 @04:26AM (#27274343)
Google open source engagement was already "throw over the wall" style before this.

I assume things will only get worse now.

Re:Google is officially releasing Fuchsia OS, starting with ... by kerneis on Tuesday May 25, 2021 @06:23AM (#27275101)
Fuchsia, like Chrome, has been open-source for years, and all commits and reviews as well as the bug tracker are public. It is a very different model from how Android releases work.

(Disclaimer: I work on Fuchsia at Google.)

Re:Google is officially releasing Fuchsia OS, starting with ... by dmantis on Tuesday May 25, 2021 @08:35AM (#27276060)
Chrome is not open-sourced, Chronium is. I cannot rebuild Chrome with full protection against tracking, for example, but with all other parts unchanged.

Android "open sourced" as well, but literally nobody runs AOSP, stock OSS apps are staled for years, Google makes a lot to make system barely usable without proprietary parts from Google Services.

Re:Google is officially releasing Fuchsia OS, starting with ... by kerneis on Tuesday May 25, 2021 @10:28AM (#27277215)
That's a fair point, and the distinction between Chrome and Chromium is indeed relevant. Sorry for the confusion, see my sibling comment about how it applies to Fuchsia (ie. what is open source and what may not be).

What I really meant to say, though, is that Fuchsia is taking an approach to inclusiveness and open source which is much more similar to the one of Chromium than Android. You may find out more on https://fuchsia.dev/fuchsia-src/concepts/principles/inclusiv...

Re:Google is officially releasing Fuchsia OS, starting with ... by ryukafalz on Tuesday May 25, 2021 @09:04AM (#27276291)
So, if I buy a device that runs Fuchsia (say, this Nest Hub), is enough of Fuchsia FOSS that I can run my own copy of it with e.g. a different UI and without Google services? This is true of Android devices by necessity as the kernel is GPL (bootloader locking aside); is it true of Fuchsia devices?

As for bootloader locking, Google releases some Android devices with unlockable bootloaders. Can we expect the same of Fuchsia devices?

Re:Google is officially releasing Fuchsia OS, starting with ... by kerneis on Tuesday May 25, 2021 @09:45AM (#27276675)
There are several parts to your question, let me try and answer each of them as I understand them.

Fuchsia is built with a minimal core (sometimes called a microkernel) and many user-space services interacting with each other over an IPC protocol (called FIDL). The open-source part of Fuchsia, available on fuchsia.dev, is a standalone system which you can build and run on supported architectures. It contains all the services required to start a user interface, interact with the network, etc. Currently, the main supported hardware architecture for people wanting to build their own version of Fuchsia is the Intel NUC: https://fuchsia.dev/fuchsia-src/development/hardware/intel_n....

For a retail devices, such as the Nest Hub, vendors can build a custom system with additional or different services from what is found in the open-source release. Thanks to stability of the FIDL interfaces, those closed-source services do not prevent the core system from being updated. For more information on services and packages, you can read https://fuchsia.dev/fuchsia-src/concepts/software_model and the pages linked from it.

Some of those services are drivers; others may be in charge of communicating with Google Services or customizing the UI; and not all of them are necessarily open-source. So if you wanted to build your own version of Fuchsia for a Nest Hub, you'd need to replace the closed-source components. As far as the Nest Hub is concerned, I'm not sure what the exact status is. I believe a significant part of the drivers have been developed in the open (which is how 9to5google was able to guess in the past that we would be targeting this platform), but take this with a grain of salt, I didn't work on drivers. The part that interacts with Google Services is closed source. I'm not sure this is much different from the situation with Android: not all drivers or UI used on Android devices are open source, are they?

Finally, as you note, the bootloader can be locked on retail devices, preventing you from reflashing the system with your own build unless it is signed by an authorized key (mostly for security reasons, as far as I understand it). This is a product decision that is not related to Fuchsia itself, it depends on each manufacturer. I don't think it has ever been supported to reflash a Nest Hub, and the migration to Fuchsia shouldn't change that.

Re:Google is officially releasing Fuchsia OS, starting with ... by ryukafalz on Tuesday May 25, 2021 @10:27AM (#27277184)
Thanks, this is useful information.

> For a retail devices, such as the Nest Hub, vendors can build a custom system with additional or different services from what is found in the open-source release. Thanks to stability of the FIDL interfaces, those closed-source services do not prevent the core system from being updated.

This is helpful so long as the interface does not change; do you anticipate ever having to change it or do you think it's pretty final at this point?

Regarding drivers, it's interesting that they're userspace services interacting with the rest of the system via IPC. Are there any sort of security guarantees to protect against malicious services? (Obviously a proprietary driver could do its job incorrectly, but if they can't otherwise mess with other parts of the system that's helpful.) EDIT: I suspect that as it's a capability-based system, there is a decent amount of isolation between drivers and the rest of the system, but I just want to be sure.

> I'm not sure this is much different from the situation with Android: not all drivers or UI used on Android devices are open source, are they?

Regarding Android drivers: my understanding is they sometimes do have proprietary userspace components. Any kernel-side components are necessarily FOSS however, as they are derivative of the Linux kernel and therefore GPL. (This doesn't mean that they're always easy to use though, as manufacturers seldom upstream them and the Linux kernel is a huge project.)

On the Android UI, you're correct; most often the UI on an Android phone is not FOSS. I suspect this is because, as that part of Android is permissively licensed, the device vendors don't have to release it. So they don't.

I've had mixed feelings with Fuchsia from a licensing perspective for that reason. On one hand, having a stable interface might make it easier to deal with proprietary drivers, provided that interface is locked in amber and never changes. On the other hand, Fuchsia's permissive licensing makes it more likely that manufacturers will make all their drivers proprietary, because they clearly do whenever they can. (At least the ARM vendors do; the x86 vendors seem to be a lot more open to working in public.)

Re:Google is officially releasing Fuchsia OS, starting with ... by kerneis on Tuesday May 25, 2021 @10:36AM (#27277337)
> do you anticipate ever having to change it or do you think it's pretty final at this point?

We're not there yet, but defining a stable driver runtime is on our roadmap for 2021: https://fuchsia.dev/fuchsia-src/contribute/roadmap/2021/stab...

For non-driver interfaces, similar stability commitments may be shared over time, as the platform matures and we get more users.

> Are there any sort of security guarantees to protect against malicious services?

Fuchsia is based on capabilities, ie. handles to access resources, and those include memory regions. So a driver will only be able to access the parts of memory that you delegate to it. I don't know enough about drivers to provide a detailed security analysis, but I think it provides far more isolation than what you have in a monolithic kernel such as Linux.

Re:Google is officially releasing Fuchsia OS, starting with ... by ryukafalz on Tuesday May 25, 2021 @11:31AM (#27278148)
> Fuchsia is based on capabilities, ie. handles to access resources, and those include memory regions. So a driver will only be able to access the parts of memory that you delegate to it.

Ah thanks - Fuchsia drivers having capabilities to specific memory regions mostly answers my concerns at that level I think.

Well, I guess I'll continue to be both interested in it from a technical perspective and conflicted about it based on licensing.

Re:Google is officially releasing Fuchsia OS, starting with ... by surajrmal on Tuesday May 25, 2021 @09:22AM (#27276450)
While the platform may be open source, the product may not be. We have products which are completely open source, but the one being used for the Nest Hub is not. This is similar to the idea where you may use Linux for the bottom half of an OS, but the top half may be something else entirety. Different products may make different decisions, but a common core is used amongst all products.
Re:Google is officially releasing Fuchsia OS, starting with ... by swiley on Tuesday May 25, 2021 @10:45AM (#27277460)
It's not really true for Android either because the graphics drivers are mostly userspace and end up coupled with a lot of the vendor provided stuff.

Fuchsia has no GPL so it's unlikely any of the driver source will be available to you.

Re:Google is officially releasing Fuchsia OS, starting with ... by kerneis on Tuesday May 25, 2021 @11:02AM (#27277730)
> Fuchsia has no GPL so it's unlikely any of the driver source will be available to you.

The open-source repository already contains over 50 directories named `drivers`: https://cs.opensource.google/search?q=f:drivers%2F$&sq=&ss=f...

Re:Google is officially releasing Fuchsia OS, starting with ... by fabrice_d on Tuesday May 25, 2021 @11:47AM (#27278348)
Yes, but it's very unlikely that chipset vendors like QC or MTK will provide the source to their drivers. Why would they?

On the other hand, if the driver interfaces are stable, it should be possible to implement a GPL kernel that can use these drivers.

Re:Google is officially releasing Fuchsia OS, starting with ... by swiley on Tuesday May 25, 2021 @11:21AM (#27278009)
The BSDs have lots of drivers too, but it's rare you see them coming to an embedded board first (and rarer you see BSPs published for them from vendors.)
Re:Google is officially releasing Fuchsia OS, starting with ... by hibbelig on Tuesday May 25, 2021 @09:22AM (#27276447)
Are unlockable bootloaders bootloaders that cannot be locked, or bootloaders that can be unlocked? Not a native speaker.

Hm. I think it is about bootloaders that can be unlocked.

Re:Google is officially releasing Fuchsia OS, starting with ... by tmerc on Tuesday May 25, 2021 @09:43AM (#27276647)
In this case, unlockable means it can be unlocked. As a native American English speaker, I have not seen unlockable used as "cannot be locked", but both definitions are in the Oxford dictionary. If I understand correctly, a locked bootloader prevents you from installing a different OS or rooting a device you might "own".
Re:Google is officially releasing Fuchsia OS, starting with ... by techrat on Tuesday May 25, 2021 @11:10AM (#27277840)
"Unlockable" == "The option exists for the user to unlock the bootloader if they wish to do so."

Even as a native speaker, it can get awkward explaining 'unlockable bootloaders' because the impliction is that they're first locked if they can be later unlocked... when there are also locked bootloaders that CANNOT be unlocked.

It's better to just assume 'unlockable' means 'not restricted.'

Re:Google is officially releasing Fuchsia OS, starting with ... by forgotpwd16 on Tuesday May 25, 2021 @09:15AM (#27276396)
Is Fuchsia meant only for embedded devices (smart displays, smartphones, etc) or will there be laptop releases akin to Chromebooks?
Re:Google is officially releasing Fuchsia OS, starting with ... by kerneis on Tuesday May 25, 2021 @09:54AM (#27276755)
If you are interested in running Fuchsia on a laptop or desktop device, you probably want to follow the Workstation product effort:

- https://fuchsia.dev/fuchsia-src/contribute/roadmap/2021/work...

- https://fuchsia.dev/fuchsia-src/contribute/governance/rfcs/0...

And as mentioned elsewhere, you can already build Fuchsia for an Intel NUC, with keyboard, mouse, ethernet and external screen support: https://fuchsia.dev/fuchsia-src/development/hardware/intel_n...

Re:Google is officially releasing Fuchsia OS, starting with ... by DenverCode on Tuesday May 25, 2021 @09:34AM (#27276569)
>We’ve been tracking the development of Fuchsia since 2016, starting from an ambitious experimental UI, to running on Google’s many internal testing devices for Fuchsia, ranging the full gamut of Google’s smart home and Chromebook lineup.
Re:Google is officially releasing Fuchsia OS, starting with ... by Zambyte on Tuesday May 25, 2021 @01:34PM (#27279785)
Smart phones are definitely general purpose computers
Re:Google is officially releasing Fuchsia OS, starting with ... by ori_b on Tuesday May 25, 2021 @08:47AM (#27276146)
How many of your colleagues are outside Google?
Re:Google is officially releasing Fuchsia OS, starting with ... by kerneis on Tuesday May 25, 2021 @10:38AM (#27277366)
I'm not sure I understand the question, but you may be interested in the following article about Samsung contributing to Fuchsia: https://9to5google.com/2021/05/12/samsung-contributing-f2fs-...
Re:Google is officially releasing Fuchsia OS, starting with ... by ori_b on Tuesday May 25, 2021 @02:46PM (#27280676)
Your implication is that Google is not treating Fuchsia as a 'throw it over the wall' project, but as one with community participation. How many of your colleagues are from outside of Google? How often do you work with non-googlers as you develop it?

Are you regularly reviewing code submitted by your colleages at Samsung?

The fact that you're confused by the concept of working with people outside your company doesn't bode well for the open-sourceness of this project.

Re:Google is officially releasing Fuchsia OS, starting with ... by hn8788 on Tuesday May 25, 2021 @11:48AM (#27278368)
They're probably talking about things like Go where it's open source, but it's controlled by Google employees.

https://utcc.utoronto.ca/~cks/space/blog/programming/GoIsGoo...

Re:Google is officially releasing Fuchsia OS, starting with ... by tmccrary55 on Tuesday May 25, 2021 @07:54AM (#27275727)
Good thing trusty google never changes direction or policies and that fuschia is copyleft, so it can never be closed in the future.
Re:Google is officially releasing Fuchsia OS, starting with ... by kemonocode on Tuesday May 25, 2021 @08:05AM (#27275816)
The fact it's more permissive with its license already does not bode well. Just like with Chrome, there could be a myriad of forks that can be closed source themselves and so without easy means to peek inside what they're really doing, and although many distributors did the bare minimum with Android due to its Linux kernel's license, there was something.
Re:Google is officially releasing Fuchsia OS, starting with ... by getcrunk on Tuesday May 25, 2021 @04:10AM (#27274217)
Right on the money! Interesting/scary times ahead. But maybe there will be unexpected gifts in the form of open source dev around zircon
Re:Google is officially releasing Fuchsia OS, starting with ... by bayindirh on Tuesday May 25, 2021 @04:24AM (#27274318)
Built on GPL, but not encumbered by it! It's free to take whatever direction it wants! Join the independent* revolution! /s

This PSA is proudly brought you by Google's Bureau of Prop... ehrm Truth.

*: independence neither implies nor contains freedom.

Re:Google is officially releasing Fuchsia OS, starting with ... by josefx on Tuesday May 25, 2021 @04:32AM (#27274384)
Or: "Join the independent" is a slogan of the open handset alliance, users are required to install Google Play and related services on all applicable devices.
Re:Google is officially releasing Fuchsia OS, starting with ... by luma on Tuesday May 25, 2021 @09:39AM (#27276606)
It may also have been a play to remove Java as a fundamental requirement due to their experience with Oracle and Android.
Re:Google is officially releasing Fuchsia OS, starting with ... by pjmlp on Tuesday May 25, 2021 @09:52AM (#27276738)
All new FOSS OS clones are BSD/Apache licensed.

RTOS, Azure RTOS, mbed, NuXX, Zephyr

For sure it isn't a coincidence.

Re:Google is officially releasing Fuchsia OS, starting with ... by snvzz on Tuesday May 25, 2021 @10:03AM (#27276876)
Clones?
Re:Google is officially releasing Fuchsia OS, starting with ... by pjmlp on Tuesday May 25, 2021 @11:06AM (#27277785)
POSIX clones.
Re:Google is officially releasing Fuchsia OS, starting with ... by snvzz on Tuesday May 25, 2021 @11:23AM (#27278041)
POSIX is a specification. Implementations are implementations, not clones.

And most of the systems you listed aren't even aiming for POSIX-compatibility.

Can you please clarify what your intent was by using the word "clones"?

Re:Google is officially releasing Fuchsia OS, starting with ... by pjmlp on Tuesday May 25, 2021 @01:54PM (#27280006)
That was it, if you want to be pedantic, be my guest.