Dec 8

My Five Points of an Ideal OS

Category: Software, Thoughts

So there are plenty of operating systems out there and more are gaining ground.  OSX and Linux are really starting to punch holes in Microsoft’s to-date stranglehold on the consumer/business desktop OS market, but these OS’s are not without their own problems.

First OSX.  Lets step through my issues with OSX step by step.  First is that OSX is based on BSD-UNIX (and the Mach kernel), namely FreeBSD, a operating system family emphasizing F/OSS, and while this in and of itself is not a problem, what Apple did with it, is.  OSX was turned spawned out of not only BSD-UNIX but also numerous other F/OSS projects that then formed a good portion of the basis for OSX.  Apple then essentially threw a pretty GUI on it, and made it so it will only run on their proprietary hardware.  I know there are other aspects of OSX, but I cannot get past this part because it totally circumvents the entire F/OSS model and philosophy.  Second, Apple’s OSX is horribly insecure.  Yeah, few virus’s exist for OSX but that’s because it’s more obscure than anything else.  Heck Vista was called more secure than OSX and you may be asking why this is.  Well, a lot of the open source codebase that comprises OSX hasn’t been updated in huge amounts of time.  Furthermore, OSX doesn’t do any modern sort of heap/stack/library protection or randomization.  It inherits a lot of UNIX’s security, but its legacy security.  It really needs to be brought up to date.  Finally, my last problem with OSX, is that Apple doesn’t contribute any F/OSS back to the F/OSS community.  I would be a hell of a lot less critical of Apple Computer if they simply contributed back to the F/OSS community.  It could be anything really, from simple tools to make life easier on UNIX, to open-sourcing their filesystem, to even making OSX/UNIX application interop easier, but none of this has ever come to fruition.  Plus, it seems like in general, Apple users have something crammed up where the sun doesn’t shine about F/OSS (example).  This isn’t always the case but seriously, loop-holing around BSD style licenses is one thing, but flat out ignoring the GPL is just not cool.

That being said, I’m also having some issues with the Linux license.  Story time kids, Sun Microsystems has pretty much Open Source’d everything in their software product line, with very few exceptions.  It was at this point that Sun Microsystems rocketed up to my list of favorite companies.  One of the rocking things that Sun also open sourced with everything else was their ZFS file system which, if you don’t already know about ZFS, you need to take some time to read right now.  Basically ZFS is a totally rocking, next-generation file system that has all the features and performance to please both end users and ultra-high-end SAN box admins.  However, the FSF considers the license under which ZFS was released (CDDL) to be incompatible with the GPL (under which the Linux kernel is licensed) because of some of the clauses the CDDL inherits from the MPL, which I think is a crying shame.  Because of this confliction, ZFS can never be ported to the Linux kernel as long as both pieces of software remain licensed the way they currently stand.  Now I know there exists a ZFS FUSE driver for Linux but I think by running the filesystem in userspace, a lot of the extensibility and performance of ZFS is going to be inhibited, not to mention that this completely misses the point that a programmer should be Free to put said ZFS code into the Linux kernel should he so choose (you know, the founding basis of the GPL movement).

Plus the Open Source Business Model, as its currently known, just isn’t working to the extent that it should be (though I wouldn’t say it’s totally broken).  Companies backing Open Source and GPL can be a very good thing, lest we forget about the invaluable contributions that Red Hat, Google, and Sun Microsystems has made to the F/OSS community.

Which brings me (finally) to my five points about operating systems.  This is a bulleted list of objectives that I would like to see an OS strive for as well as what I think the Free software movement should be striving for.

  1. A commercial OS is ok, provided that, it has UNIX-like functionality, is polished and ready to meet the consumer end of the product (meaning keeping up with security patches, has a nice GUI, and stays innovative)
  2. It needs to be kept up to date.  If it does use F/OSS software, keep it up to date.  Better yet, help the projects or at least some of them with security patches, bugfixes, and otherwise
  3. It needs to be an open OS.  If you want to charge for binaries and installers, fine, but being able to acquire the source code for the OS, so the users of said OS can make changes to it as well as publish said changes, needs to be a priority.  It also needs to be free of strict licensing that could cause conflicts with other open source licenses and even some proprietary licenses as the case may be.  Also it needs to be able to run on non-vendor-specific hardware.  Don’t make an OS for one specific hardware platform.
  4. The company publishing the OS should contribute back to the open source community.  It’s important that whatever is taken out of the Open Source community, needs to be put back in.  If you take significant amounts of code out of the F/OSS community, put back in significant amounts, whether they be code, bugfixes, innovative programs, useful programs, paradigm shifts, or otherwise.  Be a responsible company.
  5. The OS should not be just a hotch potch compilation of F/OSS software.  It should strive for some sort of innovation and conform to some principle.  Whether this is meeting the needs of a niche market, or just making UNIX a more user friendly OS, its important to actually crack open an IDE and get some stuff done.  Also, it’s very important that, while maintaining a level of independence, that cross-platform compatibility be either maintained, or be made easy to maintain (such as open sourcing your package management system or better yet using a currently existing one)

These are my 5 points about operating systems as I would like to see them exist.  I doubt I’ll ever SEE this but one can dream, can he not?

I have high hopes for operating systems like OpenSolaris and Linux.  While these operating systems have their problems, they seem to be striving for these goals as listed above.  However they really lack polish and a few other things at this time, but I’m really excited to see their development moving forward.

Anyway, I hope you’ve found this article at least interesting and that you can take something from it.

No comments

No Comments

Leave a comment

Powered by WP Hashcash