Category: All Posts

How does Open Source Software come to be?

This may seem like a simple question to answer, i.e. is written, just like any other software!  It also might seem a strange sort of question to ask, but you will hopefully get my point if you read on!

 

NOTE: No thorough analysis supports the observations I report here.

 

It seems to me that the vast majority of the important Open Source Software comes to be through the following mechanisms:

 

  1. Cloning or reproducing in some way an existing design specification or similar.  Examples of this route being Mono(.NET), Linux(Unix) and Wine(Win32).  This technique is usually to force a product or interface into the open, by creating an alternative.

  2. Donating, i.e. some third party gifts pre-existing Open Source to the community, examples of this being OpenOffice, Zope and Niku.  This route is often taken by closed source product companies with an old product that is not generating much revenue.  The closed source community uses this old product line to, improve their image, generate services revenue, stimulate demand for optional closed source products, kill off a competitor etc.  In some cases the original developer continues to have some involvement in the development, …

Solaris and Linux

Johnathan Schwartz writes a nice article about Sun’s dilema, now resolved, about how to compete against Linux.  Linux is not a product, its a social movement that Sun applauds, so how can they compete?  He goes on to explain that in reality Linux is delieverd as many incompatible distributions, and...

Looking to the future.

My previous two posts gave two examples of projects that would have benefited from having been Open Sourced.  They happened a long time ago, when I worked for a different community and both have disappeared so there’s no problem with discussing them.  When these products were developed Open Source was just an emerging concept.  I am not going to discuss the history of Open Source, that’s been well documented already, and I am not qualified.  However I am going to start to build up a series of articles that describe some of concerns and the challenges I think the Open Source model faces in the future.  I am going to assess some of the established beliefs as documented in Open Source bibles like the Cathedral and the Bazaar and I am going to do my bit to try and help.

Lost Opportunity 1

In a previous post I described a simple networked or standalone, (depending on data definitions), document imaging processing project I led.  This system would have been perfect as an Open Source project for the following reasons:

 

  1. The need for such capability to be provided as infrastructure was universal.  The main constraint at the time to this happening being the high cost and complexity of the current applications.  So adoption would probably have been quite rapid

  2. The target user community tended to be very network centric, as they were often charged with distributed access to large central collections of information.

  3. My company had no interest in the software,  its interest was in an efficient way to capture and distribute its image data as efficiently as possible

  4. The system was very extensible, allowing additional storage drivers, scanner drivers, printer drivers, viewers and databases to be added by other developers.  The automatic maintenance of these components in line with new hardware advances and the increased deployment reach would have been very valuable

  5. There were many areas of potential improvement.  Some of the concepts were not fully realised, and many functional/feature improvements such as OCR were missing…

Lost Opportunity 2

I thought I would pick two previous projects and look at their potential as Open Source projects.  The second I picked is a bit whacky.  It was written almost entirely in DCL and provided an automated help desk job logging, analysis and reporting tool and knowledge base.  To write this in DCL is a testament to the flexibility and power of the VMS scripting environment and indexed files and the creativity of one of its developers, (not me).  But the concept was mine and its ‘conceptual integrity’ was maintained for many years.  What value could this have had in an Open Source context:

 

  1. The application itself had little value, although it was trivial to deploy and could have proved very popular for other small support teams.

  2. The tools developed to manage a complex system constructed from DCL would have been very valuable

  3. The library of DCL routines would have been very useful to the community

  4. The concepts used in the system which allowed 4GL like application development may have inspired other developers to rapid application prototyping of similar applications.

This system lived for well over a decade and died because the team that used …

Open Source, even then.

As I gradually migrated towards infrastructure and away from line of business applications, the reality of having to deliver applications to Windows and manage them on Windows began to dawn on me.  To a developer used to centralised computing, with remote access through X Windows or terminal clients this was a considerable shock.  However my first real Windows development project showed one of my most valuable character traits, I don’t give up easily!  Without going into the gory details, here are some of the attributes of that first application, a system for capturing, storing, accessing and viewing large image collections:

 

  1. Very easy deployment

  2. Self maintaining code, i.e. a minimal system start-up application compared what was installed with what should be installed according to a central manifest, and updated itself accordingly.

  3. A very flexible storage model built on the concept of logical storage units, (a bit like VMS logical names on steroids), which handled the fact that images could be on removable CD’s, local disks, media libraries, networked disks etc and in different combinations.

  4. Data driven.  The whole system was configured through simple text files and meta data definitions that defined the actual data structures in the SQL database.

  5. Globally …

Open Source, the real beginning.

In this article I use Open Source in its broadest sense, (i.e. not consistent with the specific licensing defined by opensource.org), but meaning my experience in using other peoples source or developing source for others to use.   In particular I wanted to give examples of where the concept of Open Source had it been so visible then, would have suited some of my projects.

 

My computing true home has, and always will, be VMS.  As a VMS systems integrator I learned rapidly to admire the power, elegance and consistency of the system, its ‘conceptual integrity’ if you will.   It’s this history of VMS that made it so difficult to admire Unix, which by contrast has always seemed lacking in that same ‘conceptual integrity’, to stretch a point, always seeming to have been assembled rather than architected.

 

It’s also that history of VMS that first attracted me to Windows NT, (the development of VMS was led by a team from Digital who worked extensively on VMS).  Having been repelled by DOS and Windows, I was excited by the prospect of NT but ended up being left gaping at the lost opportunity, (still not realised today).  I was truly …

Open Source, the beginning

This is the first real post in the Open Source category of my blog, but one of many in the blog as a whole, and one of many to come on Open Source.  If you have read my blog from the beginning you will know that much of my recent experience is with Enterprise Infrastructures, and that has to a large extent involved software from IBM/LOTUS and Microsoft.  Integration with Unix systems being through well defined and mature interfaces like NFS, X-Windows and DNS.  This means that I have a lot of familiarity with Microsoft and I am open about the fact that there are things to admire about Microsoft, (and many things to not admire of course), however I have a long held low tolerance for Zealotry which I have talked about previously, but want to expand on here.

 

When I say I dislike Zealotry, I am not talking about passion, I am talking about taking a stance for or against something that can not be defended by rational argument.  This causes me a problem, because as an enterprise architect, I spend my life having to defend the decisions I take with rational argument, and for me, ‘I …

Diagram of my home network

I described my Office in a previous post.  In this post I thought I would provide a bit on insight into my home network.  The following diagram should give you the basic idea.

  1. The hub of the network is a little 4 port 100MB switch.  All three servers and one laptop are plugged into this

  2. There are two dedicated servers on the network

    1. Server 1 is a dedicated application server.  It only runs Windows 2003 Server and GSX Server 3.1.  All application servers and some test desktops run on top of GSX server.

    2. Server 2 is a dedicated management server, and Active Directory domain controller.  This server runs the MOM Express 2005, and acts as a backup of my main file server, using Windows 2003 Volume Shadow Copy.

  3. My desktop PC also happens to run Windows 2003 server, as this allows me the flexibility to access it via Windows Terminal Services from anyhwere in the house, mirror my data files, and also runs as AD domain controller for resiliance.  It also runs VMWare Workstaton.

  4. When I need access to my company network, I run up a corporate standard PC in a VM on my Desktop Server and VPN from there, …