Sign In

    Enjoy FOSSwire's content? Have it delivered! Subscribe

    Enterprise FOSS Adoption

    There are lots of different ways you can build software and the typical ways in which FOSS development and proprietary development are done are quite dramatically different.

    In this article, I'm going to talk about what problems the typical FOSS method can face when open source products are integrated within enterprise environments. I will then go on to talk about two different companies, and how they address some of these issues.

    Monolithic Releases

    The trend in proprietary software development is to release relatively infrequently, but when you do, to provide a massive update. One of the most obvious examples here would be Microsoft and their development cycle with Windows.

    It took them about 5 years to push out Vista following XP, and when they did, they had changed an awful lot between the releases. You could argue this example is a little extreme, but bear with me.

    "Release early, release often"

    Now contrast with the trend for free software/open source development. Ubuntu recently pushed out their Hardy Heron release. Ubuntu follows a 6-month release cycle, and apart from a minor blip pushing Dapper Drake back by two months a couple of years ago, they have kept to that well.

    In contrast to the changes between XP and Vista, relatively little changes between Ubuntu releases.

    This concept of 'release often, release early' that is so pervasive in the FOSS world has been written about in Eric S Raymond's The Cathedral and the Bazaar (very interesting read, if you're in to that sort of thing by the way).

    Potential Problems for Enterprise Adoption

    These frequent release cycles and constant wave of small changes to open source products can cause issues in the business environment.

    Most businesses don't care what technological solution they're using to tackle a problem. All they want is something that works well, is efficient, is easy to fix when it breaks and is cheap. In most cases picking proprietary or FOSS isn't an idealogical decision, it will be based purely on how well that product meets these criteria.

    The problem with the bazaar model here - i.e. the releasing early and often, is that it can become difficult to support in an enterprise environment.

    As a business, you don't want to have to be constantly updating the product and potentially dealing with new features or things that might change. Change could break something that depends on that product, and getting people to do software updates and deal with potential problems those updates can cause is expensive.

    Equally, though, not updating could leave you vulnerable to known security issues, for example, and could cause businesses more harm in the long run.

    You can see at this point why businesses might stick with traditional proprietary software. They know how it works, when the releases will be and they know that there is always a single entity to go to for support with that product.

    So how are these issues addressed to make FOSS a more attractive prospect for businesses? I'll look at two ways in which frequency of updates, and support and accountability, are dealt with, in both Red Hat and Canonical (who sponsor Ubuntu development).

    Solutions - Red Hat

    How this is often tackled in many environments within the FOSS community (and to a certain extent outside it) is by having two strands of a product - the stable and supported version, and the one being worked on, the development version.

    Take Red Hat, for example. Back in 2004, Red Hat split their single Red Hat Linux distribution into these two strands.

    Fedora would become the 'development' version. While it's stable enough to use for almost all purposes, Red Hat sell no support for it. It sometimes is used as a bit of a 'testing ground' for technologies that will later be integrated into their enterprise product. Updates come thick and fast, and you have the latest and greatest versions of packages as they come out.

    Red Hat Enterprise Linux (RHEL) is generally one or two releases behind Fedora. While it integrates all the latest security fixes, it doesn't necessarily include the latest and greatest versions of software components.

    Red Hat make their money by selling support contracts for RHEL. All their work for Fedora earns them very little if anything at all.

    Businesses want support, though, if they are going to use a product. Its open source nature means that RHEL can be competitively priced and Red Hat's support packages mean businesses have the confidence to use their software.

    Ubuntu

    Ubuntu works a little differently.

    Instead of two separate distributions, Ubuntu keeps a single strand which sort of goes half way between Fedora and RHEL. Security updates are delivered as soon as they are available, and quite a lot of software is the most recent version with the latest features.

    After a release of Ubuntu, however, that package might not be upgraded with new features until the next release of the whole distro. This gives Ubuntu a greater level of stability and predictability than Fedora at times, but consequently can be less attractive to hardcore hobbyists who want the bleeding edge experience.

    Commercial support is offered by Canonical, the parent company behind Ubuntu. Support timescales are limited, however, for each release of the distro.

    Certain releases are designated with the Long Term Support (LTS) badge. LTS means that Canonical will provide support for that release for much longer, which makes the releases marked as LTS much more suitable for enterprise usage. They are also architected to focus more on stable, known versions of software than to be bleeding edge.

    There is less of a visible marketing push towards getting Ubuntu in the enterprise, because of Canonical's differing commercial focus. However, the LTS releases combined with a suitable support package make for a good enterprise solution.

    Red Hat vs Canonical - Support Approach Shootout

    So what works best?

    First of all, it is worth pointing out that Red Hat and Canonical are very different companies. Red Hat are very focused on the enterprise, while Canonical aims more towards the home desktop market (who are much less likely to be willing to buy support), so they make less of a push of their support services.

    Having said that, personally I think Red Hat's approach works best. Hobbyists get to use Fedora, which gives them what they want - bleeding edge new technology, which they get to play with. The feedback from this group of users feeds into RHEL, which (hopefully) becomes a good product.

    RHEL is now stable, tried and tested, and Red Hat can convince businesses that it is good, and that RH can provide that support backing for it.

    With Ubuntu, I personally think that support feels like more of an afterthought than something built in to the core like with Red Hat. LTS releases perhaps don't feel distinct enough, and there is still quite a lot of stigma in the business world about using something that feels too 'free'; the belief that because you get what you pay for, free code must be rubbish.

    Perhaps this lack of special branding and having a more visible 'price tag' hurts its perception by businesses from a marketing point of view.

    Both ways do work, though, and these strategies do help Linux and open source products be more enterprise ready. All this clearly demonstrates how far the free software model has come since the early Unix hacker days. While as a methodology it does present its own unique challenges, it also brings rewards and allows for undercutting the competition.


    Why do you really use Linux?

    An Amazing Mind, which subtitles itself as a psychology, self-improvement and Linux blog, has a very interesting post which talks about Linux, and people's motivations to use it.

    We tell people we use Linux because it's secure. Or because it's free, because it's customizable, because it's free (the other meaning), because it has excellent community support...

    ...

    But deep underneath, the real reason remains.

    We use Linux because it's fun!

    It's fun to tinker with your system. It's fun to change all the settings, break the system, then have to go to recovery mode to repair it. It's fun to have over a hundred distros to choose from. It's fun to use the command line.

    For people like me and many other 'enthusiasts', this is probably a big part of the reason. The article doesn't make the important distinction, however, between these people and people/businesses who use Linux purely for functional reasons.

    Let me extend myself as an example to this point. On my desktop PC, I use Linux largely for the fun aspect - whether that is playing around with new releases of software or operating systems or learning how to do something new.

    I also run Linux on my server. In contrast, my motivation for using it there is mostly just for functional reasons. In that instance, Linux provides the best technical solution in my opinion for what I want to do with that machine. Of course, there still is that element of doing it for pleasure, or I wouldn't have a server that I run myself at all, but with the server it is weighted much more in the other direction.

    In a corporate environment, you would also find the latter viewpoint. A business doesn't really care what it is using, providing it is doing the job well and is doing it cheaply. If Linux is fulfilling that, then they'll use Linux, if not they'll use something else.

    Putting aside this important distinction however, I would generally agree. While in many ways Linux can be considered technically superior to other solutions, ultimately, people like you and me get into Linux, and keep using it, because it is fun. It is fun to be different, to explore something you at first know nothing about, and then keep exploring.

    Why do you use Linux? Is it for fun or just purely for technical reasons? Share your thoughts in the comments.


    Sun accuse Microsoft of ‘patent terrorism’

    ZDNet Australia are reporting that a Sun executive James Eagleton has accused Microsoft of 'patent terrorism' over their recent deals with, among other companies, Linspire, Novell and Xandros.

    "What we're seeing though now can be loosely described as patent terrorism, where people are using their patent horde as a threat," said James Eagleton, systems product manager for Sun Microsystems. "It's almost like a cold war stand over tactic; where I have these patents and if you breach these patents, I'm going to come after you and sue you."

    "That's totally, from Sun's point of view, going against the spirit of innovation around software. No one, certainly in the OS development community, wants to have these doubts lingering over them, especially users," he says. "No one [wants a situation] where you have to think, if I go and use this open source software, who knows who's going to come after me for damages and claims."


    Sun are a strong proponent of the open source model and have contributed significant amounts of code to the community and have opened up a lot of their existing products as well.

    It's nice to see Sun feel able to make a stand on this issue and are putting their weight behind the general consensus of the community.