Linked by garyd on Thu 12th Apr 2018 22:36 UTC
Google

Google has posted the beginnings of a documentation project around their microkernel based OS, Fuchsia. From the readme:

This document is a collection of articles describing the Fuchsia operating system, organized around particular subsystems. Sections will be populated over time.

Order by: Score:
Love the homage to GNU
by woegjiub on Thu 12th Apr 2018 23:42 UTC
woegjiub
Member since:
2008-11-25

In terms of the result, given how android's going...

Here's hoping there'll at least be a fuchsia equivalent to vanilla AOSP for mainstream devices.

Google's ethos seems effectively antithetical to GNU ( and Linux and *BSD... )

Freaking cool seeing a mainstream microkernel-based OS being born before our eyes though.

Reply Score: 3

RE: Love the homage to GNU
by moondevil on Fri 13th Apr 2018 06:51 UTC in reply to "Love the homage to GNU"
moondevil Member since:
2005-07-08

On Android the only GPL piece left standing is the kernel.

With Fuchsia that "problem" is gone.

Reply Score: 4

RE[2]: Love the homage to GNU
by Ford Prefect on Fri 13th Apr 2018 13:07 UTC in reply to "RE: Love the homage to GNU"
Ford Prefect Member since:
2006-01-16

Not true, Android uses OpenJDK which is also GPL.

Reply Score: 2

RE[3]: Love the homage to GNU
by anevilyak on Fri 13th Apr 2018 14:28 UTC in reply to "RE[2]: Love the homage to GNU"
anevilyak Member since:
2005-09-14

Last I checked, Android uses Harmony, not OpenJDK. At least looking through the AOSP repo shows no signs of the latter.

Reply Score: 2

RE[4]: Love the homage to GNU
by Ford Prefect on Fri 13th Apr 2018 16:00 UTC in reply to "RE[3]: Love the homage to GNU"
Ford Prefect Member since:
2006-01-16

It must have been a long time ago you checked, as Google switched to OpenJDK already for Nougat.

It is really not too hard to research that fact either, either by googling "Android OpenJDK" or by visiting https://source.android.com/setup/build/requirements

For the Java Development Kit (JDK), note the master branch of Android in AOSP comes with a prebuilt version of OpenJDK


Edited 2018-04-13 16:01 UTC

Reply Score: 4

RE[5]: Love the homage to GNU
by galvanash on Fri 13th Apr 2018 18:46 UTC in reply to "RE[4]: Love the homage to GNU"
galvanash Member since:
2006-01-25

To be fair to anevilyak, this is a fairly recent change. They used Harmony up until Nougat, at which point they switched because:

1. Harmony is now retired and is no longer updated.

2. It ensures Nougat and future versions of Android are safe from the threat of additional Oracle lawsuits.

Imo they never avoided OpenJDK because of the GPL... They simply didn't see any need for it. It didn't exist when Android was originally built, and they had no desire to be Java compatible from a TCK perspective so they just rolled with what they had. Nothing changed until the lawsuit - that is what prompted them to switch, not an avoidance of the GPL.

In fact the GPL is basically why they switched to it, as now they can actually claim compliance with a license specifically issued under the entity (Oracle) they are trying to gain protection from.

Reply Score: 6

RE[6]: Love the homage to GNU
by Ford Prefect on Fri 13th Apr 2018 19:53 UTC in reply to "RE[5]: Love the homage to GNU"
Ford Prefect Member since:
2006-01-16

I agree with everything you say.

Nougat came out 18 months ago and the switch was announced Jan 2016. So I think it is a bit embarrassing to go so far to 'dispute' a simply stated fact this way without checking. Same with the people who vote on comments here…

Edited 2018-04-13 19:53 UTC

Reply Score: 1

RE[7]: Love the homage to GNU
by galvanash on Fri 13th Apr 2018 21:37 UTC in reply to "RE[6]: Love the homage to GNU"
galvanash Member since:
2006-01-25

Sorry if I came across wrong (not sure?)

I wasn't trying to correct you or anything, everything you said was accurate. I was just trying to add a why to it, since it is confusing as hell and not everyone knows the sordid history of this mess.

Also realize my idea of "recent" is very relative. I just meant that for most of its life Android did use Harmony. They have been using OpenJDK for a few years now though, so yeah, not really that recent ;)

Edited 2018-04-13 21:38 UTC

Reply Score: 2

RE[3]: Love the homage to GNU
by moondevil on Sat 14th Apr 2018 08:14 UTC in reply to "RE[2]: Love the homage to GNU"
moondevil Member since:
2005-07-08

It uses cherry picked parts of OpenJDK, not all of it.

In any case, even if I missed it, that is not where Android's value is.

The Java and native code related to what Android actually is, is under Apache license.

After pushing GCC out of Android, just like Apple did before, the kernel and Java runtime library are the remaining GPL components, all the other layers use a mix of Apache and MIT licenses.

Reply Score: 2

RE[4]: Love the homage to GNU
by Ford Prefect on Sat 14th Apr 2018 12:22 UTC in reply to "RE[3]: Love the homage to GNU"
Ford Prefect Member since:
2006-01-16

No, it doesn't use cherry-picked parts.

And the Java runtime is an extremly crucial part of Android. The virtual machine (ART) is only part of it.

Edited 2018-04-14 12:23 UTC

Reply Score: 2

RE[5]: Love the homage to GNU
by moondevil on Sat 14th Apr 2018 14:27 UTC in reply to "RE[4]: Love the homage to GNU"
moondevil Member since:
2005-07-08

Sure it does, only blind Google advocacy without Android development experience can state such thing, easily demised with facts.

To make it easier on you, lets stay with OpenJDK 7, released in 2011, later versions are just too easy to find missing features.

These are the APIs available in OpenJDK 7,

https://docs.oracle.com/javase/7/docs/api/

These are the APIs actually available on Android

https://developer.android.com/reference/packages.html

If you wish I can provide you a diff tool that compares both sets of documentation.

To make it easier on you, here are some examples:

* java.nio.file (added in API level 26, 2017)

* java.nio.channel.FileLock::acquiredBy (added in API level 24, 2015)

* java.security.CryptoPrimitive (added in API level 24, 2015)

* java.util.BitSet::toByteArray (added in API level 19, 2013)

* java.lang.invoke (added in API level 26, 2017)

I can also provide some logs from Android Gerrit, that shows that Google just doesn't take stuff from OpenJDK as is

https://android-review.googlesource.com/c/platform/libcore/+/364192

https://android-review.googlesource.com/c/platform/libcore/+/276617

https://android-review.googlesource.com/c/platform/libcore/+/616451

Plenty more to search for if you care.

Then you can git clone https://android.googlesource.com/platform/libcore/ and search for Android-removed: and Android-changed: entries.

What makes Android are the android.* packages, the Support Library and Google Play Services, not the pieces that they have taken from Java™.

Reply Score: 3

RE[6]: Love the homage to GNU
by Ford Prefect on Sat 14th Apr 2018 15:41 UTC in reply to "RE[5]: Love the homage to GNU"
Ford Prefect Member since:
2006-01-16

Did you really just call me a (blind) Google advocate just because I disagree with you in a technical discussion?

Do you think it is healthy for the discourse these days that people reduce each other to being aligned with big tech companies out of the blue?

Did you ever read me defending Google's approach of proprietarizing core Android APIs with the Play Services? Or that I do not see the value of copyleft license models? I publish my software under GPLv3 myself. I also worked in my local communitys by organizing "Android rooting parties" to help people regain control of their devices and install libre software alternatives on them.

All I said is that (a) the Linux kernel is not the only software shipped with Android that is GPL-licensed, (b) Android's current Java implementation is based on OpenJDK, and is not merely cherry picking some parts of it.

Is there anything "Google" in what I had said?


Now I don't know how you define "cherry picking". But I define it, in git fashion, as in taking small parts of code out of a larger codebase. This is not the case here. OpenJDK is the _foundation_ of the Android Java ecosystem. And a slightly incomplete JDK is not a "cherry picked" one to my understanding.

You go on to show proof that Android's JDK is patched. Big deal. Did you actually read the patches that you linked? They are functional patches. One of them is reverting an older patch to vanilla OpenJDK. What is so special about patching the software you are using to fix problems? Isn't this a crucial part in the free software model? Doesn't it show, by the way, that Google is actively contributing GPL-licensed code?

The android.* packages are based on the JDK. They would not work without the primitives etc. defined in the JDK. You cannot write anything using android.* without having a JDK. Good luck using android.text.Editable without having java.lang.CharSequence. However, you can ditch the OpenJDK shipped with Android for vanilla OpenJDK and it will still work. It is even recommended to developers for Android versions where OpenJDK is not part of the distribution.


I don't mind you shitting on Google or more precisely, on how they are evolving Android into a direction where they tighten their control on it and make other vendors depend on Google. I think your claim that Google is crusading against GPL is dubious, but well if you have good points about it I am inclined on reading them and getting convinced. However you should stick to the facts and if somebody corrects you on a technical basis, you should not go ad hominem paired with imputation.

Reply Score: 1

RE[7]: Love the homage to GNU
by moondevil on Sat 14th Apr 2018 16:43 UTC in reply to "RE[6]: Love the homage to GNU"
moondevil Member since:
2005-07-08

Sorry if I offended you, that was a bit over the top.

I just get a bit out of touch given how Google has contributed to Java fragmentation.

I use cherry picking as in Oxford dictionary, not whatever it means with git.

Selectively choose (the most beneficial or profitable items, opportunities, etc.) from what is available.


https://en.oxforddictionaries.com/definition/cherry-pick

It is definitely the case with Android, given that they only have taken parts of OpenJDK, not 100% of it.

You cannot take a random Java application that runs without any issue on OpenJDK, and have 100% guarantee that it will compile without errors on Android.

Sure I did read them, if you go through the comments, or read the file diffs there are small hints of differences in behaviour.

Google's actions prove their dislike for GPL, they created Bionic while "cleaning up" Linux kernel headers, dumped gcc out of the NDK, created their own patches to be able to compile Linux kernel with clang and now Fuchsia does not have any GPL piece on it.

Reply Score: 3

RE[4]: Love the homage to GNU
by Carewolf on Tue 17th Apr 2018 07:42 UTC in reply to "RE[3]: Love the homage to GNU"
Carewolf Member since:
2005-09-08

Gcc was never IN android in the first place. You don't compile on the device, and the license of the compiler doesn't matter anywhere

Reply Score: 2

RE: Love the homage to GNU
by RobG on Fri 13th Apr 2018 09:59 UTC in reply to "Love the homage to GNU"
RobG Member since:
2012-10-17

Absolutely agree with you that it is fascinating watching this grow. I really hope it gets some traction, as we could really do with seeing a microkernel-based system in the mainstream.

Always seemed a shame to me that MS seems to have dropped there research with Singularity and Midori - which combined Microkernel design with managed code to give an architecture that could be really secure without compromising performance.

Reply Score: 2

RE[2]: Love the homage to GNU
by Kochise on Fri 13th Apr 2018 10:08 UTC in reply to "RE: Love the homage to GNU"
Kochise Member since:
2006-03-03

Never understood why Minix3 never got any traction, even though the millions injected by EU. They had to "migrate" to (net)BSD to start getting a little bit relevant.

Reply Score: 0

RE[3]: Love the homage to GNU
by christian on Fri 13th Apr 2018 12:15 UTC in reply to "RE[2]: Love the homage to GNU"
christian Member since:
2005-07-06

Never understood why Minix3 never got any traction, even though the millions injected by EU. They had to "migrate" to (net)BSD to start getting a little bit relevant.


It has got traction, it's been used in the Intel Management Engine, which is the sort of target the research had in mind (deeply embedded, reliable OS).

Minix3 failed as a desktop OS because it didn't fix a problem on the desktop. Linux was already there, and reliable enough that Minix's uKernel design didn't help. To be honest, I've tried Minix on the desktop and it hasn't even been as reliable as Linux, with regular hangs as kernel processes crashed and didn't seem to come back to life as promised. Which is not a problem, it's nothing more hours couldn't fix, and I went in well aware of the potential limitations.

Reply Score: 0

RE[4]: Love the homage to GNU
by OmegaRed2105 on Sat 14th Apr 2018 13:24 UTC in reply to "RE[3]: Love the homage to GNU"
OmegaRed2105 Member since:
2018-04-14

"Never understood why Minix3 never got any traction, even though the millions injected by EU. They had to "migrate" to (net)BSD to start getting a little bit relevant.


It has got traction, it's been used in the Intel Management Engine, which is the sort of target the research had in mind (deeply embedded, reliable OS).

Minix3 failed as a desktop OS because it didn't fix a problem on the desktop. Linux was already there, and reliable enough that Minix's uKernel design didn't help. To be honest, I've tried Minix on the desktop and it hasn't even been as reliable as Linux, with regular hangs as kernel processes crashed and didn't seem to come back to life as promised. Which is not a problem, it's nothing more hours couldn't fix, and I went in well aware of the potential limitations.
"

Minix never failed as a desktop. It's just that it was never given a chance. When Minix was first created it was proprietary and pretty expensive (I believe it was $65). On top of that you had to buy the books and there was a developers fee if you wanted to make software on Minix. Minix was mostly used for studies on operating systems, not necessarily to compete with others oses at the time. Even Andrew S. Tanenbaum said it himself he was content with 386BSD. But development for 386BSD was halted because of a copyright infringement and with Minix being closed source and expensive, the only option left was Linux. Linux was free and open source, there was no fee to make software for Linux, and it was not bogged down by litigation, so developers flocked to Linux. By 96 Linux popularity took off and it never looked back. Remember the operating system market revolves around network effects. Developers port their software on operating systems that are well known. The three most popular operating systems are Windows/MacOS/Linux and that's where most developers and hardware manufacturers make their products on, although FreeBSD is getting up their in popularity. By the time Andrew S. Tanenbaum made Minix free and open source in 2000, most developers were pouring all their support towards Windows/MacOS/Linux. Also Andrew S. Tanenbaum hates Linux, he likes the BSDs.

Reply Score: 3

RE[5]: Love the homage to GNU
by Kochise on Sat 14th Apr 2018 16:19 UTC in reply to "RE[4]: Love the homage to GNU"
Kochise Member since:
2006-03-03

What do you imply by specifying "hating Linux, liking BSDs" ? Licensing model ? Technological choices ? Architectural debts ?

Reply Score: 2

RE[3]: Love the homage to GNU
by ahferroin7 on Fri 13th Apr 2018 12:36 UTC in reply to "RE[2]: Love the homage to GNU"
ahferroin7 Member since:
2015-10-30

MINIX 3 is relevant, just not in places you're likely to realize it's being used. The Intel ME uses it, and most of the other big applications are tight-embedded systems requiring very high reliability and usually soft real-time performance. In terms of competition, MINIX 3 is mostly competing against stuff like Contiki, RTEMS, and ITRON, not BSD or Linux, and definitely not Windows (except maybe the new Windows 10 IoT platform, but that's not really prevalent enough to be considered competition, especially compared to ITRON or RTEMS).

Linux has never really been much of a competitor in that field actually (BSD has been for certain applications, but not much), just like MINIX has never really been targeted at 'conventional' computer uses, originally being a platform for teaching systems-level design (and having looked at the source code, it far exceeds Linux in this respect), and then evolving into a research project.

Reply Score: 6

RE[4]: Love the homage to GNU
by zima on Fri 13th Apr 2018 21:13 UTC in reply to "RE[3]: Love the homage to GNU"
zima Member since:
2005-07-06

Are Contiki and MINIX really in the same category / competing with each other? The former runs on Commodore 64 / really low-power microcontrollers...

Reply Score: 3

RE[2]: Love the homage to GNU
by abraxas on Fri 13th Apr 2018 17:54 UTC in reply to "RE: Love the homage to GNU"
abraxas Member since:
2005-07-07

Absolutely agree with you that it is fascinating watching this grow. I really hope it gets some traction, as we could really do with seeing a microkernel-based system in the mainstream.

Always seemed a shame to me that MS seems to have dropped there research with Singularity and Midori - which combined Microkernel design with managed code to give an architecture that could be really secure without compromising performance.


Probably because a pure microkernel with managed code WOULD compromise performance. It's basically impossible not to. Any claim to the contrary is purely marketing spin.

Reply Score: 1

¯\_(ã)_/¯
by garyd on Fri 13th Apr 2018 22:15 UTC in reply to "RE[2]: Love the homage to GNU"
garyd Member since:
2008-10-22

Probably because a pure microkernel with managed code WOULD compromise performance. It's basically impossible not to. Any claim to the contrary is purely marketing spin.


Electrocom Automation supplies high speed letter sorting equipment to all major US Postal Service hub cities around the country (at least one per State). They've been running on QNX 24/7 since 1990. One such machine, the Delivery Bar Code Sorter (DBCS), can sort 35,000 to 40,000 letters per hour. I doubt that any .NET or Mono is anywhere in the stack, however, since these systems predate their managed code by over a decade.

Edited 2018-04-13 22:27 UTC

Reply Score: 2

RE: Love the homage to GNU
by Vistaus on Fri 13th Apr 2018 10:47 UTC in reply to "Love the homage to GNU"
Vistaus Member since:
2018-03-21

Correct me if I'm wrong, but isn't Minix already a mainstream microkernel OS? It's used in most, if not all, Intel CPU's.

Reply Score: 4

RE[2]: Love the homage to GNU
by Kochise on Fri 13th Apr 2018 11:06 UTC in reply to "RE: Love the homage to GNU"
Kochise Member since:
2006-03-03

If you go down that path... What about update ability of those Intel chips with an open source implementation of the said firmware ?

Reply Score: 2

RE[2]: Love the homage to GNU
by jessesmith on Fri 13th Apr 2018 14:31 UTC in reply to "RE: Love the homage to GNU"
jessesmith Member since:
2010-03-11

A highly modified version of MINIX is run on many Intel CPUs. That's not the same as MINIX itself being run by a user. Calling MINIX mainstream is quite a stretch.

Reply Score: 2

RE[3]: Love the homage to GNU
by Vistaus on Fri 13th Apr 2018 15:26 UTC in reply to "RE[2]: Love the homage to GNU"
Vistaus Member since:
2018-03-21

Mainstream among companies (or company, in this case but Intel is a gigantic one so it counts for lots of market shre!) is still mainstream. Just like how Linux is mainstream on servers.

Edited 2018-04-13 15:27 UTC

Reply Score: 3

RE[3]: Love the homage to GNU
by No it isnt on Fri 13th Apr 2018 18:22 UTC in reply to "RE[2]: Love the homage to GNU"
No it isnt Member since:
2005-11-14

Calling consumer technology mainstream is just as much of a stretch. Most technology is designed to do some sort of work, out of sight of the enduser. Software can have success without the consumer.

Reply Score: 2

Comment by Dubhthach
by Dubhthach on Fri 13th Apr 2018 11:26 UTC
Dubhthach
Member since:
2006-01-12

Namespaces are the backbone of file access and service discovery in Fuchsia.


Namespace per component: Every component receives its own namespace tailored to meet its own needs. It can also publish objects of its own to be included in other namespaces.

Constructed by the environment: The environment which instantiates a component is responsible for constructing an appropriate namespace for that component within that scope.


Namespaces are the gateway to the world


---

Perhaps it would be better to say that "Fuchsia is not Plan 9" ;)

Edited 2018-04-13 11:27 UTC

Reply Score: 6

End of Privacy optmised phones?
by dusanyu on Sun 15th Apr 2018 14:02 UTC
dusanyu
Member since:
2006-01-21

Beauty of the current state of android was the ability to unlock and rebuild the system to remove all of the Google spying with this new kernel google can lock the phone OS tight and only ship it to OEMs killing the ability for custom privacy enhanced builds.

And people are calling this a good thing well played google, well played.

Reply Score: 0

GUI
by bugjacobs on Mon 16th Apr 2018 17:56 UTC
bugjacobs
Member since:
2009-01-03

Now lets fuse this microkernel with AmigaOS4 :-)
And get a nice simple GUI and stuff !

Reply Score: 2