The source content for blog.juliobiason.me
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

4.9 KiB

+++ title = "Commented link: Expanding Fuchsia's open source model" date = 2020-12-13 updated = 2020-12-14

[taxonomies] tags = ["links", "google", "fuchsia", "open source"] +++

Google recently announced they they are changing the open source model of their new open source OS called Fuchsia. But there are so many red flags one has to wonder what the announcement actually is.

For example: "We have been developing Fuchsia in the open, in our git repository for the last four years." Thing is, nobody had access to the repository for writing, only Google. And, although it was "open" you couldn't suggest changes or anything, even if you were following the development since its inception. The model is as "open" as Android is, where only way to contribute to the mainline code is being at Google; you can clone the Android code as much as you can clone Fuchsia code, but good luck trying to make it run without voiding your device warranty.

"Starting today, we are expanding Fuchsia's open source model to make it easier for the public to engage with the project." This point is important for the next points, but you have to ask yourself: What is actually changing in the model? Are they changing the license, to allow people to continuous contribute as an open source project? Are they opening the lines for accepting external pull requests? No, they are just creating a maillist and writing down how one can get permission to submit patches or become a committer. How open is a project that you need to have badge to be able to be part of the project?

Let me try to explain this by using an analogy: Imagine a house with a huge, sound-proof window. Sure you can look inside the house, but there is no way you can tell people that the sofa looks better if facing the other wall, that a vase is about to fall down and break or even get in and help them move the sofa to the other side of the room. You wouldn't call that an "open" house, would you? Well, that's the current model for Google projects: Look, but we won't listen to you and we won't let you get in to move the sofa the way we actually want.

"In addition, we are also publishing a technical roadmap for Fuchsia to provide better insights for project direction and priorities." Remember the first point about making easier to the public to contribute? Well, how can it be a contribution from the public if the direction is already set? What if the public decides that the direction should be another one? Either is a waste of time of the current developers or the "easier to contribute" is simply for free labor and not for building an open source project, in the end.

"Fuchsia is an open source project that is inclusive by design, from the architecture of the platform itself, to the open source community that we’re building." This point was raised from another user on Mastodon (hello Berkes): One does not "build" an open source community; you make an inclusive, open to everyone project, where people can contribute to code, documentation, ideas, improvements and even direction and the community will build itself -- Rust is a great example of that (and I'm bringing this for later).

But even with all that, let's take a step back: Why would Google change the "model" of such OS? Couldn't they develop it themselves, in the close? Sure they could. The fact that they are "open sourcing" it probably means the project lost importance inside Google and nobody actually cares to continue development of it. The roadmap probably is just the original authors "wishlist" for the OS and nothing more.

Also, there is the question of "Why Fuchsia?"; why would Google invest in producing another OS when Linux seems to fit most of their needs (after all, it fits their ChromeOS and Android systems)? While being developed with Rust, a language the provides memory protection and should, in theory, provide a better experience for users, it doesn't mean that other languages can't provide the same protections -- Rust just means the compiler will do a better job at pointing out problems than other languages. But when you have an operating system like Linux, which is reviewed by thousands of developers around the world, highly modular and with groups focused on different subsystems, the protection comes from the community. Google could, pretty much, rewrite some critical subsystems in Rust and get over it, but they decided to go with a completely different OS. And the rumors say that it was simply 'cause Linux is licensed under GPL, a license the allows anyone to contribute -- with later versions of the license even requesting companies to provide the encryption keys for devices that require it -- and that Google simply abhors.

So, an OS created (probably) out of petty spite for rules that actually build open source communities now is trying to create an open source community. If this isn't poetic justice, I don't know what it is.