Showing posts with label Open Source Advocacy. Show all posts
Showing posts with label Open Source Advocacy. Show all posts

Saturday, May 3, 2008

Open Source and the collaborative network.

The past couple of months have left me thinking a great deal about what is good and bad about the whole open source movement at this point in time.

One of the things that bothers me, specifically as an end user of Linux is the rather fragmented user experience I have when using Linux and Open Source products in general.

Now it's important to point out that the Windows experience is not really much better, considering that most of the applications I run on Windows are not from M$, it does however feel more packaged and integrated.

How would we fix this, well, Open Source is all about collaboration, collaboration that was made possible by the Internet.

If you think about it, Open Source is probably one of the most successful social networks around, even if it lacks a central point.

However what if we could provide that central access point to users. Something that would be able to handle such mundane tasks as:

  • A unified help system which open source developers could use to expose online documentation for their projects which would have a pre-defined format and be searchable and when you install a product it could "plug-in" to that unified help system.


  • Product support, in terms of bug submissions, user feedback and so forth, additionally you could provide things like an RSS feed to useful articles from online sites leveraging the community. The functionality could even take into account paid for support.


  • More importantly (in my opinion) you could actually start providing a central distribution channel for Open Source software or indeed commercial software running on Open Source.

    A useful feature might be a centralised searchable database of applications and supporting hardware, access to reviews and the ability to show case products. All with the ability to easily install that software.

    Now Debian has always had this, but wouldn't it be great if in addition to that you could for example use the same functionality to buy and install commercial products such as CrossOver office or StarOffice and you could use the same functionality if you're using Fedora or even Sun's Project Indiana.

    Furthermore you could provide a database of compatible hardware which the vendors themselves can use to promote their products and even allow you to buy directly on-line.

    You could even allow people to sell content such as desktop themes or even DRM free music, or any value adds that you think people might buy.

    From the end users point of view, all this functionality would just be an extension of the desktop, accessible as a set of native applications on the desktop or when you click on the desktop help or when you open your application's help. It should be a seamless part of using your Open Source desktop.

    It wouldn't even cost a lot to do, Open Source projects could leverage their existing infrastructure and just expose their site information in a common format. You will however need some central servers to act as a repository where projects and companies can publish information about their products for end users to search.

    All this can then be exposed to desktop applications through Web 2.0 style technologies quite easily.

    The caveat of course is that you will need buy in from the various different Open Source projects and vendors to support this network.

    Oh well enough dreaming for now, I hear my Xbox calling...

    Wednesday, April 30, 2008

    the danger of technology fundamentalism

    Imagine the year is 2018 and you are about to start up your computing device at work.

    What would you like to see booting up?

    If you are a software professional what development tool would you like to be using?

    I don't know what it is but I honestly hope that it's not any of the following.

  • An M$ based operating system.

  • a Unix/Linux based operating system.

  • Java as my development tool.

  • .Net as my development tool.


  • It seems however that by the trends in the industry this is going to be the status quo for a long time still to come.

    I have a friend who loves working in Smalltalk. I normally give him grief about the topic, telling him he is flogging a dead horse. However no one can deny the brilliance of Smalltalk that makes it a stand above many development tools even in 2008.

    I also have some fond memories of my encounters with BeOS. Considering that BeOS did what Vista promised to do ten years ago is pretty impressive.

    Both of these technologies have either been marginalised in the case of Smalltalk or are dead in the case BeOS (although the Haiku project seems to be gaining traction).

    Both these fantastic products are victims of the success of Java, Linux, Windows and .Net, yet both are better products in many respects.

    What I find sad is that we as technology professionals allow ourselves to be dragged into platform wars, and yet we fail to promote products which actually advance the state of the art.

    Furthermore we seem to fail to realize that the only winners of any platform war are the vendors who sell these products. I don't get a cut from a Websphere sale nor does the M$ guy get a cut from a Server 2008 sale.

    Perhaps this is why Open Source seems so attractive to developers since it seems to place control of technology back into our hands and out customers and not leave us at the whim of a vendor.

    Even so to force Open Source just because it's Open Source is as much a cause of the problem as M$ or IBM or $un or whoever.

    When we engage in technology fundamentalism all we do is isolate ourselves from advancing the state of Computing Technology at a loss to ourselves and our clients.

    Tuesday, April 29, 2008

    the value in Open Source Software

    Open Source Software destroys the value in commercial software.

    This is traditionally what M$ would have you believe.

    But before you can really answer this question you need to understand the value proposition that software offers.

    Software is basically a means to an end, and that's it. And as we have already discussed, you as the consumer should be able to determine what value you are prepared to pay for with software.

    But what's in it for a commercial software company offering Open Source software?

    The first thing you have got to do is ditch the traditional model of how software makes money.

    This model is the typical M$ model where a company provides a shrink wrapped product and bit off support for that software, and the company pretty much earns money from the sales and support services around that product. Money it then uses to pay the bills and drive creation of new products.

    Open Source software cannot work like this since obviously you have to "give" the software away.

    You could earn all your money from support services around that product and this model is the one that many Open source companies have adopted. You can make money this way, Red hat is testament that this can work.

    However this is definitely not the only model or the most effective model. Firstly as I have said already all software is a means to an end. Software simply provides a mechanism to enable your hardware and in turn apply it in order to solve a problem.

    Software is simply a part of the entire system albeit a very important part.

    The side effect of this type of thinking is that you realise that the organisations who benefit commercially from open source are not necessarily software companies.

    Consider Intel.

    Intel is the dominant provider of desktop and low to middle tier server chips in the world. It is the giant of chip makers, or at least until you step out of the said market segments and then take another look.

    Consider that in the big three of Big iron; IBM, Sun and HP, Intel is a second class citizen. Also consider that all major gaming consoles run IBM Power based chips. Finally Intel fairs absolutely dismally in the embedded space, area traditionally dominated by MIPS based chips.

    Now, it's not that Intel is not capable of competing in these markets, it's mostly due to the fact that it doesn't have the necessary software solutions for these markets, for one thing you need to have an OS running on your chips and that's easier said than done.

    Intel tried it in the Big Iron market with Project Monterey for it's Itanium (also known as Itanic) processor and got burned horribly. Intel is also reliant on M$'s decision to go after certain market segments with a Windows based solution.

    So what do you do if you're kinda stuck for an OS with features for a specific market. Well you take one that exists and is established and you add what's missing for a specific market segment.

    The one caveat is that you have to use one which you can modify easily such as - say - an Open Source based OS such as Linux.

    Intel has become one of the largest contributors to Linux, recently it started adding some Real time components to the kernel. The reasons for this are quite obvious.

    A real time operating system potentially means a carrier grade operating system, and a carrier grade operating system mean telcos.

    The cost that Intel had to spend on the engineers who developed the real time components for Linux is nothing compared to the payback of a Vodafone deciding to chuck out all it's existing Unix servers for Intel based Linux servers.

    Similarly Linux has become a core component of Intel's Atom based strategy for the embedded market.

    In this approach Intel is set to make a lot of money indirectly from Linux, and that's really the gist of the value in Open Source software; in that it is part of making a solution that is a means to an end rather than providing value as a pure software solution.

    Which of course is why we have software to begin with.

    Monday, April 21, 2008

    Is it worth paying for software.

    Having worked in a .Net shop for a few months now, I came into contact with a creature that I suspected but never actually observed in person: The Micro$oft fanboy.

    Obviously this was cause for some conflict, since - of course - I'm a Java fanboy.

    However the conflict was not based on the fact that .Net is better that Java or vica versa, rather the conflict was on open source vs Micro$oft.

    Now Java is quite a mix of both proprietary and open source, in that even if you were running open source tools, the JRE was up until recently proprietary. Besides that, most environments have a mix of open source and proprietary tools with proprietary app servers usually running open source development frameworks. Finally most Java shops with half a brain will quickly realize that IDEA is worth the dosh u need to shell out for it.

    This is not unusual in any industry actually.

    Consider cars for a second; any car you buy should have a steering wheel. You don't pay extra money to equip your car with a steering wheel you expect it to have one since a car without one is pretty much a waste of time. It's also true that sometimes you want a little more out of your steering wheel so you spend some money and you buy a leather covered steering wheel or a integrated component steering wheel or a racing steering wheel or whatever.

    "Ah But open source is free" you say, "the cost of the steering wheel is included into the price of the car".

    Open source is not free, sooner or later someone is going to have to pay for the cost of development of open source software.

    Consider Ubuntu which is basically financed from Mark Shuttleworth's fortune. If you buy products or services from a company which uses SSL certificates you have indirectly funded Ubuntu development.

    The question is not if you should pay for software since sooner or later you do, but rather if it's worth paying extra for a piece of software.

    I love Apple and OSX, an open source guy or not, I am willing to pay a little more for an Apple product, simply because I see value (justified or not) in using Mac OSX. I am however not prepared to spend money on an operating system that I view as purely utilitarian, should be part of the system I purchased and is there purely to run my applications since of course my system is a brick without it. In other words: M$ Windows.

    Most modern personal computer systems are based on commodity hardware. You have a CPU using commodity instruction set, running on a commodity chipset, with commodity I/O devices. The only component that isn't commoditized is the Windows operating system you are pretty much forced to buy when you purchase it.

    The only reason it isn't a commodity is because of the state of economic feudalism that pervades the desktop.

    This is what Linux and indeed all Open Source software represents: a commodotized software environment where you pay for entire system as a solution as opposed to a paying a premium for what should have been included in the system to begin with.

    Does this destroy the value in software; yes and no, on the one hand it destroys value in the software itself, but not in the additional value proposition that that software could provide. You don't make money from the core functionality but you can make money on the way that functionality is delivered.

    Nobody buys a Mac because it can run programs, but because you are buying the Apple experience. People are also willing to pay for a RHEL license because they can leave all the headaches of using Linux with Red hat. On the other hand an eeePC is a purely functional device, why do I have to pay extra to simply operate the darn thing.

    Open source represents the transition from software as a product to software as simply a part of the greater solution, where open source software is the commodity product. It's then left to us in the software industry as to how we can add value higher up the chain and for a change actually provide valuable solutions for our customers as opposed to just showering them with products.

    Where does this leave M$?

    Vista is proof of the reality of this model. In the realm of M$, XP is considered good enough, it is the defacto commodity product in this environment, for an enterprise there is simply is no reason to waste resources on Vista. Of course this is a dilemma for M$ since this does after all represent one third of it's revenue (another third from Office). M$ responded to the threat by simply stopping support for XP and if you are a business you must simply pay the Vista Tax. Economic feudalism in action.

    The eeePC and Mac at least have shown that it's finally possible to allow you as a consumer to decide what you are prepared to pay in terms of software and one can only hope that M$ will eventually be forced to also one day provide solutions instead of commodity products.

    Thursday, April 3, 2008

    Mono redeemed

    I don't know many people who like Mono. It's probably one of the most disliked projects in the open source world.

    That's not to say that Mono is flawed or that it doesn't have a strong community - it does. The problem with Mono is fundamentally that it implements technology from the enemy: Micro$oft.

    For myself - a Java guy - I detested Mono as nothing more than the usual scraps M$ throws it's competitors, besides .Net is an inferior technology anyway.

    The big problem with these positions is that they tend to neglect Bug #1.

    Realistically no company is in a position today to migrate their desktops off of a M$ platform. M$ Office aside, most enterprises usually have a catalogue of applications which only run on Windows. These applications normally represent an investment into productivity for that enterprise, whether they are off the shelf apps or apps developed internally.

    The good news is that many of these applications are being developed in .Net. Why is this good news? well it's quite simple: if they are indeed .Net apps, it means they might have a chance to be ported to Mono running on Linux.

    In a nutshell Mono can help be the fix to the bleak reality of Bug #1.

    Of course it's not that simple, Mono will always play catchup to .Net in terms of functionality, not to mention the fact that Windows works differently to Linux so some recoding will always be necessary.

    Nevertheless Mono can help retain the investment an enterprise has in an existing application and therefore at least reduce the magnitude of one obstacle in migrating to desktop Linux.

    In view of this another contentious issue suddenly seems to make sense. One of the problems with Mono is the potential it has to violate patents and thus become a legal handle for M$ over open source.

    A large problem until you consider that the effective steward of Mono is Novell. Of late Novell has been cuddling up to M$ in order to be protected from patent claims. A move for which it took a lot of flak from the open source community.

    Many have said that this move is probably more to protect Mono than anything else. And from that point of view it puts Novell and by extension the open source community in a much better position to tackle Bug #1.

    Tuesday, February 26, 2008

    So you wanna run Linux eh?

    Picture this scenario:

    Joe Blogs long time Windows user has just been burned with Windows Vista. He's heard about all this open source stuff and decides to give it a twirl.

    He aproaches you for help, since you are the local open source advocate and have happily been running Linux on your desktop since the early versions of Dead Rat.

    Joe's needs are pretty typical, he needs:
    - A decent browser
    - Office Software
    - Some mission critical software which he says runs on Linux

    You review these needs and immediately come up with a solution:
    - Browser = Firefox, downloadable from www.mozilla.org
    - Office = OpenOffice, downloadable from www.openoffice.org

    At this point you tell him that Linux comes pre-bundled with most of these utilities.

    Joe replies; "cool so what you're saying I can go to www.linux.org and I'm sorted!".

    At this point you inform him that it's not that simple.

    "Linux", you say, "is just a kernel, and a set of core utilities from the GNU foundation, various commercial and community interests take this and bundle -together with some value adds- it into a cohesive system, one of these distributions is Ubuntu which is one of the better end user distributions"

    Joe replies; "Oh ok, I remember seeing something about the mission critical software I use - which also runs on Linux - requires Red hat enterprise"

    You scowl , realising that it's probably not going to play well with Ubuntu and that you are gonna have to try Fedora.

    Joe continues; "Oh and then I have another piece of software which requires something called SLES"

    You then inform Joe that the various ditributions don't gel well together, you then tell him about chroot and how you can probably hack the software to make it work but it ain't gonna be pretty.

    Joe looks back at you with a glazed look and responds; "but I thought it was all Linux"

    "Yeah it is Linux" you reply.

    Joe looks at you for a while and then says: "I wonder if the software I use runs on Mac"

    You look at him for half a minute and then with an approving nod say, "That's actually not a bad idea, I think you should really look into that...."