Sign In

    Enjoy FOSSwire's content? Have it delivered! Subscribe

    Opening Up Video on the Web - Is it Possible?

    Film strip image - by dpade1337 on Flickr

    The web works because of open standards. It doesn't matter whether you're reading this on a Firefox on Linux, Opera Mini on a BlackBerry, IE on Windows, or even (possibly with a few issues) WorldWideWeb on NEXTSTEP. You can still read this content, because all of the protocols and languages used to encode and deliver this content to you are open standards.

    For text and images, this pretty much works. Video, on the other hand, is a much more challenging issue. There are lots of competing ways to encode and deliver video on the web, some of which are available under open licences (say, Ogg Theora) and some of which are not (Flash video). And, unfortunately, the open ways to do it aren't the most popular right now and don't have much out-of-the-box support beyond open source operating systems.

    Mozilla recently announced that they are putting $100,000 behind the Wikimedia Foundation to push the Theora video codec, which is free and open. Support for the Theora codec will also be built right into Firefox 3.1, which should make it easier to distribute content encoded with it, without users having to install special software.

    That's great. But are we already too late to push for open video standards, with proprietary platforms and FOSS-incompatible standards already reaching ubiquity?

    Companies like Microsoft, Apple and Adobe are unlikely to want to standardise on something else, when they already have made investments elsewhere. Apple, for example, has put huge weight behind the MPEG-4 platform, particularly the H.264 video and AAC audio codecs and it would seem very unlikely that they would then invest in any other platform.

    Now this MPEG-4 stuff is an ISO standard; we are even reaching a certain degree of convergence across traditional tech companies. I can take an H.264/AAC movie and play it on an Xbox 360 or an Apple TV and it all works exactly the same.

    So why can't free software play nice with this MPEG-4 stuff? It's an ISO standard, right? The problem is that the codecs that make up MPEG-4 are often subject to patents and other intellectual property restrictions that leave open source and free software out in the cold. The potential threat of legal action means that while support might exist, it is challenging to bundle and a bit of a grey area.

    The free software community aren't able to participate in any standard video and audio formats unless these standards are actually going to work within their licensing frameworks and not be embroiled in IP soup.

    So, free software becomes less of a viable platform if it simply can't do this out of the box. This means that it either won't grow very much and spread the greater good (if you will), or we have to make sacrifices about the 'purity' of our software, which is more palatable to some than others.

    Theora logo

    Does it then make sense for us to make our own formats, Theora, for example, and try to push them to compete with the existing ones? Or, does this just make the whole codec mess more, well, messy? The pragmatist in me doesn't think this competition approach makes an awful lot of sense. I'd be perfectly happy to compromise and just run with the MPEG formats, however imperfect.

    Don't get me wrong, though - I think having a video format suitable for the FOSS world which works on FOSS out-of-the-box is vitally important. It's just that this makes it a real challenge for content providers actually support both free software users and, well, everyone else that doesn't ship that stuff. Two versions of the same content? It's too difficult unless a big part of your audience are using pure FOSS, so it's not considered worth doing.

    We're in a bit of a deadlock situation. Maybe I'm cynical, but it feels like the goal of having a truly open web, for all the content available on it, is an impossible one. At least, that is, until some major change comes around and our community get to have a share of the influence on the next big standard.

    Oh, and when US intellectual property law gets a bit more sensible.

    What do you think about open standards on the web? Is this goal of everything being in an open format achievable, now or in the future? Share your thoughts in the comments.

    Film strip image at top of post is by dpade1337 on Flickr, licensed under Creative Commons BY-SA. The Xiph Fish Logo and its theora.org variant are trademarks of Xiph.Org.


    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.


    1. 1
    2. 2
    3. 3
    4. 4