If you haven't seen the pilot episode of USA's new series, "MR. ROBOT"... you can see the whole thing on YouTube... until they decide to take it down. Anyway, there was an exchange about GNOME vs. KDE and Linux is even mentioned. Here's the 1 minute clip. Enjoy!
I guess they haven't seen Plasma 5 yet. It's da'bomb!
If you didn't notice, Fedora 22 was released today. Today I refreshed the Fedora 22 OS Template I made for OpenVZ and uploaded it to contrib. For fun, I thought I'd build a MATE Desktop GUI container right in front of your eyes... and then connect to it via x2go.
Installing a desktop environment in a container can be fraught with danger for the uninitiated. The problem? Well, it always drags in NetworkManager, a graphical login manager, and various other packages / services that aren't really appropriate for a container. With a handful of systemd statements though, it is an easy fix. Watch and I'll show you how. Enjoy!
For those with iFrame issues, here's a direct link to the webm video:
You can pretty much use the same recipe for other desktop environments. The only thing you want to avoid are desktop environments that require accelerated 3D because those won't work over x2go. Which desktops use that? GNOME and Plasma 5... Cinnamon probably... and if you were on Ubuntu, Unity. XFCE, MATE, OpenBox, LXQT, etc work fine... although I haven't tried them all.
Since I'm such a big container fan (been using them on Linux since 2005) and I recently blogged about Docker, LXC, and OpenVZ... how could I pass up posting this? Some Canonical guys gave a presentation at the recent OpenStack Summit on "LXD vs. KVM". What is LXD? It is basically a management service for LXC that supposedly adds a lot of the features LXC was missing... and is much easier to use. For a couple of years now Canonical has shown an interest in LXC and has supposedly be doing a lot of development work around them. I wonder what specifically? They almost seem like the only company who is interested in LXC.. or at least they are putting forth a publicly noticeable effort around them.
Why Should You Care?
If Canonical can actually deliver on their LXD roadmap it is possible that it will be a suitable substitute for OpenVZ. The main "problem" with OpenVZ is that it is not in the mainline kernel, whereas LXC is. In practice you have to purposefully make an OpenVZ host (currently recommended on RHEL6 or clone) but with LXC/LXD any contemporary Linux system should be able to do full-distro containers... aka containers everywhere for everyone.
How About a Roadmap
Where is LXD now? Well, so far it seems to be mostly a technology preview available in Ubuntu 15.04 with the target "usable and production ready" release slated for the next Ubuntu LTS release (16.04)... which if you weren't familiar with their numbering scheme is 2016 April.
That's about a year away, right... so what do they still have left to do? If you go to about 23:30 in the video you'll get to the "Roadmap" section. They have work to do on storage, networking, resource management and usage reporting, and live migration. A bit of that falls within the OpenStack context... integrating with various OpenStack components so containers will be more in parity with VMs for OpenStack users... but still, that's quite a bit of work.
The main thing I care about absolutely being there is isolation and resource management which are really the killer features of OpenVZ. So far as I can tell, LXD does not offer read-only base images and layering like Docker... so that would be an area for improvement I would suggest. BTW they are using CRIU for checkpointing and live migration... thanks Parallels/OpenVZ!
Certainly LXD won't really make it no matter how good it is until it is available in more Linux distributions than just Ubuntu. In a video interview a while back (which I don't have the link handy for at the moment) Mark Shuttleworth stated that he hopes and expects to see LXD in other distributions. One of the first distros I hope to see with LXD is Fedora and that's the reason I tagged this post appropriately.
Broadening the Echosystem
Historically I've been a bit of an anti-Canonical person but thinking more about it recently and taking the emotion out of it... I do wish Ubuntu success because we definitely need more FLOSS companies doing well financially in the market... and I think Red Hat (and OpenVZ) will have an incentive to do better. Competition is good, right? Anyway, enjoy the video. BTW, everything they tout as a benefit of LXD over KVM (density, speed of startup, scalability, etc) is also true of OpenVZ for almost a decade now.
For those with iFrame issues, here's the YouTube link:
LXD vs. KVM
Containers Should Contain
Let's face it, Docker (in its current form) sucks. Why? Well, ok... Docker doesn't totally suck... because it is for applications and not a full system... but if a container doesn't contain, it isn't a container. That's just how language works. If you have an airplane that doesn't fly, it isn't an airplane, right? Docker should really say it is an "Uncontainer" or "Uncontained containers"... or better yet, just use a different word. What word? I'm not sure. Do you have any suggestions? (Email me: firstname.lastname@example.org)
What is containment? For me it is really isolation and resource control. If a container doesn't do that well, call it something else. OpenVZ is a container. No, really. It contains. OpenVZ didn't start life using the word container. On day one they were calling them "Virtual Environments" (VEs). Then a year or two later they decided "Virtual Private Server" (VPS) was the preferred term. Some time after switching to VPS, VPS became quite ambiguous and used by hosting companies using hardware virtualization backends like Xen and VMware (KVM wasn't born yet or was still a baby). Then OpenVZ finally settled on the word "container".
If you want a fairly good history of the birth and growth of OpenVZ over the years, see Kir's recent presentation.
Hopefully LXD will live up to "container" but we'll have to wait and see.
I recently attended a Linux Installfest and the primary distribution recommended by those heading up the event was Ubuntu. That's all well and good but during their Linux dog-and-pony-show a statement was made regarding Red Hat that struck me. I don't recall the exact wording that was used but it was something along the lines of... Red Hat used to be very popular but not anymore. I wasn't really offended by the statement nor do I completely disagree with it... but a lot remains to be said about the importance of Red Hat within the Linux community. Red Hat is certainly king in the "Enterprise" space with Novell a respectable second... but many still seem to be unaware just how much Red Hat contributes to the development of many projects and the rapid progress of Linux.
Whenever I see any articles about Red Hat on any of the Linux community sites (think Slashdot), the comments will invariably mention a few things that I consider to be myths about Red Hat. They include:
1. Red Hat is the "Microsoft of Linux"
2. Red Hat abandoned the desktop/home user market
3. Red Hat costs a fortune
4. Red Hat created "rpm hell" and rpm based distributions suck
I do not want to even attempt to address each individual myth but I do want to make a few points about Red Hat in an effort to educate people to the fact that Red Hat does a lot for the Linux community and is a major (if not THE major) contributor. Let me start with some background information.
Brief history of Red Hat
Rather than write a history of Red Hat from scratch, I'll borrow the history section of the wikipedia page on Red Hat:
In 1993 Bob Young incorporated the ACC Corporation, a catalog business that sold Linux and UNIX software accessories. Then in 1994 Marc Ewing created his own version of Linux, which he named Red Hat Linux. Ewing released it in October, and it became known as the Halloween release. Young bought Ewing's business in 1995, and the two merged to become Red Hat Software with Young serving as CEO
Red Hat went public on August 11, 1999, the eighth-biggest first-day gain in Wall Street history. Matthew Szulik succeeded Bob Young as CEO in November of that year.
On November 15, 1999, Red Hat acquired Cygnus Solutions. Cygnus provided commercial support for free software and housed maintainers of GNU software products such as GNU Debugger and GNU Binutils. One of the founders, Michael Tiemann, served as the Chief Technical Officer of Red Hat and now serves as the vice president of open source affairs. Later it acquired WireSpeed, C2Net and Hell's Kitchen Systems.
In February 2000, InfoWorld awarded Red Hat with its fourth consecutive “Operating System Product of the Year” award for Red Hat Linux 6.1. In 2001 it acquires Planning Technologies, Inc, and in 2004 AOL's iPlanet directory and certificate server software.
Company headquarters were moved from Durham, NC, to N.C. State University's Centennial Campus in Raleigh, North Carolina in February of 2002.
The following March Red Hat introduced the first enterprise-class Linux operating system: Red Hat Advanced Server, later named Red Hat Enterprise Linux. Dell, IBM, HP and the Oracle Corporation announced their support of the platform.
In December of 2005 CIO Insight Magazine conducted their annual Vendor Value Survey, where Red Hat ranked #1 in value for the second year in a row.
Red Hat stock was added to the NASDAQ-100 on December 19, 2005.
Red Hat acquired open source middleware provider JBoss on June 5, 2006 and JBoss became a division of Red Hat. In 2007 it acquired Metamatrix and made an agreement with Exadel to distribute its software.
On September 18, 2006, Red Hat released the Red Hat Application Stack, the first certified stack integrating JBoss technology.
On December 12, 2006, Red Hat moved from NASDAQ (RHAT) to the New York Stock Exchange (RHT).
On March 15, 2007 Red Hat released Red Hat Enterprise Linux 5, and in June, they acquired Mobicents.
For an alternative, see Red Hat's own Red Hat History page.
How Red Hat gives back
Many Linux users don't seem to realize just how much Red Hat contributes back to the Linux community. They are major software developers on a number of projects not the least of which is the Linux kernel. The Fedora Project site has a page entitled Red Hat contributions to Free and Open Source software which lists most of Red Hat's contributions.
To see how much Red Hat contributes to kernel development, check out the last three "Who wrote" articles by Jon Corbet on LWN: 1) 2.6.20, 2) 2.6.22, and 3) 2.6.23. Wow, that's a lot of kernel development.
Oddly enough neither Debian nor Ubuntu / Canonical shows up on the list. I emailed Jon a while back asking why that was. Was it because they didn't really rank as top kernel developers? Or was it that it is harder to identify and group together their contributors? Jon didn't really have a good answer for that one. I'm guessing it is a little bit of both. Debian and Ubuntu are great distributions but I'm not sure they do a lot of development that gets passed upstream. I'd love to be corrected on that if someone wants to provide me with additional information.
Then there's the matter of GCC and the base system libraries. As mentioned in the history, Cygnus became part of Red Hat in 1999. Cygnus happens to be a major contributor to GCC... and as a result, Red Hat is a major contributor to GCC. Red Hat has also paid developers to work on GNOME and a host of other projects. Again, for a more complete list, see the Fedora Project's contributions page.
Speaking of Fedora, the Fedora Project is sponsored by Red Hat and the Fedora Linux distribution happens to be one of the top 5 Linux distributions according to sites like Distrowatch. The kernels they provide during the lifecycle of each release are usually bleeding edge. I attended a speech given by Andrew Morton at LinuxWorld Expo 2007 in which he was explaining that the kernel developers really need a lot more testers and that one easy way to be a tester was to run Fedora and keep up with the kernel releases... since Fedora's kernel usually only trails the mainline kernel by a few weeks.
Another way Red Hat gives back is just by releasing the source packages for their Red Hat Enterprise Linux (RHEL) distribution. Red Hat does this in an easy to manage way by offering source rpm packages... rather than in some hard to use format that many other commercial projects seem to use. As a result a number of free alternatives to RHEL have sprung up with the most notable one being CentOS. Many people see CentOS as a competitor to Red Hat or a thorn in their side but in reality, CentOS actually compliments RHEL and keeps people within the Red Hat fold. For more on that concept, see Donald Rosenberg's article on the subject.
Red Hat's main competitor in the "Enterprise Linux" space is Novell yet there aren't any freely available SUSE Linux Enterprise Server/Desktop distributions. Why is that? Dag Wieers wrote a blog posting where he pondered the lack of a free SLES... and the comments to his blog entry are very informative too.
Staying true to Free Software ideals
One thing that Red Hat deserves respect for is staying true to their Free Software ideals. All of the software they have written (with a few exceptions like their Red Hat Network service) has been released under the GPL. They didn't come up with some alternative license like so many others have. Red Hat has also publicly said that they will make no patent deals with Microsoft like Novell and a few others have. Red Hat has a number of high profile executives and lawyers who have given presentations on how Free Software and Open Source are good for the IT Industry and that this freedom really matters. For more info see Red Hat's Why Open Source? Red Hat's position seems somewhat unique... somewhere between that of purist Richard M. Stallman and the pragmatist Linus Torvalds.
When it comes to RHEL and Fedora, Red Hat has also made it clear that they do not want to help promote proprietary software or multimedia codecs even if it does lead to a certain amount of unpopularity among some in the Linux community. For more info on that, see the Fedora Project's Forbidden Items wiki page. I think in this area, Red Hat and Debian are very kindred spirits.
What is an Enterprise Distribution?
In 2003 Red Hat decided to discontinue Red Hat Linux in favor of Red Hat Enterprise Linux. Why did Red Hat add "Enterprise" to the name and what exactly is an "Enterprise" distribution? Did Red Hat abandon the non-Enterprise market? Red Hat decided, and justifiably so, that being the most widely used Linux distribution among non-paying users/customers wasn't a financially viable situation (can you hear me knocking Canonical?)... so they decided to concentrate on customers who have deep pockets and will pay for support and consulting.
In creating RHEL, they took the Red Hat Linux base and then made a number of changes to it. One of those changes was dropping some of the lesser used software packages and concentrating on the more common and important ones in an effort to make a more supportable product line.
Additional "Enterprise" distribution characteristics:
1. Software updates for longer
2. Refreshed install media
3. System management and monitoring
4. Better server hardware support
6. a Knowledgebase
7. Technical support
8. Training and certification
What Red Hat has been doing seems to be working as they have continually reported profits each and every quarter while at the same time staying true to their Open Source / Free Software mantra. Is it any wonder that several other distributions have adopted the pattern?
Sponsorship of Fedora
In 2003 the Fedora project picked up where RHL left off. It didn't take off right away... and there were lots of bumps in the road... but Fedora kept on going and as of 2008 it truly seems to be a community project with more than half of the package builds coming from non-Red Hat employees. Red Hat does still have some say in the direction that Fedora takes but they aren't an evil overlord.
While Fedora is often seen as a "beta version" of RHEL, Fedora serves a number of purposes that go well beyond that. Approximately every third release of Fedora becomes a base for RHEL. Fedora's main role in the Linux ecosystem is to be a proving ground for new technology. Fedora was the first to adopt SELinux, Xen, KVM... and a lot of other things. Fedora also manages a much larger, and constantly growing software package set. If Fedora was just a development ground for RHEL, wouldn't it use only the software that RHEL plans to use?
Suggestions for Red Hat
Here are some suggestions I have for Red Hat in 2008 and beyond.
Buy Zimbra - Yeah, I know Yahoo already did... but is Yahoo really interested in the retail and marketing? My guess is no... Yahoo bought Zimbra to use internally and eventually to use externally for their services. They want to use Zimbra as a product and also have some sway over the developers to move in the feature areas they want. I doubt that Yahoo is interested in Zimbra outside of Yahoo... so why not share that piece of it with someone who is? Negotiate with Yahoo, get the rights to the product and release the Network edition under the GPL and free of cost. It would be a great fit. I mean, Zimbra's custom code is all Java based and Red Hat is heavily into Java themselves with the JBoss purchase... as well as a few others. I've been using Zimbra for a long while now and so far as I know, nothing else out there compares. I'd like to see Red Hat get involved in the development of Zimbra to make it even better... to augment the existing Zimbra development team. How about adding their Mobicents VOIP technology to Zimbra? That's something Yahoo couldn't do.
Buy SoftMaker - Haven't heard of SoftMaker? They are a German company who offers a commercial suite of office applications that rivals Microsoft Office. We already have OpenOffice.org, right? Yes, we do... but SoftMaker Office is a LOT lighter weight. Buy SoftMaker Office and make it GPLed and available for free of cost. They could market it as Red Hat Office and give the Windows version away too. Now imagine taking some of the SoftMaker technology and adding it to Zimbra!
Create an Active Directory killer - Red Hat already has several pieces to the puzzle but they haven't been put together in a meaningful way yet - clustering, certificate server, directory server, etc. First Microsoft's lock-in device was the Windows OS. Then that switched to Microsoft Office... and for many it is the combination of Exchange and Outlook. Then when Active Directory came along, they got to leverage everything together in a much more manageable way. Red Hat has the pieces. They just need to refine them so that there is a GPLed system which can manage Linux clients and Windows clients. I've seen a lot of institutions trying to fit Linux client machines into a Windows Active Directory setup. While there are ways of doing that, some less painful than others, why not use Linux as a replacement for Active Directory? I'm not saying Red Hat should try to clone Active Directory as we need a solution designed with Linux clients in mind and server application management as well.
Samba has done a lot of work with Samba 4 but it has a long way to go. Why did Samba develop their own LDAP system? Red Hat already offers a high quality, GPLed LDAP system were replication works well. Red Hat and Samba should work together on the project... but the Samba part would only be a piece of it for the Windows clients.
Red Hat, thanks for being the beacon of Linux-based business success. Let's hope you continue to stay true to your principles, continue the rapid progression of Linux, and that you keep making a reasonable profit doing so.