17 ms·
Fuchsia, a new operating system
- helloworld517 10y agoHosted on https://fuchsia.googlesource.com/ https://fuchsia.googlesource.com/ is what looks like an early in development operating system. Mirrored on Github where it's described as Pink + Purple == Fuchsia (a new Operating System) The kernel component 'Magenta' reveals it "targets modern phones and modern personal computers with fast processors, non-trivial amounts of ram with arbitrary peripherals doing open ended computation." [1] [1] https://github.com/fuchsia-mirror/magenta/blob/master/docs/mg_and_lk.md https://github.com/fuchsia-mirror/magenta/blob/master/docs/m...
- fredgrott 10y agoIts a new RTOS... Basically that means more than just cell phones as you have embedded systems in vehicles that use RTOS, watches, medical devices, etc. Its the operating system that runs the baseband cpu/chip other wise known as the BaseBandProcessor.
- helloworld517 10y agoIs it? I'm not so sure. Certainly the presence of LittleKernel, a lightweight real-time kernel suggests it's an RTOS but that kernel is wrapped by something called 'Magenta' which says "Magenta targets modern phones and modern personal computers with fast processors, non-trivial amounts of ram with arbitrary peripherals doing open ended computation." [1] [1] https://github.com/fuchsia-mirror/magenta/blob/master/docs/mg_and_lk.md https://github.com/fuchsia-mirror/magenta/blob/master/docs/m...
- ocdtrekkie 10y agoSome useful bits from IRC: [16:21] <ocdtrekkie_web> Why's it public (mirrored to GitHub even) but not announced or even documented what it's for? [16:22] <@swetland> ocdtrekkie_web: the decision was made to build it open source, so might as well start there from the beginning [16:22] <lanechr> ocdtrekkie_web: things will eventually be public, documented and announced, just not yet [16:23] <@swetland> currently booting reasonably well on broadwell and skylake NUCs and the Acer Switch Alpha 12, though driver support is still a work in progress [16:24] <@travisg> yeah and soon we'll have raspberry pi 3 support which should be interesting to some folk Sidebar comment: I wonder how much more activity this thread would be getting if the subject line had "by Google" in it. LOL
- puddintane 10y agoCannot wait for rpi3 support!
- cm3 10y agoHmm, Travis Geiselbrecht of NewOS, Danger and BeOS fame and Brian Swetland of BeOS fame as well? Interesting.
- swetland 10y agoI did also work on this Android thing that shipped on a few phones over the years, as well as on Danger/HiptopOS. (Not that I'm not proud of my BeOS work, but that was almost 20 years ago now...) Travis should get credit for work on iOS and WebOS too, if we're keeping score, I suppose!
- cm3 10y agoHehe, sure, and you could say Android is HiptopOS-the-next-generation. FWIW, I've also omitted Travis's Jawbone work. I mean, it was very public where Travis worked after Be, but I didn't really know what you have been up to, sorry that I didn't know more. BeOS stands out to me, and I honestly don't care how long ago it was. WebOS was nice, but Android and iOS don't even register on my personal radar of cool tech. I hope you're not offended by that. For instance, while it was possible to do low-latency audio on BeOS in 1998, it's only possible with a lot of trickery on Android. You can do low-latency audio on Linux and Windows too, but again it needs special tooling and config, though not as hard as on Android's Java-based stack. Think of it like this: people will remember artists for certain work during specific periods because it touched them in a special way. BeOS was that during my formative years, and you could say it was the Amiga of the 90s. Sadly, there's nothing that replaces the innovative features of it, even though we've improved other parts of the stack. It's just such a shame that BeOS is locked in some IP locker in Japan (Access Ltd) now.
- swetland 10y agoNot at all offended. BeOS did a lot of neat stuff and was ahead of its time in many ways. It had its warts too and sadly did not survive, though the Haiku folks have been working hard to re-create it over the years. Much of that has surfaced in other platforms since then (node monitoring and a true device filesystem were big features of BeOS I liked a lot that are available in Linux today, for example). BeOS got me out on the west coast and doing OS development for a living. I learned a ton of stuff while working at Be and got to work with a bunch of amazing people (some of whom I still work with today).
- merb 10y agoApache2 and MIT. Sounds interesting
- fixmycode 10y agoI remember a post earlier today about how open source projects needed better marketing. prime example. I had to dive in to know what was the project all about...
- pizza 10y agoWhen one OP's piqued curiosity meets HN's hype machine, hilarity / project management philosophy advice ensues. Fun for the whole team!
- striking 10y agoWhatever piece of media this is a description of, I'll buy 20.
- spankalee 10y agoThat appears to be on purpose.
- ocdtrekkie 10y agoI am pretty sure the Fuchsia devs were not planning on being (slightly more) famous today.
- stingraycharles 10y agoThis appears to be a somewhat informative page to link to: https://github.com/littlekernel/lk/wiki https://github.com/littlekernel/lk/wiki I had to find it buried inside the magenta repository somewhere. It's hard to piece together what this project is all about, indeed.
- aiyodev 10y agoThe problem isn't marketing. It's culture. While there are many benefits to free and open source software it encourages a take-it-or-leave-it attitude where software is released that's user unfriendly, full of bugs, and has little to no documentation. If someone dare ask about a problem they are having, often the closest thing to help they receive is "Why didn't you just use [esoteric Linux command]? Are you an idiot?"
- empressplay 10y ago-
- desdiv 10y agoThat's basically the non-endorsement clause from the BSD license. Nothing unusual about that.
- cpeterso 10y agoThe license is not unusual. What is unusual is that Google appears to be writing a new mobile operating system. Is this someone's 20% time project? What is the use case for Google?
- evv 10y agoGoogle needs an OS that works better for realtime applications like VR/AR and robotics. Note how they spelled out how it is designed for a non-trivial amount of RAM. This is in contrast to the tiny hardware that a realtime OS would typically run on. Personally, I'm hoping that this is a cleaner foundation for Android that we can all use to build more advanced AR and robotics applications.
- erelde 10y agoI'd like to see another big player in the os market. Something really new, not based on UNIX (don't get me wrong people...). Just for the sake of diversity. And maybe the illusory desire of a clean slate.
- deleted 10y ago[deleted]
- zfrenchee 10y agoPut Fuchsia and Android green on a color wheel. I dare you.
- frandroid 10y agoYou get napolitean ice cream?
- antod 10y agoHeh. As a young kid, "pink and green" was how I'd describe how I felt to my parents when I was nauseous. (they still 'bring that up' 40+ yrs later)
- drachenstern 10y agoD2639C http://meyerweb.com/eric/tools/color-blend/#A4C639:FF00FF:1:hex http://meyerweb.com/eric/tools/color-blend/#A4C639:FF00FF:1:...
- kevin_thibedeau 10y ago> It is good alternative to commercial offerings like FreeRTOS [1] FreeRTOS is GPL with an exception for static linking making it effectively free if you make no modifications. There is, however, an onerous clause prohibiting the publication of comparative benchmarks. [2] [1] https://fuchsia.googlesource.com/magenta/+/HEAD/docs/mg_and_lk.md https://fuchsia.googlesource.com/magenta/+/HEAD/docs/mg_and_... [2] http://www.freertos.org/license.txt http://www.freertos.org/license.txt
- emmelaich 10y agoThere doesn't seem to be much point to that benchmark clause. If it's GPL the source is effectively mine to do what I like. I could make a trivial change to the source (or not perhaps), and call the result a FreeRTOS derivative and publish my derivative's benchmarks.
- slavik81 10y agoNo, you couldn't because it's not GPL. It's a license that is nearly identical to the GPL, but slightly different. I think that added restriction actually makes it GPL incompatible, and disqualifies it from being an actual open source license.
- comex 10y agoI guess it depends on how you interpret this clause: > Linking FreeRTOS with other modules is making a combined work based on FreeRTOS. Thus, the terms and conditions of the GNU General Public License V2 cover the whole combination. Does this mean the combination (which could be a trivial combination) can be licensed under the pure GPLv2, or is it just an explanation of the consequences of "combined work", and "the terms and conditions of the GNU General Public License V2" is actually intended to mean the modified version thereof?
- slavik81 10y agoThat's a good point. I would think they meant with the exception, because their first sentence is very clear: > Any FreeRTOS source code, whether modified or in it's original release form, or whether in whole or in part, can only be distributed by you under the terms of the GNU General Public License plus this exception. The "thus" in your quote also seems to imply it's a clarification of the consequences of previous rules, not a new rule itself. But, IANAL.
- colemickens 10y agoWritten in C. What a shame. edit: Thank you to all of the repliers, I had no idea that most OSes were written in C. Er, actually, I'm more than well aware of that fact and I'm familiar with the number of CVEs that have occurred over the years because of the lack of memory safety involved in that C code. Sorry, I simply don't get the appeal of writing more operating systems and network-exposed code that isn't written in a safer language. Say like Rust; see Redox.
- charlesetc 10y agoLet's ignore that your operating system is probably written in c.
- Koshkin 10y agoActually, C is a perfect tool for writing portable operating systems.
- oshepherd 10y agoI love Rust immensely, and it is perhaps my favorite programming language as of late. However. This is a microkernel. There is very, very little code inside a microkernel which, if written in Rust, would not end up inside an unsafe block. You are building the safe abstractions here; that code is inherently unsafe. You could use Rust as a C replacement, but it is a worse C than C, and unsafe rust contains more perils (i.e. UB) than C.
- steveklabnik 10y agoRedox is microkernelish, and used to have a lot of unsafe, but has cut it down significantly. You'd be surprised :) That said, this is pretty much an open research question at this point, so you're right to be skeptical. (I would also argue that unsafe Rust has more _unspecified_ behavior than C, but not more undefined behavior, but until we get those semantics truly nailed down, can't say for sure. See above "open research question" comment)
- eggy 10y ago
- hackaflocka 10y agoI consider myself fairly tech savvy, and have done a little programming here and there. But from the linked page I couldn't figure out where any of the documentation of this "thing" is, nor how to install it, nor what platforms it's for. Was it just me?
- abarth 10y agoInstructions for getting and building the code are here: https://fuchsia.googlesource.com/manifest/+/master/README.md https://fuchsia.googlesource.com/manifest/+/master/README.md It runs on arm, arm64, and x64.
- arprocter 10y agoI tried the Ubuntu instructions on a Debian box but it errors out with: fuchsia/.jiri_root/tmp/src/v.io/x/lib/cmdline/cmdline.go:236: undefined: os.Unsetenv I suspect it is because the version of go in the repo is too old, I tried manually installing the newer version but still no joy
- vacri 10y agoWell, if it takes off, it'll have the side-effect of getting more people to be able to spell 'Fuchsia' correctly...
- hinkley 10y agoEasy to remember if you know that fuchsia is named after a German botanist by the name of Leonhart Fuchs. (Lionheart Fox, how badass is that name?)
- bobajeff 10y agoDoes anyone have an idea of what kind of technical problems this is trying to solve? It sounds like it's trying to be a RTOS for phones and modern hardware. But I know there has to be more to it than that.
- pavlov 10y ago> Pink + Purple == Fuchsia (a new Operating System) Pink [1] and Purple [2] were both Apple codenames for operating systems. Probably not a coincidence, but I don't see an obvious connection... [1] https://en.wikipedia.org/wiki/Taligent#Pink_and_Blue https://en.wikipedia.org/wiki/Taligent#Pink_and_Blue [2] http://www.phonearena.com/news/Did-you-know-that-the-codename-for-the-original-iPhone-was-Purple_id57876 http://www.phonearena.com/news/Did-you-know-that-the-codenam...
- mckillop 10y agoPurple - A system with high performance graphics, low-latency input, and a beautiful UI. Pink - An incredibly modular system for developers and users. If you hang out on #fuchsia long enough you will realize that we are all a bunch of OS nerds that have worked on many, many systems in the past (BeOS, ChromeOS, Android, webOS, QNX, DangerOS, iOS, MacOS, ...).
- united893 10y agoWould someone most kindly provide a VM?
- pavlov 10y agoThe repo at https://fuchsia.googlesource.com https://fuchsia.googlesource.com reveals a rather interesting UI story for this new operating system. It seems like the intention is to use Flutter [1] as the UI layer. Flutter uses the Dart language, so there's a Dart environment included in Fuchsia too [2]. For rendering, Fuchsia includes a project called Escher [3] which is described as a physically based renderer that supports soft shadows, light diffusion and other advanced effects. Looking at the source code, Escher is designed to use either OpenGL or Vulkan as the underlying graphics API. (There's an iOS example project included in Escher's source tree. Would be interesting to build that.) It's not immediately obvious why a lightweight operating system would need a renderer that can do realtime soft shadows and light effects...! But I think the idea here is to build an UI layer that's designed from scratch for Google's Material design language. Shadows and subtle color reflections are a major part of that "layered paper" aesthetic. So, the stack seems to be: Dart is the language for GUI apps, Flutter provides the widgets, and Escher renders the layers. The underlying application framework is called Mojo [4]. It already offers bindings for Go, Java, JavaScript, Python and Rust in addition to Dart, but maybe those languages are meant for services rather than GUI apps. (At least I can't see an easy way to create Flutter widgets from something like Rust without loading the Dart VM.) [1] https://flutter.io https://flutter.io [2] https://fuchsia.googlesource.com/dart_content_handler/ https://fuchsia.googlesource.com/dart_content_handler/ [3] https://fuchsia.googlesource.com/escher/ https://fuchsia.googlesource.com/escher/ [4] https://fuchsia.googlesource.com/mojo/ https://fuchsia.googlesource.com/mojo/
- themodelplumber 10y ago> Shadows and subtle color reflections are a major part of that "layered paper" aesthetic. They're a part of design language, raw elements of design. This can get much bigger than the Material Design of now. It can make sure that the subtle or even zany, domineering design of tomorrow has just the right level of refinement for its intended audience. IMO as a graphic designer and as someone who has been doing 3D rendering as a hobby for 15 years, it's pretty awesome to think about PBR moving into the area of UI.
- ash 10y ago
- aezell 10y agoI'm working on a Twitter client that only runs on this OS. Wait a sec... Oh, I see. Time machine was NOT set to 2010. Working on a Pokemon GO client that only runs on this OS.
- zedadex 10y agoTwit Plays Pokemon (GO)? :) (no slur intended)
- thekevan 10y agoI have not looked in to this and don't have expertise, but my first split second thought was "how are they going to keep up with security exploits?" Sad when my first thought it that someone's going try to steal from people using it.
- ansible 10y agoI'm calling it now: this is for augmented reality displays and similar. You want an RTOS for loss and predictable latency. And current GUIs aren't really suited to 3D environments you can walk around inside. This is Google's next Android, with a low latency rendering pipeline for the next generation of mobile devices.
- calinet6 10y agoBrilliant.
- eggy 10y agoWouldn't that be nice after Google has affirmed again and again that Java would be the only supported way to develop Android apps, even though they keep Dart funded internally... Hey, I'll bite. Let's see.
- plexicle 10y agoWhen did they "affirm" that? They've said a couple times that "Java at this time is the only way to build apps," etc. They never ruled it out for the future, AFAIK. Please feel free to prove me wrong, but I would honestly be surprised if you found anything. Having been to the last several I/Os where the question is asked at the fireside chats, the answer has always been "right now...". No one is saying dump Java, but if we could get some native hooks through something like Dart, that would be pretty awesome.
- Zigurd 10y ago"Java at this time is the only way to build apps" is the right answer for Android OS, because the Android OS is a combination of an app runtime and a Java middleware layer. Adding another runtime to Android would make it a second class citizen, or it would involve building a parallel middleware. What they really mean is that the result would be messy, and it wouldn't be Android-as-we-know-it. You can, of course, move the Android middleware layer to other OSs, for Android compatibility. Which is how you can run Android apps alongside Tizen apps: https://youtu.be/nmiHPcHGgSM https://youtu.be/nmiHPcHGgSM Android was designed for one runtime, Dalvik and later ART. But there is nothing preventing a new OS being designed for multiple runtimes that includes runtime support for Android apps. I'm generally not sympathetic to Java complainers. If you have Android Studio, or any other decent IDE, verbosity isn't a problem. But an OS built for Dart apps and a Dart UI stack would be the logical next step.
- dart_user 10y ago>> It seems like the intention is to use Flutter [1] as the UI layer. Flutter already ready for use? If Flutter is not ready for use then how it can be used?
- mckillop 10y agoThere are people using it already. Inside and outside of Google. http://flutter.io/ http://flutter.io/
- afsina 10y agoNo, flutter is still in tech preview mode. There are working example demos in the codebase but that's it. I have no idea on their release schedule but my guess is that Q1 of 2017 can be a target for a beta release.
- afsina 10y agoProbably you mixed Flutter with Dart.
- mckillop 10y agoNope. I also don't think that our statements are at odds with each other. Flutter isn't done yet but that isn't preventing a lot of folks from using it for real work.
- merb 10y agoActually this compiles pretty easy. It however only runs on the provided qemu. And actually without adding some user space tools you only can use kilo which is akward to handle under a MacOS terminal :( But it's really really easy to setup and even integrate userspace programs. kind of extremly simple to do useful stuff on it.
- mckillop 10y agoIt runs on some Broadwell and Skylake hardware. Docs are coming for http://www.acer.com/ac/en/US/content/series/switchalpha12 http://www.acer.com/ac/en/US/content/series/switchalpha12.
- swetland 10y agohttps://fuchsia.googlesource.com/magenta/+/master/docs/targets/acer12.md https://fuchsia.googlesource.com/magenta/+/master/docs/targe... Has some notes on setting up the Acer UEFI BIOS to boot the system and creating USB flash boot media. Hoping to get some more general "HOWTO Run On Hardware" docs up in the near future, including netbooting w/ NUC and other useful things.
- merb 10y agoactually I don't have had a Broadwell / Skylake which I can play with. I have a MacBook Pro 2013 Late (Haswell). But I wouldn't try out something on my production laptop anyway ;) I also have a two Xeon Sandy Bridges lying around, but I didn't tried em, but I guess even with some changes it would run on it. I just didn't had time, after it compiled it already was 2 o Clock at night.
- swetland 10y agoIt will likely boot on earlier Intel platforms, though some tinkering may be necessary. The focus has been on Qemu and on some modern UEFI based systems (and the latter booting with gigaboot20x6, also part of the Fuchsia repos). Debugging early boot / bringup issues is massively easier if the machine has a standard serial port.
- 10y ago
- mcirsta 10y agoThe only thing that really bothers me with this new OS is that the kernel is no longer GPL. With a GPL kernel like Linux we had a chance of getting the kernel source code ( some companies don't care if it's GPL anyway ) for our devices but if it's Apache or BSD good luck with that.
- ocdtrekkie 10y agoI suspect that's intentional. Google seems to prefer Apache-style licensing, as that's what they used with Android. By not relying on the Linux kernel, they get to avoid the whole copyleft kerfuffle.
- c3534l 10y agoFuchsia is not a combination of pink and purple. It is the color your brain comes up with when it sees contradictory color signals (such as very high and very low wavelengths without the appropriate middle stimulation). It's the only color not in the rainbow. As you can see from this additive color program (http://trycolors.com/?try=1&ffb5d9=0&c31cff=0 http://trycolors.com/?try=1&ffb5d9=0&c31cff=0), pink and purple create a lavender color. Whereas fuscia is what happens when you combine colors in an unusual way (http://www.exploratorium.edu/sites/default/files/ColoredShadows_DSC_9965_H1v2.jpg http://www.exploratorium.edu/sites/default/files/ColoredShad...). Normally I wouldn't be this pedantic, but this is hackernews after all.
- niftich 10y agoSome more background on the 'line of purples', of which fuchsia is a part: http://hyperphysics.phy-astr.gsu.edu/HBASE/vision/colper.html http://hyperphysics.phy-astr.gsu.edu/HBASE/vision/colper.htm...
- alimw 10y agoFrom your reference: "The 'line of purples' across the bottom represents colors that cannot be produced by any single wavelength of light." The GP is suggesting that fuchsia is special, but surely what he/she said applies to all the purples?
- basemi 10y agoyes and from !wen: "In the RGB color model, used to create colors on computers and television screens, and in web colors, fuchsia and magenta are exactly the same color, made by mixing blue and red light at full and equal intensity."
- twelvechairs 10y agoTo be clear on its origin its from the fuchsia flower which was made into the fuchsine dye which has these properties. See for its relationship to the visual spectrum [1] noting that the visual spectrum is ~400-700nm. The plant absorbs only the middle of the visual spectrum not the ends. This is the kind of stuff neither RGB monitors nor CMYK prints can capture well. Note this isnt the complete story either as your eye may percieve it very similarly to purple anyway due to the way we see light (through our rods and cones which clump the spectra again anyway and are subtlety different for everyone). [1] https://www.researchgate.net/profile/Bo_Hu12/publication/231232432/figure/fig10/AS:300531290525699@1448663651114/Figure-12-The-absorption-spectra-of-the-acid-fuchsine-solution-under-exposure-of-the-UV.png https://www.researchgate.net/profile/Bo_Hu12/publication/231...
- whyagaindavid 10y agoNo screenshots?
- swetland 10y agoNot terribly exciting, but here's a shot of virtual console 0 with the tail end of the boot log on an Acer Switch Alpha 12: http://i.imgur.com/LqDRoyG.jpg http://i.imgur.com/LqDRoyG.jpg
- lwis 10y agoThere's a distinct lack of information in their repos README's.
- lotsoflumens 10y agoI'm (not) eagerly awaiting the day when some IoT thing "Fucks ya".
- HoopleHead 10y agoWell, it may be difficult to fathom what this project is all about but, at least, I've learned one thing. I've been spelling FUCHSIA wrong all these years. I always thought it was FUSCHIA. [As I have several growing in the garden, this is an important development]
- deleted 10y ago[deleted]
- shankardelta 10y agoFuchsia = deep mind + Ai (Getting to there Ultimate goal) we can also expect updated Google glass too