Saturday, November 12, 2011

WITH A MILLION EYES, ALL BUGS WILL VANISH

Open Source - Benefits And Challenges 
(Summary: On the 20th year of Linux, it explains what is open source and why it should be adopted. 
This is text of the talk delivered by Justice Yatindra Singh, Judge Allahabd High Court, in Computer Society of India, Ahemdabad on 13.6.2011.
Click here to download pdf format of the text.)

नमस्ते, and a very good evening to all of you.
Computer society of India consists of computer savvy. These words  conjure up strange images in my mind. Geek, Nerd (someone boring and wearing old-fashioned clothes), Egghead (an old bald man, wearing thick glasses), Buff (absent-minded, forgets to wear his clothes), Hacker (Chopper). Nevertheless unlike the images that they evoke, computer savvy are intelligent, have an IQ of more than 140,   a requirement to become member of MENSA and  belong to top 2% of the population.

I am not member of computer society of India but am often invited to speak in their meetings. I always accept it, unless I am pressed for time. The reason is simple—a man is known by the company that he keeps, and who wouldn't like to be in the company of such a group; perhaps I may be able to bask in your reflected glory. So here I am. 


Unix, is the the oldest and most stable of all operating systems. It was developed at AT&T’s Bell Labs in the late 1960s’. At that time AT&T was a regulated monopoly and it could not sell computer stuff. They made Unix freely available along with source code to the universities and the government to tinker and improve it. 

By early 1980s’, Unix became a powerful and popular operating system though there were competing versions of the same.  It is said,
'It [Unix] is a clean and beautiful operating system. ...Unix ... comes with a small-is-beautiful philosophy. It has a small set of simple basic building blocks that can be  combined into something that allows for infinite complexity of expression.This, by the way, is also how physics  works. You try and find the fundamental rules that are supposed to be fairly simple. The complexity comes from the many incredible interactions you get from those simple rules, not from any inherent complexity of the rules themselves …It's the same thing with languages. The English language has twenty-six letters and you can build up everything from those letters. Or you have the Chinese language, in which you have one letter for every single thing you can think of. In Chinese, you start off with complexity, and you can combine complexity in limited ways.' (from Just for Fun: The Story of an Accidental Revolutionary)

Andy Tanenbaum, a University Professor in Amsterdam wrote Minix, a Unix clone for IBM PC, as a teaching aid for Unix. There was some shortcomings in the same. Linus Torvalds, a twenty-one years old  student of the University of Helsinki, Finland started writing a programme to overcome its shortcomings. It was Linus’ Unix or simply Linux.  It was ultimately released under General Public Licence (GPL). 

For creating the operating system, Linus posted the following post for the first time for the newsgroup: comp.os.minix on 25th August 1991: 
'I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386 (486) AT cones. … I'd like any feedback on things people like/dislike in minix, as my OS resembles it … I'd like to know what features most people would want. Any suggestions are welcome, but I won't promise I'll implement them :-)'   

This year is the twentieth anniversary of the event and is being so observed. I am glad that this talk on open source has been organised this year. But what has the title of the talk got to do with open source? Well, you have to wait for some more time. 

The talk has been divided into five parts:
  1. Why - Open Source ;
  2. What is it;
  3. Its Advantages; 
  4. Overcoming―challenges and difficulties;
  5. Business methods: earning money with it.

WHY- OPEN SOURCE 
The beginning of the last century witnessed the emergence of a semi-clad Indian, referred to as 'half naked Fakir' by Winston Churchill. His philosophy was, 
'Means are more important than the end: it is only with the right means that the desired end will follow.' 
To the charge that 'means are after all means', he would say, ‘means are, after all, everything’. His name was Mohandas Karamchandra Gandhi – known to the World as Mahatma Gandhi, father of the Indian nation.

Gandhi's philosophy is deep rooted in law too. Lord Denning, one of the greatest judge of 20th century, in R Vs IRC Exparte Rossminster Ltd 1979 (3) All ELR 385 held,
‘But it is fundamental in our law that the means that are adopted ... should be lawful means. A good end does not justify bad means.'  
So is true of our laws. 

Chapter IV of our constitution is titled 'Directive Principles of State Policy'. It contains the end or the goals to be achieved. Chapter III is titled 'Fundamental Rights'. It contains the means: they are the good means. Our constitution also envisages goals to be achieved by the laws that conform with the fundamental rights—the good means.

In the  World of information technology, 
  • The end is dissemination, communication, and retrieval of information; and 
  • The means are, how to achieve it, implement it; the kinds of software to use, the kinds of standards to adopt, the kind of formats to employ? 
Is OSS good means? Before we consider it let's understand what is OSS.

WHAT IS OPEN SOURCE SOFTWARE (OSS)
The software consists of two parts
  • Source code; and
  • Object code.
Computers only understand ‘machine language’ or ‘machine code’ i.e. instructions that consist of a series of 0s and 1s. In the earlier days, a computer programme used to be written directly in machine language by punching a card. The punched slot or un-punched slot indicated requisite information to the computer. However, the process was slow and tedious. Such a programme, although intelligible to the computer, was virtually unintelligible to anyone except an equally skilled programmer.

Nowadays, computer programmes are written in high level computer languages using compact English words. This can be understood by humans though not by the computers. This is known as the source code. 

The languages also have a programme called compiler and with its help, source code is compiled into the language that computers can understand. This is called object code or machine code. This runs the computer or any application therein.

Protection—Object Code
There was some debate as to how the object code is protected but Article 11 of the TRIPS mandates its members to provide authors with the right to authorise or to prohibit commercial rental of at least computer programmes and cinematographic works. This has also been so provided in our laws. In our country, as well as in almost all other countries in the World, the object code is protected as a copyright. 

Protection—Source code 
Copyright lies in a description. Source code is a kind of description and being a description, it is a literary work within the meaning of Copyright Act. If it is published it is protected as a copyright.  If it is not published then it is protected as a trade secret.  Under certain conditions, it may also be protected as a patent. 

Copylefted, Free, and Gpled software
Everyone is not using Intellectual Property Rights (IPRs) to hoard rights in the software. Some are using them in such a way that no one is able to hoard them. Using copyright, they are doing just the opposite. It is for this reason it is called copylefting. This happens if software license has the following conditions:
  1. The software is royalty  free and no fee is charged for the same;
  2. The source code is disclosed;
  3. There is freedom to modify the software; and 
  4. Anyone who redistributes the software, with or without changesis required to pass along similar freedom to others i.e. disclose the source code and permit further modification. 

Copylefted software is also called free software as there is freedom to modify it. In fact the term free software was used much before the terms Copylefted or open source software were used. 

It all started in 1984 when Richard Stallman, a researcher at the MIT AI Lab, started the GNU (a recursive acronym for GNU is Not Unix) project for an operating system under the umbrella organisation of Free Software Foundation (FSF). They say,  
'Think of “free” as in “free speech”, not as in “free beer”'.
Richard Stallman, with the help of lawyers, drafted the GPL. It contains the  conditions that copylefts a software. Most of the software under the GNU Project are under GPL. 

Software, released under a GPL licence, is also known as GPLed software. 

Open Source Software (OSS)
The philosophy of copylefted conveyed an anti-business message. Though, it is not so: it is merely a way of doing business. However it was necessary to change this perception. 

In the late 1990's, Eric S. Raymond (known for 'fetchmail', a software for downloading emails), Bruce Perens  (former project leader of the Debian distribution) and other free software enthusiasts got together in California to start a consortium – called Open Source Initiative (OSI). They also drafted ten guidelines and if the license or conditions under which the software has been released satisfies these guidlines then they called it Open Source Software (OSS). 

Among the  ten conditions, the three important ones are,
  1. The software is royalty  free and no fee is charged for the same; 
  2. The source code is disclosed; and 
  3. There is freedom to modify the software.

The guidelines do not contain the fourth condition of Free Software. Thus OSS is more comprehensive. All Copylefted is OSS but all OSS is not Copylefted software. The sphere of OSS is bigger than Copylefted/  free/ GLed software.

At present, sixty seven licences have been identified as satisfying these ten conditions. All the licences copyleft the software to a degree: GPL coplefts to the maximum; whereas, Berkeley software distribution (BSD) licence does it to the minimum. The rest of the licences lie in between. 

Successful Mantra to Develop OSS
Raymond presented a paper titled 'The cathedral and the bazaar' at the Linux Kongress on May 27, 1997 in Würzburg, Germany with the vision of open source development. It was later  published in 1999 as part of a book of the same name with answers to the sceptics.


In the book, while  tracing his journey of  'fetchmail', Raymond visualises the rules for the development of open source software. He contrasts the two different software development models namely: 
   (i) The Cathedral model, where (in the words of Raymond) software is

'carefully crafted by individual wizards or small bands of mages working in splendid isolations, with no beta to be released before its time.' 
Proprietary software is developed in this fashion. Some OSS (GNU Emacs and GCC) is also developed like this however source code is available with each software release, but code developed between releases is restricted to an exclusive group of software developers

  (ii) The Bazaar model, in which the code is developed over the Internet in view of the public. In the words of Raymond, 
'Linus Torvalds style of development—release early and often, delegate everything you can, be open to the the point of promiscuity … the Linux community resembles a great babbling bazaar of different agendas and approaches … who would take submissions from anyone...' 
In the book he opines that the bazaar model is better as more time and energy is spent in finding out the bugs in the cathedral model; whereas, in bazaar model bugs are easily discovered or become shallow, as source code is widely available. 

Raymond says,
'[T]he future of the open source belong to the people ... who leave behind the cathedral and embrace the bazaar. ...[T]he open source culture will triumph not because cooperation is morally right or software hoarding is morally wrong … but simply because closed source world cannot win an evolutionary arms race with open source communities that can put … more skilled time into a problem.'

He also proposes a law in the book: 
'Given enough eyeballs, all bugs are shallow'  
And credits this to Linus and dubs it as Linus' law. This is the soul of OSS, so is the title of this talk

ADVANTAGES OF OSS
Here are its advantages; some of them played in our mind for shiting over to open source at the Allahabad High Court: 
  1. No Copyright infringement in using or modifying it:  There is copyright in the OSS. In fact, OSS is copylefted by using copyright. Anyone who uses OSS contrary to the conditions governing the license, not only breaches the contract but also infringes the copyright. This has also been so held by the US Court of Appeals for the federal circuit in Robert Jcobson Vs Matthew Katzer on 13. 8 2008. However in terms of the license conditions, there is no  copyright infringment in merely using or modifying it. Copyright infingement due to unauthorised use is a global issue and adopting OSS will obviate this aspect of it. 
  2. Lesser cost: OSS is royaltee free; it does not cost anything. The only cost is for services or support for the same. Utilising OSS will reduce the cost of any project. The cost reduction has an impact on the proprietary software too. In order to be competitive, their cost is being reduced.
  3. New jobs - service sector: Due to historical reason, our English and Maths have always been a plus point. These subjects are necessary for providing services in the IT sector. In OSS money is earned by providing service. Adoptions of OSS opens new job opportunities in this sector. 
  4. Stable: Virus is nothing but a computer programme which effects any other computer programme or computer data. In OSS there can be viruses however there have been only a few. This is because its source code is disclosed. Experts say that it is safe and provides stable environment. This is also strengthened by the fact that Apache (an OSS) web servers are the most popular ones. 
  5. Customise software: Software can be modified, if source code is disclosed and there is permission to modify the same. In OSS, source code is disclosed and there is permission to modify the software. This permits everyone to participate in the software movement and also provides opportunity to everyone to customise software. Today, OSS is not only available in our national language but also in almost all regional languages; its adoption offers us opportunity to take IT movement to the grass root level. 
  6. Avoids IPR:  It is possible to have IPR in the modified software created from OSS but the authors of any OSS do not claim any IPR in the OSS in anyone using and modifying it  (though there are some conditions). This is clear from the fact that they permit everyone to use/ modify/ distribute it without any royalty. This not only leads to reduction in the IT cost but avoids future conflicts in the IPR area. 
  7. Different licenses: There are many licenses that are certified by OSI. This creates some difficulties but different licenses have their advantages too. They can be adopted for different business models: 
(a) GPL is viral: By adopting this licence, a business model centered around programming and support services can be adopted.  
(b) BSD type licenses are at the other end: they permit creation of proprietary software. The Macintosh Operating System (a proprietary software) is partly based on BSD licensed code. 
The other licenses lie between these two and may be chosen by the companies/software developers according to their need. 

OVERCOMING―CHALLENGES AND DIFFICULTIES
However their are difficulties and obstacles in adopting the OSS and we had to overcome them. The majority is familiar with proprietary software and is trained in it. The main challenge is,
  • in changing over;
  • getting used to the new environment; and 
  • training the staff. 

This is a vicious circle. There are difficulties in changing over and if you chosoe not to shift then you rely on proprietary software and have to pay more. Perhaps what is required is to change our perception regarding OSS and increase its awareness. We may consider the following points: 
  1. Awareness regarding OSS - from the school level: Computer education is already in the curriculum of schools and colleges. There is hardly any representation of OSS in their curriculum. Most of the topics are there from proprietary software. The operating system of computers is in proprietary software. Curriculum of schools  and colleges should have compulsory courses on OSS and the computers should have operating system in OSS. 
  2. More experts: There should be long term policy of training people in open source. Scarcity of experts inhibit its use.
  3. Utilisation of grant: The government gives grants for purchasing computers and for different projects. The government grants may be utilised for purchasing computers having OSS operating system. Apart from operating systems there are applications based on OSS: they may be used. Grants may be utilised in developing open source projects.
  4. Linux/ OSS Compatible: The biggest challange is finding drivers for the hardware. Irrespective of the operating sytems or the applications programmes on a computer,  the government, semi government organisation while purchasing computers may ensure that the hardware is Linux/OSS compatible. This will ensure that the manufacturers are making drivers available in the market. And if the need arises, the computers may be made dual boot or on Linux/ OSS.
  5. Exclusive OSS cell: It is true that we are leading IT community in the world but many IT experts  in government organisations work exclusively with proprietary software. It will be a good idea to create separate cells in government and semi government departments to develop applications exclusively in OSS.  
  6. Solution in OSS first: A policy decision may be taken to find solutions of projects first in OSS rather than the proprietary software.

BUSINESS METHODS: Earning Money with OSS
In the proprietary software, money is earned by charging royalty for the same however this is not the case for OSS.  It is like science that itself does not make money but creates new avenues for earning money. OSS also allows creation of secondary business to earn money. In OSS, secondary business could be,
  1. Charging for services: Services for maintenance can be charged. 
  2. Customising or writing additional component of the software: OSS can be customised to the customer's requirements, or addition component of existing software can be written.  
  3. Writing Hardware drivers: Hardware devices cannot be used without the appropriate software. The companies are realising potential of OSS. There is sufficient investment for writing drivers of the devices.
  4. Providing Information: Money can be charged for information. Books, Manuals, software. More popular the open source projects are, more popular would be the need for hardware drivers. 
  5. Publishing Magazines or news services: They provide required information about open source software for a reasonable price.
Let me explain the OSS and its advantages with the help of a story from 'Panchtantra': this has common thread in all cultures. It is a story of a hare and a tortoise.

THE TORTOISE AND THE HARE
A tortoise and a hare were friends. One day, the hare and the tortoise decided to race against each other. The hare obviously took the lead; he thought of relaxing and went off to sleep. The tortoise, walking slowly but steadily, overtook the hare and won the race. The moral is,
'Slow but steady wins the race'. 
In recent time, some new chapters have been added. 

The hare, perturbed by the defeat, asked the tortoise to race again. This time he did not take rest and won the race easily. The moral is, 
'It is better to be fast and reliable'. 
But, this is not the end of the story. 

After some days, the tortoise asked the hare to race once again but with a condition that the course will be chosen by him. The hare, who was confident of his victory, gave him the free hand. This time the course included a river. The hare ran up to the river and then stopped. The tortoise came and swam across the river to win the race. The moral is, 
'Every one has weak and strong points – play on your strong side.' 
However, the story still does not end here. 

After some days, the tortoise and the hare repeated the race over the same course but the rules were changed. This time they decided run it as a team. On the ground, the hare carried the tortoise on his back and on the river, the tortoise carried the hare on his back. The result was that both of them reached the destination quickly, saved time and enjoyed the race too. The moral is, 
'It is best to consolidate everyone's strong points'. 

CONCLUSION
Open source,   
  •  Use the IPR to prevent the hoarding of technology; 
  •  Invite others to participate in its development; 
  •  Permit us to customise the software;
  •  Consolidate strong points. 
They are good means within Gandhi's philosophy: they are steps in the right direction.

Let me end my talk with refrence to the book ‘The new new thing: a Silicon Valley story‘, published in 1999, by Michael Lewis. It is success story of the Silicon valley  told through the biography of Jim Clarke. The most quoted line from this book is, 
'The definitive smell inside a Silicon Valley start-up was of curry.' 
I have no reason to doubt that if we are able to harness the strength of the Open Source Software (OSS) then not only inside a Silicon Valley start-up but there will be the smell of curry in cyberspace too.  And we will be able to change the second last word in the song from ‘होंगे’ to   ‘हैं’.
सुनो गौर से दुनिया वालों,
बुरी नजर न हम पर डालो|
चाहे जितना जोर लगा लो,
सबसे आगे होंगे हिंदुस्तानी|  
All pictures in the post are from Wikipedia

APPENDIX-1
Popular open source programmes
Apart from Linux, Apache and Android, all other programmes run on all operating system except Infra recorder. K3B is good substitute for Infra recorder in Linux. 
  1.  Linux (GPL): It is an operating system. 
  2.  Apache (ASL): It is the most popular HTTP (Web) server software.
  3.  Android (ASL): It is operating system for mobile phones.
  4.  Audacity (GPL): It is programme for recording audio files. It permits editing of the audio files too. One can copy, paste, or mix the audio files. 
  5.  Libre Office and OpenOffice.org suite (LGPL License): It provides bundle of software that are used in an office. It is similar to MS office suite and contains similar programmes.  The default format of different programmes of this suite are  Open Document Format maintained by Organisation for the Advancement of Structured information Standards (OASIS). It was approved by the International Standardisation Organisation (ISO) on May 3, 2006. They can open and save files in default format of MS Office suite or Power Point Presentation as well as in any other format too. It can export any file into pdf format. 
  6. Firefox, Thunderbird, and Sunbird (all from Mozilla Foundation) (Mozilla Public License):  Firefox is a web browser: Window equivalent to Internet Explorer. Thundrbird is a program for sending and receiving emails. It can perform functions of Outlook express. Mozilla Sunbird is e-manager and manages C-calender. It is similar to Microsoft outlook and can be integrated with Thunderbird or Firefox. 
  7. GIMP (GPL): It is GNU Image Manipulation Programme and is suitable for such tasks as photo retouching, image composition and image authoring. It is similar to photoshop. 
  8. Infra Recorder    (GPL): It is programme for burning CDs and DVDs. It works in the windows only. However, K3B is a similar programme that works in Linux. 
  9. VLC Media Player and Mplayer (GPL): They are media player. They  can play audio and video files of any format. 
  10. Ximian Evolution (GPL): Microsoft Outlook is an electronic manager. It manages ones email, calender, appointments etc. Ximian Evolution is also an electronic manager.  It is similar to Microsoft outlook.

If you have a Window based computer then do try them.  They are easy to install and use: in fact easier then the other closed source programmes. Some say that they are not as good as proprietary ones. I do not wish to debate about it but they are sufficient for our needs. They are not only open but are free of cost and can be used without any guilt of copyright violation. Once you are used to them in Windows there would be no difficulty in shifting over to Linux based computer as their functionality in Linux is similar.

No comments:

Post a Comment

Good Judges – Open Till The End

A Judgement is not final till it is signed and sealed. It is important for a judge to be open till it is sealed.  This post explains the sam...