Monday, April 09, 2012

Why India needs FOSS

Expiring Software Licences

A friend of mine who purchased a laptop some months ago was concerned about her expiring software licences. It is not uncommon in India that one comes across laptops or PCs which have software installed by someone else - the proverbial "expert" who seems to excel at denying people the CDs and installation media needed to reinstall the software they supposedly own. In any case, often people buy software and somehow the installation media is not to be found when the system suffers from a virus attack or otherwise needs to be re-installed because the old version is not supported any longer.

Can one legally own Software?

One school of thought among computing device users is the legally clean hands approach. Such users will do everything in their power to use only legal software. They are people who think that "do not steal" means using only "authentic" software. Such users run around when their software licences expire - they rush to the nearest software dealer to get their "authentic" latest copy of their software. They feel that piracy is a crime just like murder, and that the perpetrators of this should be condemned to severe punishment. These users will suffer the inability to use their systems when their software expires.

Why is it that we seem to buy in to the above line of thought? I believe it is because we haven't delved deep enough into the essence of software. There is no doubt that computers and software have been very recent additions to human history. The average Indian has lived with computers and software for around two decades. Being a new "thing", we seem to ask the same questions of software that we ask of property, before analyzing it from a legal perspective. The question of ownership. Who owns "it"? If each copy of a software is "ownable" like land or a car, etc., surely it is a crime to get an "illegal" copy of the software, akin to stealing. No wonder software piracy begs to be regarded a crime. However, I believe software has certain properties which puts to question its comparison with "ownable" objects.

Distinguishing Feature of Software: Share-ability

Consider an object like an automobile, say the latest Ford car in the market. Before coming to the showroom, each car would have gone through an assembly line, where it's skeleton, it's interiors, it's engines, radiator, exhaust pipes, top cover, steering wheel, etc would have been assembled. All these parts need to be manufactured separately according to the size, specification and design required for the latest Ford model. The finished product therefore would be yours only if you pay the cost of ownership. For the company, the cost of manufacture will determine the profit they make on a sale. The company can streamline their systems, automate the manufacture of parts and use machines to assemble their cars to bring more efficiency and reduce their cost of manufacture and thereby increase their profit.

The truth is that software production does not work like this. Producing an extra copy of a piece software does not involve the kind of work that goes into the latest car or watch, for example. Your latest "legal" version of proprietary software did not require all those kilobytes or megabytes to be manually written onto the CD/DVD by hand - the cost of material and human effort involved is not comparable to other most commodities that you pay for. Your software was simply copied automatically from a master copy, with comparatively little extra cost or manpower. The only thing that is different between your CD/DVD and the other ones in the shop where you bought it is the "product key", a code which you need to key in to authenticate your copy of software. However, from a legal perspective, this product key does not add any value to the software itself, but is just a mechanism to ensure that only one person or party can use your copy of the CD/DVD you bought.

The point is that the possibility of sharing the proprietary software you bought with your friend is limited by the product key or a similar mechanism put in place by the software manufacturing company. Note here that I am not advocating "freeware", where you don't pay for the software. Rather, I am simply advocating that you should have the freedom to share the software you bought, and conversely, to borrow a software CD your friend bought! So if software cannot be compared with material objects, what can we compare it to and what should be our policy to determine the cost of software?

Of course, a software company needs to pay it's developers. After all, software programmers need to eat too! Though extra copies of software can be produced at minimal cost, the master copy of the software itself needed to be produced first. This surely needs a great deal of manpower, time and effort, which surely incurs a considerable cost. Human resources are the real assets of a software company. The methods, processes and methodologies used to develop the software determine the cost efficiency of software production.

Software akin to books?

If you compare software with books, extra copies of software can be produced somewhat like books, simply by machine printing/copying the text of the book onto paper and binding the paper with a cover around it. The original manuscript of the book took a good deal of effort from the author, and this is what an avid reader really wants to pay for - the content of the book, though of course the kind of paper, binding, etc also form part of the cost of the book. With software, the process of creation and copying is closer to how books are created and copied. Yet, there is a difference between the two. You buy books to read them, but you buy software to use it, rather than read it. You buy it because it performs a particular task, which it was designed to perform. A Word processing software for example, helps you create documents which you can share and print. However, the secret to how the software works is in the "source code". "Open Source" essentially gives you the privilege of reading the source code.


Q: Why should I care about the source code if I'm not a developer?
Ans: If you procure open source 
software, where you can access a copy of the source code, you are not at the mercy of your vendor or the developer in the future. You can take the source code and go to another developer/organization to maintain/customize the software.

FOSS / Free and Open Source Software - viable alternative to proprietary software

"Free software" means software that respects users' freedom and community. Roughly, the users have the freedom to run, copy, distribute, study, change and improve the software. Thus, "free software" is a matter of liberty, not price. It's free as in freedom, not cost. To understand the concept, think of "free" as in "free speech," not as in "free food" or "free beer".

A program is free software if the program's users have the four essential freedoms:
  1. The freedom to run the program, for any purpose.
  2. The freedom to study how the program works, and change it so it does your computing as you wish. Access to the source code is a precondition for this.
  3. The freedom to redistribute copies so you can help your neighbor.
  4. The freedom to distribute copies of your modified versions to others. By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.

Software for a Free India

India is a huge, diverse confluence of cultures, languages and religions. Leaving a rich history and tradition behind, we Indians will complete 65 years of Independence this coming August 15th, 2012. A lot has happened in all these years in our country, which is the world's largest democracy. India has always been complex country to advance and as solutions seem to be found, more questions are raised about the future. India has produced many great minds and continues to produce people who have made an impact, not just in the motherland, but all over the world. In this era of technology, India has made rapid strides in tapping technology for the development of the country. Today, the common man can stay connected by mobile, and be up-to-date with news, technology, etc via national TV and radio, which is found even in remote villages. In all major cities, there are several facilities like ATM's, bill payment kiosks (water / electricity), online payment facilities, online travel ticket booking (e.g IRCTC, KSRTC, Cleartrip, etc..). Even online e-filing of Income Tax returns, sales tax, etc. All these open up new possibilities for people.

However, for a developing country like India there is still a gap to be bridged when it comes to bringing technology to the people. Especially when it comes to public services, there are services which fail to cater to the larger spectrum of users. In this regard, there is a need for the Government to look at alternatives which serve all groups of people. Before investing tax-payers money in solutions, we need to ponder on whether the services provided are fair and reachable to all. Also when choosing a given technology, it is important to look at creating a level playing field where solutions on all platforms are placed on an equal footing. As a programmer with more than 14 years experience on both Windows and Linux, I'd insist that the Government should place Free and Open Source solutions on par with proprietary solutions from Microsoft or any other company. Whichever solution is fair to all citizens and is technologically strong and sustainable should be chosen.

For example, consider the website http://incometaxindiaefiling.gov.in for electronic filing of Income Tax returns online. If you visit this site and go to the "Return Preparation Software", you get a page full of MS Excel files, which you need to download and complete offline. The problem with this is that Excel is a product of Microsoft and runs only on Microsoft Windows. So users of other operating systems are excluded. There are some tools to run Windows applications on Linux, but not reliable or recommended. Even if you are using MS Windows, you don't get MS Excel by default. You need to get yourself a copy of Microsoft Office if you want to use MS Excel. This raises a few questions:

Q1: How many Indians can afford to get a legal copy of MS Excel?

Consider the student who has just been introduced to computers. He/she may be staying away from home and barely managing to pay education loan and house rent from his first job. There are many people who are first generation skilled workers while their parents generation were not even educated. Can they be expected to spend their hard-earned money on legal MS Office? If they have a computer, they have already spent on the hardware and maybe some software as well to run on their computers.

Q2: Is it fair to require Indians to use MS Excel (or any proprietary product) for e-filing of returns?

The Government requires every salaried person to file their IT returns. What about people who don't use Windows? They want to file returns on their own and do not have the time and transport to go to the Income Tax office and get themselves a form, fill it up and then submit it back at the IT office. Such people need to be able to use the e-filing facility with whatever computer they are using. Every operating system has software for spreadsheets similar to MS Excel. Why not provide option in alternative software also to file returns online?

Q3: Is it fair to cater only to users of MS Excel (or any proprietary product) for a public service to the citizens of the country?

Certainly, it's unfair! Any public service solution which is beyond the reach of one or more group of citizens of the country is a situation which needs immediate attention from the Government. No Government can claim to respect the rights of it's citizens if it gives denies services to users of any kind of software. Surely, there needs to be more awareness of the sectors which actually contribute to nation building - Open Source has made huge contributions to the country in different ways [1] [2] [3]. It is high time, Open Source users are treated on par with users of proprietary software.

Is there an alternative? Yes indeed!! Open Standards is the answer to this problem. OpenOffice is an office suite which has all the features needed to file income tax returns. This has been proved beyond doubt by the ITR migration project taken up to migrate the MS Excel files to OpenOffice.org. Surely, we need the concerned people in our Government to sit up and take notice of this pressing need. Surely, they can support this work if not ensure that there they provide software for OpenOffice.org . The reason this is a better choice in this scenario is that
  1. OpenOffice is available for Windows, Linux and Mac OS and therefore, no one will be excluded if they use a non-Windows OS.
  2. OpenOffice can be downloaded free of cost from the website and can be copied onto CD's and distributed at low cost even to those without Internet.
Rabindranath Tagore, legendary poet and thinker and the first non-European to win the Nobel Prize in one of his great and well remembered poems, wrote:
WHERE the mind is without fear and the head is held high
Where knowledge is free
Where the world has not been broken up into fragments
By narrow domestic walls
Where words come out from the depth of truth
Where tireless striving stretches its arms towards perfection
Where the clear stream of reason has not lost its way
Into the dreary desert sand of dead habit
Where the mind is led forward by thee
Into ever-widening thought and action
Into that heaven of freedom, my Father, let my country awake.
Political freedom was secured in 1947 but we can only dream of the day when there is freedom of technology for all Indians and we can really reap the benefits of Free and Open Source software while being able to use the public services like filing of Tax Returns which is a right of every Indian. That day is not today and we hope that this dream become a reality. Anyone listening?

UPDATE:

About a year after this article was written, the Income Tax e-filing website has added a facility for users to file income tax online if they need to file form ITR 1. This means, they do not need to depend on a tool like Microsoft Excel for this type of returns. This does improve the situation, though not all the forms are available with the online option. Yet, it is a step in the right direction - a step to put all citizens on an equal platform.