I decided to dig through open source to examine the state of Google’s upcoming Andromeda OS. For anyone unfamiliar, Andromeda seems to be the replacement for both Android and Chrome OS (cue endless debates over the semantics of that, and what it all entails). Fuchsia is the actual name of the operating system, while Magenta is the name of the kernel, or more correctly, the microkernel. Many of the architectural design decisions appear to have unsurprisingly been focused on creating a highly scalable platform.
It goes without saying that Google isn’t trying to hide Fuchsia. People have clearly discovered that Google is replacing Android’s Linux kernel. Still, I thought it would be interesting for people to get a better sense of what the OS actually is. This article is only intended to be an overview of the basics, as far as I can comment reasonably competently. (I certainly never took an operating systems class!)
What excites me the most about Fuchsia and related projects are the people involved. The pedigree here is astonishing – there are quite a few former Be, Palm, and Apple engineers involved. The linked article contains a good higher-level overview, and I do truly believe it’s one of the most exciting projects in the operating systems world right now.
What remains to be seen, however, is this: just how serious is this project? The breadth of the project and the people involved seem to suggest this is indeed something quite serious, and all signs point towards it being a future unification and replacement for both Chrome OS and Android, which is quite exciting indeed.
https://chromeunboxed.com/chrome-os-and-android-not-merging-sorry-an…
It was clearly stated direct by google that andromeda is a myth.
https://github.com/Andromeda-OS
Also does not help that a Mac OS clone is called that.
This is not relevant, as this is indeed not a merger of Chrome OS and Android, but a new system entirely.
Andromeda OS as some form of google source code project has been declared non existent by many google staff. So if it not a OS what is it.
https://android.googlesource.com/platform/frameworks/base/+/master/t…
It all starts here read carefully. This is not talking about a different OS.
Andromeda devices require higher performance score.
So Andromeda is Android device designed for Media with optimisations for that role. So its just Android not another OS.
So Andromeda OS is someone reading a source code and making a wild guess and being completely wrong. It was a idea for a marketing tool.
Talking about Fuchsia would be real attempting to work out what that project is up-to.
Its the myth that fuchsia had two kernels.
https://github.com/fuchsia-mirror
Yep it only has one.
What google is building fuchsia for would be worth talking about.
I don’t know what happened end of 2016 if there was ways for the media to jump the gun, miss read… They did it all.
So we need them to get back on topic and start looking at the real items not the errors.
Edited 2017-02-15 10:34 UTC
it was a thing, but isn’t anymore. it wasn’t fabricated.
it is a dead project though, so articles talking about its current progress are funny.
Given the kinds of people involved, and that Travis has a history of creating his own OS projects, isn’t it just possible this is a bit of fun for all of those involved? It’s an outlet for their inner geek. A fantasy OS – what would we do if there was no legacy? That type of thing? We might dream of this scenario, but they are capable of creating results. Hey – this is just as likely as any other conspiracy theory.
It could very well be another 20% project from people at Google.
It’s a nice dream thought. A Unixy OS with a microkernel that uses native code for it’s applications. All the promise of Sailfish without the baggage.
However, they really do need to do something about Android and ChromeOS being on different code bases, and they would control the kernel more then they can control the Linux kernel. Stable internal kernel ABI/API for drivers and syscalls that aren’t exported as GPL only come to mind as two areas they would be interested in cleaning up. This would also be a good time to clean up the way they do development and move to a more open FOSS OS style of development.
Of course, this could be something totally different, and more of something to standardize Google’s OS stack. Google makes a lot of hardware, and Linux isn’t exactly built for extreme uptime. You know things like hotswapping kernels, live patching of libs, or self-healing services. (https://en.wikipedia.org/wiki/NonStop_(server_computers))
We’ll have to see if it dies on the vine or six months after Google releases it.
Yeah, its Google though. So there might be an exciting project in the works. OK, if that is the case, is this going to have the full support of Google? They’re kind of notorious for creating solutions and not really standing behind them. Just take a look at dart or ara, for example.
I’m really glad they are going away with the Linux kernel. We need something which is easy to maintain, which has a good set of stable APIs/ABIs, and which is more stable and error prone.
Besides the Linux kernel is monolithic, so every part of it can bring it down.
The Linux kernel is a substantial part of the Android update problem, so I’m not surprised Google is exploring options to leave it behind.
Eh, they could fix that tomorrow by mandating all device drivers be open source and upstreamed before a device gets official Google Play support. It’s not a Linux problem, it’s a proprietary software problem.
Haha, yeah sure. Google will damage relationships with their most important industry partners just to make your geek fantasy happen and for the vague promise that the community will maintain the drivers of the SoC vendors for free (never mind they didn’t do it with Microsoft’s contributions to the Linux kernel and left them to bit rot and eventually removed them), instead of Google working around the GPL as best they can.
Anyway, even if your geek fantasy came true, the SoC vendors would simply withhold the source code, cease providing new drivers and watch Google stay SoC-less and hence hardware-less or having to use the existing proprietary drivers, while giving Tizen newer SoCs and drivers that would drive headlines to the OS.
Most people treat SoC drivers as something that performs some dumb serialization, forgetting they represent a huge part of the R&D containing anything from OpenGL implementation, sound drivers, cleverly tuned WiFi algorithms and part of the wizardy that is the DSP. Even the presence of a competent OpenGL implementation is big enough reason to not open source. Unless your OpenGL implementation is crap and your company’s name is Intel, you have no reason to open source it.
Edited 2017-02-15 20:31 UTC
It is no fantasy. It is freedom unless you believe fascism can be excused for money.
Fantasy like this?
“Those Who Sacrifice Liberty For Security Deserve Neither.”
Godwin’s law.
Also, tell me how receiving the source code of a piece of software is necessary to protect your freedom but receiving the source code of an FPGA implementation of the same functionality is not, my little freedom-fighter.
If you think receiving the source code of the FPGA implementation is necessary to protect your freedom too, explain why receiving the source code of the same functionality implemented on a chip isn’t. Then do the same for same functionality implemented as wired-together NAND gates, then the same for functionality implemented using replays or even gears and electomechanical parts. When does access to the source code stop being a necessity to protect your freedom and how does it differ from the previous step? (when it comes to protecting your freedom) Explain.
Edited 2017-02-15 20:59 UTC
Hi,
Currently consumers are free to choose open source products (where nobody can be held accountable and any malicious attacker can easily obtain/modify the source to create a trojan) and are also free to choose proprietary products (where the manufacturer can be held accountable); and manufacturers are also free to provide open source and free to provide proprietary.
By insisting on open source you remove the ability to choose for both consumers and manufacturers; and destroy freedom.
– Brendan
Brendan just because attacker does not have the source code does not mean they cannot embed a trojan.
http://www.linuxsecurity.com/resource_files/documentation/virus-wri…
Note the term “parasitic file viruses” So attackers can modify closed source binaries and add their own code with or without source. Malicious attackers have all kinds of toolkits to modify closed source programs.
Question is how do you audit against this form of modification.
Choosing open source products also does not mean no one is accountable in all cases. You pay for your libreoffice from like Collabora yes it open source office suite but since you paid them they are accountable for quality control of the binary they provide if something is wrong with it they are accountable.
Basically with Open Source if you pay no one for it you get equal quality insurance of nothing.
https://reproducible-builds.org/
Then we have items like Reproducible Builds that enable you to confirm exactly what source codes an application is based on. Include complier.
http://researchcenter.paloaltonetworks.com/2015/09/novel-malware-xc…
Remember the Xcodeghost malware where the developers IDE was infected.
This is the interesting point about Reproducible builds is in a case like Xcodeghost you have the build list and you can rebuild and find out if someone was infected without having to know what the infection was.
The word proprietary is a problem as there is such thing as proprietary open source. This is where you only release the source code to your paying customers. This is Collabora custom patched version of Libreoffice.
The term closed source or open source has meanings. Proprietary can be used with either.
With the list of parts a program is built from it can be next to impossible to audit if you have a security problem this was showing with the openssl Heartbleed Bug there are still people using closed source programs that are effected by the Heartbleed bug. Openssl license did not forbid it from being linked into a closed source program.
The reality here you chose a closed source program they don’t tell you what parts they used to make it you could be running open source code with known exploits. So there is a very important reason why you need to look what is inside a program.
Brendan,
Freedom is, and has always been, relative. One person’s freedom from oppression necessarily opposes another person’s freedom to be oppressive. Some goes with corporations. A person’s freedom to live without pollution opposes corporate freedom to pollute the environment. Employee freedoms to make their own healthcare decisions directly opposes employer freedoms to decide what providers and services are covered (extremely pertinent in the US right now).
This relativity is why both political parties claim to be the one for freedom at the same time, because in a legitimate sense they all want “freedom”. It’s just a matter of which freedoms are more important to them.
Personally, I will side with individual freedoms over corporate and government power almost every time. This puts me at odds with many republicans who want freedom from government power but often implicitly or explicitly want to strengthen corporate power. They’ll say things like “government regulating us is wrong because it takes away our freedoms”, which is absolutely true. And yet at the same time they overlook how corporations with unchecked power have taken away individual freedoms, which I value more than corporate freedoms.
That’s why freedom is such a complicated issue.
Edited 2017-02-16 13:18 UTC
Nope, that’s inaccurate if not completely wrong. A breakage caused by an unstable ABI is a breakage, and someone will have to spend programmer man-hours to fix it. Unless “the community” has provided a contractual obligation to fix any breakage in any GLPed driver caused by the unstable ABI in such and such amount of time, it is still a breakage bound to cause labour cost to the vendor (if the community doesn’t fix it like in the case if Microsoft contributions).
So, it’s not a proprietary software problem, it’s an unstable ABI problem (aka Linux problem).
> Unless “the community” has provided a contractual obligation to fix any breakage in any GLPed driver caused by the unstable ABI in such and such amount of time
That’s literally how the release process works for in-tree drivers, you idiot. Any ABI/API change requires ALL impacted drivers to be updated before it hits a released kernel.
kurkosdr,
Think about this pragmatically, source code gives you the ultimate freedom to update/fix/re-purpose it as you like in whatever OS you like. Without source code, you are stuck. It’s not just linux or alt-os either, there are times I’ve had to replace perfectly good hardware because proprietary windows drivers were incompatible with the new OS and I did not have the source code to fix it.
While I’m perfectly aware most users don’t have the expertise to use source code themselves, for every developer tackling the problem there are likely thousands of users experiencing the same problem, so there’s a huge benefit to having the source code. Being dependent on a single proprietary source can be bad for users’ interests, especially in an industry notorious for sell-and-forget tactics.
That’s a convenience you are asking for, not a freedom, and not being provided with that convenience is certainly not “fascism”.
Edited 2017-02-16 09:10 UTC
kurkosdr,
Sorry, but that’s wrong. If you want to say that we aren’t entitled to any open source drivers, then that’s one thing. But it’s not merely a “convenience”, not having source code undeniably limits what can be done by developers who would otherwise be able to do them.
Nope. It only “undeniably limits what can be done by developers who would otherwise be able to do them” if you don’t want to learn assembly. Otherwise, we wouldn’t have so many ROM mods done by fans (who obviously do not have access to the source code). Or PC games that have been unofficially upgraded several times by modifying the exe (such as IP Lounge having significantly modified and upgraded Need For Speed: High Stakes, a video game)
Again, you are asking for a convenience. Demanding to modify code in a high-level representation is a convenience, not a basic freedom.
Of course, what exactly is considered high-level enough to classify as source code (and hence not violate your freedoms) is not really defined. But you are welcome to amuse us by providing a definition. BTW my “preferred form of the work for making modifications” (aka FSF’s definition of source code) is MC68K assembly with some macros, where the complexity of macros can be really small or almost C-like (not really, I am just introducing the thought experiment). Is this source code? Who knows.
If Stallman had spent half the time he spent writing the GNU manifesto in learning assembly to fix that broken printer driver, we ‘d have been spared a quasi-religious movement that is half of the time an anti-copyright organization in denial (because they don’t just want to modify the source for themselves, they want to be able to stamp out copies of even the original source-code bits for everyone) and the other half time glorifying the source and elevating to a much higher standard than it really is: a technical instrument that simply adds lot of convenience. Not a right. Not a path to freedom.
Edited 2017-02-16 14:34 UTC
kurkosdr,
What you actually mean is called “reverse engineering”, a very tedious process, often requiring even more resources and expertise than the engineers who wrote the official drivers with specs in hand. Linux has gotten much better thanks to the demand for linux support in key sectors like data centers, HPC, etc. But lets not forget that before this growth in popularity linux drivers were a real problem to much of our frustration as users as well as developers.
With the mobile sector, thanks to the heavy use of bundling of hardware and OS, the manufacturers are not releasing the source code or specs that would help users bring their own OS. While you may not care about this, you should understand that for some of us this is a real setback in terms of developing other operating systems for our devices.
If you are going to continue to suggest that not having source code doesn’t matter for developers, I think that’s an extremely weak case, but we can agree to disagree.
Edited 2017-02-16 15:42 UTC
Nobody is obligated to make it easy for you. Just because you have the right to do it, it doesn’t mean they have to provide you with source code, or source code having named variables (instead of 3-letter ones like aaa aab aac etc) You are asking for a convenience, not a right.
kurkosdr,
Nobody is saying open source is a right, only that for independent projects, not having it makes the difference between being viable or being an unattainable pipe dream. Opening up the specs and source code would be the best thing for innovation, it would bring back innovation levels we haven’t seen in a long time.
On a higher level, it’s just one of the tragedies of humanity. Working together, we really can accomplish great things. But people are so greedy that they’d rather hold others back empowering themselves than to work together to advance everyone.
Nope, innovation doesn’t come by having everyone “working together”. Innovation comes from having groups of people working against each other, more specifically trying to make the other group’s products look like antequated crocks (what Google did to Altavista and Yahoo and gave us a page-ranking innovation). People are motivated to stay up working late and super-perform by the desire to make the other group’s products look lame in comparison to theirs in order to gain a majority market share and gain lots of money. That’s how you innovate: Having startups against others startups against incumbents, and incumbents reacting to startups.
It’s called innovation by competition and survivor of the fittest. Sorry if it doesn’t fit the socialist ideology for innovation you have in you little mind.
Now, does the increase in innovation achieved by this model justify the anxiety and stress it causes? That’s another question entirely.
Edited 2017-02-16 19:30 UTC
kurkosdr,
The difference is between competing with others by improving oneself versus competing with others by harming the competition…oh wait, I see now, let me give you a belated hello Tonya Harding
Just kidding, but I do hope you can see the point I’m making.
If Stallman had spent half the time he spent writing the GNU manifesto in learning assembly to fix that broken printer driver,
Something to remember in Stallman time when he had trouble with a printer driver the words “Printer on Fire” were not just a error message they could be reality if you send the wrong instruction to the printer. So you want specification or source code in cases like this not blindly guessing.
Is there anything equal today I would say is Wifi when you can by error set the wrong country so have you Wifi device be it router or client broadcast either on the wrong frequency or wrong power level then to have your countries regulators wanting to fine you.
There is a big difference kurkosdr between modifying a game without information on how it works and modifying a driver. Modifying a driver wrong could kill your hardware or have you on the receiving end of a 10000+ dollar fine.
The big thing is there is not just open source and closed source.
There are many levels in the middle.
Pure closed source where the maker is the only one with the source code is insanely hard to have validated that there are not stupid coding errors.
Please note Microsoft is not a Pure Closed Source.
Governments sign NDA agreements with Microsoft to have access to the source code they are allow to build the source code to confirm that the source code they are given is the same as what Microsoft ships. The NDA forbids making their own versions without expressed permission every single time.
Next you have NDA to all customers using the program with the right to get the source code. No right to modify source code or production use binaries built from the source until the maker of product ceases support. This is a insurance policy against the software maker going bankrupt so that it possible to transfer to a new vendor in that case.
Then there are many more steps before you get to what we call open source license.
With drivers makes should really release the source code or at least detail specifications of the hardware to avoid doing anything that breaks laws when they end of life product for anyone still using those products to take over the security job.
So there are many middle level options that could provide what is required to perform security audits without going fully open source.
Some of the problem is that opening up drivers for companies that do what Nvidia does would cause people to come aware how often Nvidia just down brands a perfectly fine card to sell out excess high end stock.
It is preposterous to think that a starting-from-zero OS has any chance to be as powerful and bug free as something that has received the uncountable man-hours as Linux. IPC, networking, memory management, multitasking, multicore scalability, fault-tolerance, drivers… There are hundreds of areas where tons of work have been poured; the smallest of them has tens of people working on it and bickering for years to iron out the smallest details.
The value of Linux if you count all those man-hours, even at cleaning-person rates, is astronomical. Replicating it requires a gigantic cash investment, and with fewer eyes watching over, with the near certainty of making extremely expensive mistakes. It is just not realistic to pretend to replicate all that work alone. Even Apple went out and grabbed the Mach kernel and BSD unix to build on.
Now, if it is the (turbulently) flowing ABI that bothers them, Google are perfectly free to branch Linux at any release and continue developing theirs in however way they want, as long as they keep the code available under the GPL license. They would start with something that was already working very well, and where tons of expertise are already available. So why don’t they do it? Because even that is not practical. Too much collaboration is pouring in to give that up.
I’d be very surprised if they dropped the Linux kernel at any time. Java, Dart, may come and Go.
Interestingly, Mojo is almost equal to Xojo, a BASIC based language that is cross platform, formerly RealBASIC.