Open source software is freely distributed ... but it's said that "you don't get nowt for nowt". So what is Open Source software and how does the Open Source model work? Is Open Source software a practical alternative to commercial licensed software for business use, what's the true cost of ownership and will it still be around in a few years time?
This is a summary of a lecture given to Alumni of the University of the West of England ... but as anyone who attended the lecture will know, these notes can only give a shadow of an idea of what felt more like an interactive stage show with full audience participation as we explored what is Open Source, how and why does it work and where it's going. Great time had by all (plenty of audience reaction) and I have great fun too. THANK YOU everyone.
P.S. I'm Open to invites to present similarly elsewhere and to train!
WHAT IS OPEN SOURCE?
The Cathedral and the Bazaar
>>> Book - Eric Raymond
The Open source model produces software that's distributed in source code format and free of charge - thus allowing anyone who receives a copy to make full use of it, pass it on to others, and enhance it.
SO - Incremental development
It often starts off as a small project that grows organically with lots of people making small contributions rather than a small team each doing a huge amount of work
SO - many ways of doing it from a small start
Features can be added in (at least to individual's copies) without any need to jump through hoops to justify what's being done or get hold of the source. So there tends to be LOTS of ways of doing anything.
SO - written by enthusiasts
As you might expect, only a small proportion of Open Source development is done by reluctant "jobs-worth" types. The majority is done by enthusiasts - and there's a tendency for for enthusiasts to do a great job and put a lot of effort into getting things spectacularly right.
SO - innovative but quirky
As there's no committee signoff before an individual experiments, there are a lot of innovative but quirky developments on side shoots. A surprising proportion of theses make their way into releases as they can be seen to be good .... or at least not to be negative, and if one faction wants them, why not include them?
ALSO - the need to ensure feedback
Issue. If you add something to a piece of open source code, you don't want to have to add it again and again at each new release - so you need a mechanism of feedback.
RESISTANCE TO ADOPTION
Who can I sue?
Probably no-one .... but have you ever tried suing Microsoft?
Is it reliable?
YES YES YES. Any problems that are introduced into side shoots rapidly get found by the myriad of testers and the world's a big place ... everyone's a tester, everyone writes reports / fixes, and the authors are enthusiasts who welcome feedback and constructive suggestions. This might sound idealistic but it really does work.
Where do I get support?
Plenty of books, plenty of forums, email addresses abound. And, yes, you can also buy support from folks like Cyngus and ActiveState if you really want to.
What if the author just walks away?
What an unlikely scenario ;-) .... but it has happened. There are plenty of folks out there who will take it on and under most Open Source licenses other can work on it / take it over / continue it if need be. A much better prognosis than a commercial product which can be withdrawn once you're locked in ... and that can be a major commercial issue.
>>> Monty Widenius
supports during a lecture
Open source operating systems, languages, other pieces of software are written by enthusiasts for enthusiasts. At the end of a day's training, I'll answer questions on the forum and that I've received in email ... even questions from people I don't know "from Adam". And I'm not alone - the picture (link above) is Monty Widenius, Author of MySQL. On a cruise and doing some lecturing on the Med. And what was he doing between lectures? In the bar? No way ... he was answering emails and looking after aspects of his product.
Do your own support
Seriously, folks ... you've got the source. An extreme measure but it can be done, and/ or you can buy in some skills to work at a much lower level than you could with a commercial product.
Resistance to asking
OK - I added that comment in for the UK market. The Brits have a reluctance to "trouble" the author or to ask questions. That's noble on the basic stuff which is in the book / obvious (I know I get a bit frustrated by having to spend time answering a question that a google will answer better and quicker) but if you can't find an answer PLEASE ask ... in the open source community, right back to the Horse's Mouth if need be. If there's a problem with the product or something that's not as clear and easy as it should be the author will WANT to know and will THANK you!
WHAT'S THE CATCH
"You don't get nowt for nowt"
You can. Sunshine and blue skies and fresh air cost nothing. Many of us enjoy great health. BUT there can be downsides.
Not always so well developed "Rough Carpenter"
but (MySQL 15 minute rule)
e.g. need to pioneer / extra support
I'm the world's worst for this (look at this great content in a naff presentation package!). Things tend to get bolted together to quickly work and do a job and installations scripts and packaging aren't always very easy. After all - with no PAID support team there's not much of a supplier's cost incentive to make it easy.
However - some folks (such as the MySQL team) have a target set that their software should be downloadable and installable and runnable in 15 minutes, and that works.
Free at the point of DBN - National health?
An interesting comparison I made, but I'm not sure of the accuracy / trueness. The UK's National Health service is also free (ha,ha - prescription charges, dentists, etc.) at the point of use but is heavily paid for by the big UK tax burden. The difference is that with a medical procedure, each new customer adds a big expense on to the supplier but with open source the distribution and the download facilities cost nothing (or next to nothing)
Viral licenses - must be free onwards
Some Open Source licenses include terms that state that any product they're included in must also be distributed under an Open Source license or the same Open source license. This can be a major issue if you're writing a commercial product that uses say Open Source product xxxxx or yyyyy. There are even instances where one Open Source product hasn't been able to include another because of such licenses and conflicts. e.g. PHP 5 / MySQL 4.1 libraries
Total cost of ownership and some strange factors
The REAL Open Source use cost should be measured in "total cost of ownership". The code may be free but training, bringing staff up to speed, etc., won't be. And staff need salaries and if you go with a "rough cut" product then you'll spend a lot more in TCO on the final result than if you have bought a license from (shock, horror) Bill Gates.
Sales and marketing - but technical enthusiasm counters
There's no sales and marketing budget for Open Source so there's no paid team of advocates. I remember heading about a huge Health Service / Microsoft deal where the Health Service had been given a discount of something like 50% off many millions of pounds and it was hailed as a triumph of negotiation. Except that there would have been no "per seat" cost AT ALL had they gone Open Source. What a waste of taxpayer's money.
"If you're free, we're free ... but if you charge, so do we".
So say the MySQL folks and a number of others now. A bit worrying buy fair enough and it does keep the flow of some income to the development team provided that they don't cut off their roots - but there is an attraction of doing so ...
THE ATTRACTION OF GOING COMMERCIAL - COMMERCIAL CREEP
The latest version of Expect of Windows platforms is available only under license from ActiveState. I think I saw a price of $295 per seat. I'm not thrilled but I don't know the full why / wherefore so I'll remain muted in my criticism of the step taken.
ActiveState / Perl
Much less of a worry. I've listened to Larry Wall talk on this. "Perl will ALWAYS remain free - the license is designed to ensure this - even though addons may cost". The additions and pushing of Perl in a Windows environment (Vancouver, where ActiveState are based, is about 50 Miles from the Seattle HQ of Microsoft and it's not a co-incidence) may not be good for Linux ... but it is for Perl.
Sponsorship of PHP and new Perl
Last October, I listened to nearly tow days of fascinating lectures by Rasmus Lerdorf (PHP father) - yet he's now technical director at Yahoo. How come he has the time? Because what's good for them is good for Open Source and there's a degree of patronage involved. It works well; the same thing's been done in the past with Larry Wall and O'Reilly, for example.
Financial issues - e.g. new Perl 6
But - patronage isn't universal and especially for some of the more long-sighted developments (more research than development?) the financing isn't always that easy. Perl 6 is being developed with a slightly uneasy mixture of sponsorships and collections to pay for it, and that's had something of an impact by reducing the team and pulling some folks more onto fundraising. However, as it gets nearer-market there are more sponsors coming in. Perhaps as opportunists looking for glory but them I'm not going to suggest we look at even a conditional gift horse in the mouth.
FOR OPEN SOURCE
BRILLIANT small groups of enthusiasts (but hangers on)
>>> Rasmus Lerdorf
I should explain this. I've nothing but praise for the language originators and the closest people too them. You've only got to meet them and spend a bit of time with them (I've had the honour) to realise that their products have made it because they're technically brilliant AND they have the commercial model sorted AND the authors are nice and charismatic people.
BUT ... below the cream is the milk; some of that is watered down and some, frankly, rancid. Elements of infighting at the middle level and a number of hangers on. I should be careful what I say here ... I don't consider myself to be one of "the cream" in the way of Monty or David (Axmark) or Larry or Rasmus or Mark (Lutz) but equally I see certain people and I say "TELL ME if I'm ever like that.
You've also got a group of more "market aware" advocates who hold very strong views that aren't always totally shared and appreciated by everyone and discussions can get heated as they can within a family. These people are sometimes respected rather than liked.
Projects - httpd. Linux. Perl. PHP.
Just some of the major success stories.
Open source grows up.
Pumpkings. Apache.org. Sourceforge.
And with growing up comes the need to provide much more structured control of projects and to ensure that things get reliably tested, fed back in and the rest. Each piece of Open Source software needs a pump king to oversee releases, and organisation such as the Apache Foundation and GNU have structures in place to ensure this works well.
AROUND IN THE FUTURE.
Can idealism really work?
Enthusiast wanes? (but look at Tcl!)
Even the older Open Source projects have long tails. Even when the original author has to move on or into another field, others take on the mantle of the day to day work and the original author continues to take an interest - perhaps taking a role that's more like the Grandfather than the father of the language.
>>> Training Centre
People want to work with enthusiasts
Interested enough to follow up.
EXPECT THE UNEXPECTED - HARRY'S EMAIL
The world is a strange place, and the information and technology age has broken a whole lot of rules that were previously "de facto" - laid down by the impossibility of doing otherwise.
An incoming email ... "You don't know me; I live in South Africa and I'm looking for public Internet access in Melksham" wrote Harry. A long story follows; Harry's daughter Delene, the reason for his email, is now my Daughter-in-law. She and Chris make a lovely couple and they're ideal for each other ...
At Well House Consultants, we provide training on Open Source programming languages such as Perl, Python, PHP and Tcl/Tk. We also cover MySQL and Linux. All subjects are covered in public courses at our Melksham, Wiltshire training centre and are also available as private course at our place or at yours - we provide all tutor, notes, equipment, etc. - you just provide a room and the students.
Please phone (01225 708225) or email (firstname.lastname@example.org) if we can be of any help in your training requirements.
See also Linux, Apache, MySQL, PHP / Perl deployment