Saturday, June 1, 2013

The Cost of Free Software

A recent post (more like a rant) by Joel Selanikio on Datadyne's web site:

Global development: where “free” means “expensive”
JOEL SELANIKIO ON 29 MAY 2013
In global development, I often hear people talking about “free” technology, particularly free software.  Well, as part of the team that has created Magpi, I’m a great believer in free software.  But my definition of free — “doesn’t cost any money to use” —  seems to be very different from the definition used in global development discussions.  Which is odd since “free” seems like a pretty basic concept.

Right off the bat, Joel misses the point of Free Open Source Software (FOSS). Yes, it is free of cost which he seems to understand but it is much more. To quote Richard Stallman:
"Free software means that you, as a user, have four essential freedoms: (0) to run the program as you wish, (1) to study and change the source code so it does what you wish, (2) to redistribute exact copies, and (3) to redistribute copies of your modified versions."

FOSS is much more than just free of cost. It gives you control over the software. You are not beholden to another who may put undesirable restrictions on your use of the software. This is especially important when you will typically invest a large amount of time and resources in configuring the software, training people to use the software and entering data into the software. You don't want to wake up and find that someone else has put restrictions on the software preventing you from using it as you wish.

Joel goes on to say:
"So what part of “free” doesn’t global development understand?  As it turns out, quite a lot — because international development consultants often use the word “free” when recommending systems that are VERY expensive to implement (usually open-source systems)!  Even worse, they seem to think it’s the end-users’ fault if they don’t understand that when a consultant says “free”, they mean “it will require many consultants”."

I can only say to Joel, "So what part of "free" doesn't Joel understand?"

As an international development consultant, I have never misled people about the cost of software. I often recommend FOSS software and I always point out that it will cost money to configure the software, train people and enter data. These costs for FOSS software are usually comparable to the costs for proprietary software (although they can be less since there is usually an active community of users willing to help).

Joel then goes on to compare the cost of his Magpi survey software with the DHIS2 (District Health Information System) software. This is an odd comparison since these software packages perform very different functions. Magpi (formerly Episurveyor) is survey software (designed to collect data from surveys) and DHIS2 is used at clinical facilities to keep track of clinic statistics and individual patient information and roll these numbers up to be analyzed for purposes of monitoring and evaluation of programs, management of services, planning and policy. It is much more complex software that performs many more functions. Really apples and oranges.

Anyway, if you look at Joel's cost comparisons, he is really trying to point out the difference in cost between setting up a server on site versus having external hosting ("software as a service" SAAS). Joel compares the cost of Magpi's "free" (there's that word again) service with the cost of setting up a server in the host country.
OK... a few obvious problems here right off the bat... First, Magpi's "free" service level on only free if you don't plan on using it very much. People who use the software a lot will have to pay $5,000 or $10,000 a year... so not really free. He then vastly overestimates the cost to set up a server for DHIS2. Since I recently contracted to have this done, I know exactly what it costs and it is no where near his inflated estimates. The cost was less than $20,000 for an on site consultant to install, configure and train people and the ongoing cost will be only a few thousand dollars a year (if that) for maintenance, upgrades, etc. Much less than the $50,000 a year he estimates.

It would be a much better to compare Magpi to a similar software, Open Data Kit ODK (opendatakit.org) which is also survey software similar to Magpi. ODK seems to have more features and a more active support community but for purposes of discussion, we'll assume they are equivalent. ODK Collect and Aggregate is FOSS and there are several options for SAAS hosting which are free FormHub (formhub.org)  and Enketo (enketo.org). There is also a nice link to Google App Engine if you want to host your own in the cloud. They are part of the JavaRosa project. Unlike Magpi, all of the code and services are "Free" as in free of cost for use and hosting or you can set up your own server.

Magpi says that it is "free" (of cost) but only for limited use. Anything more will cost you. Also, Magpi doesn't provide the source code and you can't host your own server so you don't have control of the software or your data so it is not free, but rather subject to Magpi's terms and conditions.

So, to get back to DHIS2 which was inexplicably compared to Magpi... Yes, you can run DHIS2 in a SAAS "cloud" and that is exactly what a number of countries are doing. Yes, it does cost something to run the cloud servers (but much less than Joel's estimates).

The software industry has long recognized that the "cost" of software purchase is only a part of the total cost of ownership. In fact, they have always promoted the idea of TCO studies when contemplating any software change. It would be naive to expect otherwise.  I don't know what set Joel off on his rant but it really doesn't do anyone any good to spread FUD.
Software has costs. FOSS software doesn't have a purchase price but does have many of the other costs of any software installation. FOSS software also gives you the freedom to control the software and your data which is the most important part of "free".

Free is a pretty basic concept and it's surprising that so many people get it wrong.

-----

Some additional background information from Wikipedia:
Technology deployment can include the following as part of TCO:
  • Computer hardware and programs
    • Network hardware and software
    • Server hardware and software
    • Workstation hardware and software
    • Installation and integration of hardware and software
    • Purchasing research
    • Warranties and licenses
    • License tracking - compliance
    • Migration expenses
    • Risks: susceptibility to vulnerabilities, availability of upgrades, patches and future licensing policies, etc.
  • Operation expenses
    • Infrastructure (floor space)
    • Electricity (for related equipment, cooling, backup power)
    • Testing costs
    • Downtime, outage and failure expenses
    • Diminished performance (i.e. users having to wait, diminished money-making ability)
    • Security (including breaches, loss of reputation, recovery and prevention)
    • Backup and recovery process
    • Technology training
    • Audit (internal and external)
    • Insurance
    • Information technology personnel
    • Corporate management time
  • Long term expenses
    • Replacement
    • Future upgrade or scalability expenses
    • Decommissioning
In the case of comparing TCO of existing versus proposed solutions, consideration should put towards costs required to maintain the existing solution that may not necessarily be required for a proposed solution. Examples include cost of manual processing that are only required to support lack of existing automation, and extended support personnel.



2 comments:

  1. Great blog post. Very good discussion on the cost of foss.

    ReplyDelete
  2. great post, very helpful and important this understanding is shared with those not just in this community, but policy decision makers who well make decisions!

    ReplyDelete