There’s been a lot of confusion about exactly what Unity Linux is.
I thought I’d talk today a bit about that. I’d like to talk a bit about what Unity uses for it’s ‘guts’. I’d also like to dispel some myths surrounding Unity. Lastly, I’d like to talk briefly about how Unity is doing all it can to further Open Source and Linux by contributing to projects it is involved with. The reason I know so much about this topic is that I’m the webmaster and host for the Unity Linux Project as well as one of the documentation team members. So, let’s take a look first at what Unity Linux is…
What is Unity Linux
Unity Linux is not a conventional distribution of Linux. It’s a core on which developers can build their own distribution of Linux. We’ve set out from the start to provide an excellent minimum graphical environment that gave developers “just enough graphics” for them to create something. The smaller, the better. We elected to go with Openbox because of it’s size and stability. We selected using Mandriva as our base because of the number of packages they provide and the quality of those packages. We pushed lxpanel as a minimal panel because it provides just enough functionality for distro developers to see what they’ve installed after they’ve installed it…it also is familiar to most people whereas Openbox right click menu’s may not be. All in all, our target for the core release is developers. We’re not designing this basic desktop to be used by end users. We’re not trying to win any awards with our awesome minimalistic desktop skills. Why would we do this? To answer this, you have to take a look at our developers.
One of our developers, Kdulcimer, is the lead developer of TinyMe Linux. A few years ago, he created a fantastic minimalistic “remaster” of PCLinuxOS. It was wildly popular and continues to be so today. Kdulcimer was one of the first developers that elected to go with Unity Linux for his core. Our other developers saw what Kdulcimer did with his distro and how small he made the core. They learned from how he did things and applied it to Unity. Thus, Unity has a small base…as evident by both the beta releases. Upcoming release candidates will be very much the same.
Lead developer gettinther does a good job explaining what Unity is:
One of the big issues facing small distros around is that there’s a limitation in the ability of each group to maintain a healthy up-to-date core. Most people prefer to focus on the DE / user interface, working on the look&feel rather the the internals. Those distros end up with stale core which in turn causes numerous “hard-to-find” issues.
Most of the distros with us existed before Unity, like Tinyme, Sam (abandoned project now), Granular, Synergy (formely eeepclos). The idea is to create distros only insofar as “presetting desktops by people who love those desktops”. Rather than having a “one shoe fits all”, we decided to provide a core module and look after maintaining it. Each branch distribution joins the team and has full developer access. For Unity to become a full fledged distro means favoring a DE over others. By limiting the scope to the core product (we maintain the various DE too but leave the DE specific changes to the branches). It makes it a little more difficult to install stuff but it also means that all DE are looked after.
As far as the user is concerned, it means the each branch has their word in the development of the core which ensures that the distro is well supported. It pools the efforts of each distro who would otherwise be on their own so means a large development team and as such better packages.
So Unity Linux is a base on which to build. A foundation for “remasters” to build from. But what is a remaster? What technologies does Unity use? Let’s take a look at the internals of Unity next.
Unity Linux Internals aka Guts
When we initially set out to not only have a small graphical base but also to wrap around the LiveCD project. For those of you who don’t know what LiveCD is..you can visit the old berlios.de project page:
The project features automatic hardware detection and setup, and utilises compression technology to build a LiveCD from a partition much larger than would typically fit on a CD. (Up to 2GB for a normal 650MB CD.) When booting from this LiveCD, the data is transparently decompressed as needed. LiveCD now supports udev.
Currently, Mandrakelinux and PCLinuxOS are supported as a host for creation of the LiveCD, i.e. we are only able to create LiveCD’s from a MDK or PCLinuxOS install. The LiveCD scripts are still beta, and bugs are being eliminated. Your help and feedback are appreciated!
The set of scripts allows a person to make a liveCD copy out of their desktop for backup purposes or as a standalone linux distribution. When you create that new ISO or backup ISO, you have ‘remastered’ the master copy. So the livecd scripts are really just a set of tools that allows a user to create something new or backup their existing desktop as a live CD.
The project at berlios was taken over by Didouph as lead developer just before Unity was formed. There hadn’t been much work after Tom Kelly left the project quite a long time ago, but Didouph was optimistic. When he joined Team Unity, he placed LiveCD development on the back burner and worked hard with the graphics team on logo development.
Later, it became apparent that in order to keep creating a great distribution that could remaster itself, we needed to make improvements to the code of LiveCD. First off, it needed 64bit support. Secondly, it needed better detection than what it had. Third, it needed to have internationalization work done. Fourth, it needed to support higher kernel versions than what it did. All those things have been accomplished with internationalization still being worked on.
When we initially took over the ‘modernization’ of LiveCD we didn’t all flock to berlios to do so. Work instead began when we gave a small sliver of our own SVN over to LiveCD. It made sense geographically for our developers to have the ability to commit code in the same place instead of at a third party (berlios); the reason being, we needed many commits fast and didn’t want to wait…we were ready to move forward with it immediately. We snagged the GPL’d LiveCD code and located it on our SVN.
Since Didouph was the maintainer of LiveCD, we felt it only natural that Unity would lend a hand to him and his project by taking over development. An entire team working on LiveCD would mean greater output and more advancement. Thus, Unity maintaining the LiveCD project was born. Anyone is welcome to take the code and use it how they seem fit. We’re working on getting LiveCD it’s own proper SVN or Git repository at a public site away from Unity Linux…if you’d like access (read only) to LiveCD SVN, drop Unity Linux a line via their contact page.
Common Myths Surrounding Unity Linux
Heard any good ones lately? If I don’t cover the ones you’ve heard here, please leave me a comment and I’ll address yours specifically.
Myth #1 – Unity Linux is just PCLinuxOS rebranded
Most of the developers of Unity Linux were contributors to PCLinuxOS during the time that Texstar had stepped away. As contributors, they were not part of the developer team. They had limited access to the core, iner-workings of PCLinuxOS. How do I know? I was a developer…the main web developer…for PCLinuxOS and I monitored all mailing lists, all websites, and even was chief of MyPCLinuxOS.com. There were very few people on the development team of PCLinuxOS that are now part of Unity Linux…because the PCLinuxOS development team was kept small.
When Unity Linux initially was started, the contributors and developers that were involved grabbed a ‘snapshot’ of the PCLinuxOS repositories and began working on bringing packages to updated versions. They quickly ran into trouble because PCLinuxOS used such an outdated toolchain that many new packages wouldn’t compile with it.
After some discussion, developers abandoned PCLinuxOS packages and instead worked with Mandriva packages. This allowed Unity to move forward sans old toolchain and outdated core. Now most of this stuff doesn’t matter to the end user…they just want a stable environment. But the Unity Linux developers wanted to push forward with the latest kernels, the latest rpm version, and the latest smart package manager versions. Doing so required massive leaps forward even from Mandriva.
As you can see, while Unity Linux originally started with a PCLinuxOS fork, they abandoned that fork and rebased on Mandriva. They now stay inline with Mandriva development. If you have Mandriva and Unity Linux questions, please stop into the Unity Linux chat channel on Freenode: #unitylinux and ask proyvind questions…as he is the Mandriva Linux representative that works with Unity Linux 🙂
Myth #2 – Unity Linux Stole mklivecd aka livecd from PCLinuxOS
This is a pretty funny one and I’ve seen quite a few references to ‘stealing’ GPL code. First things first: You cannot ‘steal’ GPL code. It just can’t be done. Secondly, the LiveCD project was stagnant and had a SINGLE developer working on it. That developer joined Unity Linux and all 25+ developers there decided to help him make some progress on it. In the meantime, they took the initiative to make improvements. For example, they gave it 64bit compatibility. They gave it have better detection. They took the code and gave it better international language support. All those things are made available for FREE to any distribution wanting to download a snapshot from SVN.
Now, if anyone has a claim to LiveCD as ‘theirs’ it would be Jaco Greefe who was the principal on the project LONG before any distributions other than Mandrake aka Mandriva even worked with it. Texstar grabbed what Jaco’s project mklivecd and used it to create the original PCLinuxOS 2003 release. This release was based on Mandrake 9.2 at the time and a few other Mandrake developers began to debug the script through the creation of PCLinuxOS. Mandrake was a trademarked name, so Texstar named it PCLinuxOS.
As you can see, if any one distribution has claim to mklivecd, it would be Mandrake aka Mandriva which was where the script creators came from. It’s also where the script was first made useable. However, claim that Texstar made it into a nice package with PCLinuxOS…that is totally true. What we’re doing now by developing it is making sure it continues to progress into the future with 64bit support and even when udev is dropped from Linux…no matter what, we’ll make sure it works…and hopefully it will work for more than just Mandriva derived distributions.
There have been many attempts by Unity Linux developers to get other distributions that use mklivecd involved with the development of it. That invitation is always open to any and all distributions that use it.
Myth #3 – Unity Linux wants to steal away users from other distributions of Linux
The main reason this isn’t true is that Unity Linux targets DEVELOPERS. We don’t target end users. If end users like Unity, GREAT! If not, we don’t worry about it. Unity Linux has derivative distributions called “branches” that work to target the end user. Unity Linux itself is targeted squarely at distribution developers and advanced users who want to be able to use the mklivecd scripts.
Myth #4 – Unity Linux DOESN’T use PCLinuxOS at all in development
This is half true. We don’t ‘use’ PCLinuxOS to create things…we use it as a mirror synch. Paul Grinberg, a developer on the team, has a PCLinuxOS box that he doesn’t use. During the initial setup of Unity Linux, we based things on PCLinuxOS before purging and switching to Mandriva. Since the developer mirror server (referred to on the mailing lists as the dev server) still ran PCLinuxOS and Unity Linux didn’t have a release yet, we saw no reason to change it.
As Unity Linux still has no stable release as of March 29, 2010, that developer mirror server still runs PCLinuxOS and pushes uploaded packages developed on a Unity Linux server to various mirrors for propagation.
In other words, the PCLinuxOS server Unity Linux uses is just a web server. It will be replaced with Unity Linux when 2010 is released. Until then, taking the time to wipe it out and repopulate it would throw a kink in the flow of package development so developers have put this ‘to-do’ item as something to be accomplished after stable release.
Unity Linux and Open Source
Unity Linux does a great job of contributing to projects upstream. As an example, David Smid, a Unity Linux developer, is also a Smart Package Manager (SPM) developer. This allows Unity the ability to test the latest and greatest SPM and get things quickly patched/fixed/redesigned. Other projects such as mklivecd are developed openly by Unity Linux and contributors are welcome. Unity Linux contributes bug finds to Mandriva through use of the Mandriva Cooker repository. Unity Linux developer Paul Grinberg contributed Google Map integration for MirrorMon, which you can view on our Mirror Status Page, back upstream to the creator of MirrorMon. Unity Linux also contributes upstream to rpm5.org.
Unity Linux also has a working partnership with Yoper Linux. Why? Because Yoper Linux uses many of the same core technologies (Smart, rpm5) that Unity Linux uses and because the lead developer, Tobias Gerschner, is an all around great guy :).
You can see everything that Unity Linux works on by visiting our repository: http://dev.unity-linux.org/projects/unitylinux/repository
Development is done in the open, not behind closed doors: http://groups.google.com/group/ul-developers
Unity Linux strives with an almost rabid will to keep everything in the open for users and branch developers so that they are not left wondering what’s going on with their distribution. The Developers continue to try and engage other distributions to work with them and will continue to do so in the future.
Closing Thoughts
Unity Linux doesn’t target the same users as your average distribution of Linux…they’re after the more savvy users out there. The ones that want to create something and make something from the core image. Users that like to tinker and mess and break things.
Unity got off to a rough start with much FUD slinging and accusations. Hopefully, the actions you see that Unity has taken to keep it’s project open will show the intent of the developers…to make a great core on which others can branch from all the while remaining open and free for everyone.
Great post. It clarifies things a lot. Or introduces unity to the ones that didn’t know it in any details, like me.
Thanks very much! It was my aim to clarify and introduce 🙂 There is a lot of info out there that is false about Unity and hopefully this does well to nullify the FUD 🙂 Thanks for reading!
Honestly, Unity Linux makes a lot of sense for those that wish to develop community releases that are RPM based. The amount of development it takes for tiny PCLinuxOS is incredible. If small distros could all link up to Unity Linux and contribute to the development of it by sending code fixes upstream and even getting in on the development process, as a whole, they all win. Everyone gets well developed base code they can use at a fraction of the resources needed to do it alone and can concentrate on the things that make their distro stand out from the others.
Honestly, I know there is tension between PCLinuxOS and Unity Linux developers, but hopefully…someday…they can be resolved and they can work together to improve RPM based distributions as a whole with PCLinuxOS using the Unity Linux core and cooperating with development. Currently, the trend is toward Ubuntu or, more specifically, Debian based distros and maybe strong cooperation with a project like Unity Linux can take on Debian based community distros better than they currently are.
I think you’re on to something here…but of course, ego’s would need to be set aside. Most of the developers of Unity Linux didn’t like how their ‘leaving’ was branded by some people over at PCLinuxOS (not Tex of course…he’s a class act as always). But no one but myself and Kdulcimer have ever tried to ‘set the record straight’.
We’ve attempted to query them on their IRC channel to see if they’d like to collaborate on various things but each time we’ve been silenced and banned.
Thus, we’ve stopped trying. I can guarantee that if they joined #unitylinux on freenode we would neither silence nor ban them and that any calls for collaboration would be met with open arms. We don’t hold grudges.
For reference…here is a log of a Unity developer (who wasn’t involved in the split at all) asking for clarification and calling to collaborate:
http://text.pastebin.com/uktmkqPP
As you can see, we’ve tried in the past. I don’t have much hope in the future for something like this. Also, we directly emailed Texstar with the same questions after this pastebin conversation on IRC. No response as of yet.
I guess we can keep our fingers crossed! 🙂
Why don’t you leave PCLinuxOS alone. They don’t care about you guys and now you want to start another fight with your spin? From the looks at your site and the branches you guys brag about it appears to be mostly a dead project.
this article is about Unity Linux…it’s not about PCLinuxOS. I don’t ‘spin’ anything. I just list facts and let readers decide. I won’t attack PCLinuxOS no matter how much you sling FUD at Unity Linux. I won’t stoop to your level no matter how much you claim we’re a dead project or no matter how much you claim anything about us. Because I’m a better person and I’m not at all as bitter as you are. I hope you can come to terms with whatever personal issues you have. And as I said, thanks for reading my article on Unity Linux.
These are not facts. It is just your spin.
Point out where I am wrong about the Linux distribution I helped setup please…I’d love to find out where I ‘spun’ anything above. Please, point it out…I’d LOVE for you to point out where I have made up crap in order to spin it a certain way. It’s not going to happen because this is a factual post on how a Linux distribution got started.
Not sure why this needs to be published. Who cares what the linux
distribution is based on. As long as these guys keep up the good work
and build a stable base OS.
Lets face it. Most distributions have some sort of first start with
slackware at the top. So to trace Unity we can have its family tree as:
slackware -> redhat -> mandriva (mandrake) -> unity
I think it was important to clarify because there is/was a lot of misinformation out there that was/is being perpetuated. This clears the air so to speak and gives an official ‘here is how we came to be’ post. You’re absolutely right though…almost all distributions can trace through each other and as you point out, Unity is no different.
Just keep up the good work with this project. Everyone “enhances” others code, thus the nature of open source. You guys have a great idea here and I am sure many distributions will in the future have Unity in its “family” tree 😉
Man, I just read that conversation. I don’t want to add to any flames about that particular one, but I will say you were brave/crazy to go into the shark tank like that lol.
I used to use PCLOS for about 3 years. In fact, you might have seen me over there.. I registered a domain called spreadpclos.com and I’m also the idiot that created the PCLOS Users group on LinkedIn. I was pushing for something that none of the devs ever really wanted I later discovered.
I had also noticed as an outsider that some of the forum mods were quite short and rude with some people. All of it together finally made me hang up that distro and I’ve been at home with Arch since.
I’ll keep an eye on what you guys are doing though, specifically for 64 builds. I always have a partition or 2 to screw around with 😉
I remember spreadpclos.com 🙂
After reading this article I’ll give it a try 🙂
I’m really glad that Unity is based on Mandriva and not on PCLinuxOS, maybe it’s because I don’t like PCLinuxOS, it’s like bloated Mandriva. If I want a bloated distro – but good, I’d go with Sabayon 🙂
Oh, and when you go to http://pclinuxos.com/?page_id=2 (their about page) you’ll notice that Mandriva isn’t mentioned at all, and the last time I installed PCLinuxOS (the end of 2008 – or beginning of 2009) it had packages from the then-latest Mandriva (even the Mandriva boot-loader theme was available for selecting in the boot options)
I did so love Mandrake 5 because of its utter ease and downright friendliness; I haven’t found Mandriva to be as nice and small. I loved Suse 9 because it was like a Swiss Army knife, but with 5 loader discs. Didn’t have much choice when Ubuntu came along though it seemed superior to the rest and was free to download like Knoppix. I don’t have a lot of software of programming skills, but do build and and hot rod my own hardware. How Unity is going to help me, and others like me, I haven’t the faintest. One thing is for sure: There are whole lot more non-geeks using Linux and other OSs than programming geniuses and and OS architects and engineers (and why they pay you folks the Big Bucks and not peons like me). Or, for us, is it just a fool’s game?
Although some of the explanation does set some of the history straight, for the most part it was more of the same – SOS
There are much greater issues with Linux – KDE4.xx simply just sucks and I havent downloaded and therefore used any newer renditions in a coon’s age – use PCLOS & MM08 on occasion, but Snow & XP for the most part – all straight up, except for AV, as required.
Although I do have Tinyme – from the GOD – I have never, ever been able to use it to do anything with – however, Puppy4 has been trippy, so not sure if Unity will do it for me either, but the basics sound correct, so long as the egos dont get in the way – dont y’all have porn down there …?
I am actually still mystified as to why the PCLOS breakup – there was a great vibe there – it is still stuck in neutral and is not a very user-friendly place to visit – das Uber Bitchen still has its caustic motormouth running in GPL open-sauce-mode – dissing any folks with an IQ over 99 !!
But, it does make sense ….. and I could use a bit of Linux fun!!
BR>Jack
I actually took over the MKliveCD project November 11th, 2007 > http://livecd.berlios.de/?News but it got forked by the internal PCLinuxOS team so my leadership was rather inoperative … but officially i’m still @ the head of the official CVS… MKLiveCD became dreadfully distro dependent thus making it kind of a monomaniac software … a 933K software for PCLinuxOS Users … Unity aimed and is still aiming to open it … Some development are introverted, some other are extroverted and some people just don’t care and aim to design efficient tools … I let you pick in what category Unity fits the best !
Thanks for the blog and the info contained.
I am not a developer, or even a very useful user; I just found a small Linux that would instal and run dependably on an old P111 with 256k of RAM.
It’s good.
I am struggling with how to import and install stuff that is not already there. Is there a manual that I can read. (specifically looking for something like Sound Converter to make MP3’s after running the very able Asunder app.
Keep up the good work.
Yikes! I think I run back home to Mama GNU. Since Ubuntu 11.04 and beyond is (are?) developer package(s) which will, or (is) are, replacing new distros up to 12.04 and/or other releases, as a thoroughly confused 10.10 and Mint 12 user- but having no skills as a developer (or even competent programmer except in Basic A), what advantages are there for folks like me in continuing to have Ubuntu? Also, will I be left behind in the dust if I continue to use 10.10? Note: I cannot even find a non-geek definition for Unity, except its supposed to be ‘just enough OS to work’. (Wasn’t that the idea with Minix?) Thanks.
Well, Unity here is not the desktop for Ubuntu…it is an entire distribution based on Mandriva (not Ubuntu).
So, the definition you’re looking for…most likely is the definition for the ‘Unity desktop’ from Ubuntu. I can’t define that for you…I’ve attempted to define Unity Linux the distribution based on Mandriva in this post.