A Talk With Syllable OS Lead Developer Kaj de Vos
angry tapir writes "I recently had a chance to interview Kaj de Vos, the lead developer of Syllable: An open source desktop operating system that's not based on Linux nor one of the BSDs. There's a write-up of the interview here, which includes some background on the project. I have also posted the full Q&A, which is very long but definitely worth a read."
You seem confused. The project releases a matching server that does use Linux as the kernel. The desktop OS does not. It's based on AtheOS, a new OS from scratch with a fair amount of application support built up over the years for a minor OS.
"$30 for the One True Ring. $10 each additional ring!" -- JRR "Bob" Tolkien
Not really sure what you're saying but Syllable is both a custom Linux distro, which is their server edition, and an operating system which was built from AtheOS which has it's own kernel, which is what is their desktop edition. The server edition is basically just there so that you can have a server with all the capabilities of Linux but a UI similar to the desktop OS's. It's been a while since I've used Syllable so things may have changed a bit though.
I think it's important to develop alternatives to Linux and BSD even if they don't have the app support (though some things can just be recompiled).
And I mean, if the developers enjoy working on it then that's up to them any way.
Why use a different kernel for the server and desktop versions? Even Microsoft came to their senses on that one and started just using the NT kernel for desktops and servers.
Oh, to live in a universe in which somebody interviewed the developer and he were to answer that in the first reply. And bunnies flowed hot and cold from the tap.
Half of this already exists. Now, down to the basement with welding equipment, large diameter pipe and some more test subjects...
"$30 for the One True Ring. $10 each additional ring!" -- JRR "Bob" Tolkien
He actually explains it in TFA, but long story short, he wanted a server OS that was compatible with both software written for Syllable AND the vast body of server oriented software out there for Linux. The only realistic way of doing this was basically customizing a distro.
He could have gone the Windows or OS X route and basically just layered the server services on top of the kernel as an application, but that would have required re-implementing at least parts of all those services to make them compatible with Syllable. Maybe the maintainers will do that someday, but for the time being their solution allows them to concentrate on further developing the desktop OS while still having a server os that fits into the ecosystem.
Monstar L
What? Syllable is in C and C++, with only a few pieces of assembly. I think you read the linked article about MenuetOS.
Bla bla bla.
It's a hobbyist OS. If you don't want to use it don't. Most people trying it out probably think it's cool to try these kinds of things out. They know and don't expect them to run all the applications they are used to or that those few that may run once things like GTK and similar is ported over will be of the latest version or run as perfect as on the latest Linux desktop.
So it's not for you. Fine. Move on.
And no. It's not based on Linux.
web.syllable.org? No! Why? Just when the irritating "www." prefix is beginning to finally die a natural death, someone thinks it's a good idea to rework it. Just let it die, ffs!
If you're only going to read one page of this article then read page five.
http://www.techworld.com.au/article/398892/developer_q_syllable_os/?pp=5
To summarise the thing that makes this different from everyone else is that the parts of an actual application are split up unix style. For example instead of having two or more applications taking your photo and taking out the red eye, the desktop would have thus functionality written once and the applications will simply glue all these standard pieces together.
My only criticism to this is that we already have this in the form of libraries. Perhaps what this guy is after is something more standardised and higher level then that but I don't see how that's not doable in linux.
To get any boost of performance over C, you have to be an extremely good assembly coder... to get a consistent 3x boost, you are either writing very sloppy C, or you're extremely good at assembly and using a pretty poor compiler/poor compiler settings. It actually takes an amazing amount of effort to beat a compiler these days, because compilers have rules to spot non-obvious stalls and such, where as the human has to rely on analyzing every bit of that by hand.
Also, a system where every component is 3x faster is still only 3x faster overall, there is no Captain Planet performance magic where by the power of assembly combined you get a 20x speed up... not to mention many desktop operations being IO limited (especially the ones that you actually notice the slow down on) and assembly doesn't magically make that faster.
Finally, someone did try it - MenuetOS - and they were able to make a quite compact and fast OS. But they also cut out an awful lot of what goes into a modern OS to do so. Syllable itself is not written in assembly like MenuetOS, which was actually the example used above.
On indoor pictures, you want to remove the 'red eye effect' caused by the flash. On outdoor pictures, you notice the horizon isn't straight and you would like to correct that.
"These are common, but technically complicated manipulations on pictures. The correction of red eyes may be offered by multiple applications on your system. The straightening of horizons may require you to buy yet another image manipulation application.
"Why can't you plug in the camera, have its icon appear on your desktop without extra software and click on it, then click on a picture and be offered one option to correct red eyes and one option to straighten a horizon?
Clearly there are difficulties doing this, but it seems like something useful if you can figure out a way to make it work.
"First they came for the slanderers and i said nothing."
Nevermind, the desktop variant is indeed not Linux based. (I should have read the FAQ before I posted.)
...OS/2 Warp ... but IBM screwed the pooch...
No kidding... Not to mention their marketing department didn't quite get the Star Trek based code names they were using... Half their material for "warp" looked more like bad acid trip kind of warp than "warp speed". And I have a poster somewhere from IBM that says OS/2 will "obliterate your work". Really... I don't think they "got it" at all...
But this is what the OS API, frameworks, and libraries are for.
Exactly. However, I would take it a step further and suggest that the overall idea to push this much application level functionality into OS libraries should be Considered Harmful.
.NET Framework is a good example because it is very basic and allows apps to explicitly target different framework levels (and the OS allows having multiple versions installed).
"Don't write your own red eye correction code, it's built into the OS! Oh, wait, now I see that your new version only works correctly with version 1.5 of the library that's not in my current OS release. Guess I have to upgrade the *whole OS* to install your new software."
Yes, this happens in all OS's (cf. DirectX). However, increasing the surface of these kinds of dependencies to this degree seems like a bad plan.
I'm all for code reuse, but I would prefer it if most apps were statically compiled and included all their dependencies. I am also fine with having a few, very stable external dependencies; the
The alternative is DLL Hell (and/or weird gymnastics to try to avoid it) and all too often these dependency patches that get pushed out ("fixed once in dependency library, now fixed everywhere!") don't pan out as intended and break one app or another.
Statically compiled binaries would be "huge" but again, disk space is "free" in these amounts. As a user, do I really care if a particular app weighs in at 3 MB or 150 MB anymore? Naturally, a binary diff patch system like Chrome's would go a long way to mitigating the bandwidth required to keep these up to date.
Oh well. While I'm wishing, I want a moon rocket too.