Hi,
The popular malayalam computer magazine, ITLokham has called for a discussion on about "free softwares". The editorial of the current issue says Computer users are still in confusion about switching to Free softwares. So we wish to start a discussion on this. Please send us your comments. If your suggestion can be a torch for the still confused users,we are glad to act as a medium for it The current issue contains two article about free softwares. One is the translation of RMS's "Can you trust your computer", (Translation by me). Another article is by Mr. Subodkumar Fadke, modular Infotech pune. He argues that "Anything that is available free is bad". He compares free softwares with clock he got free with a fridge he bought!. (He dontknow anything about issue of freedom at all!!!).
I dont think there is any meaning in responding to the meaningless article by Fudke. But we need to respond to the initiative of the magazine to start a discussion about the free software. The audiance of the magazine is mainly High school and Highersecondary teachers (and students). Please send your comments to the editor, <sidharthan at itlokhammonthly dot com>. It will have some impact on the decision several persons to try GNU/Linux
Sajith VK
The words "quality and performace" here are quoted from the GPL. Recently, Fitzgerald Joy Sylvester fjsylvester@rediffmail.com asked why free software has no warranty, and if there is warranty, we could get more support for our cause, highlighting its necessity in mission critical applications. Mahesh Pai paivakil@yahoo.com has already answered the query that entities could provide warranty for a fee.
But, more fundamentally, software could not be seen as "goods" attracting a warranty, particularly when it is given away free. Software code is governed by copyright law. Software is more like a book on mathematics, with a difference, in that both men and machines can read it and make sense out it. It would be absurd to expect a warranty for the contents of a book. Authors place their whole reputations on what they write, and this is the best check on ensuring the quality of a work. Careless authors are soon forgotten and their works are discarded both by the public and the publishers. In the ultimate analysis, it the quality of the work that matters, and since computers can execute an author's code, we can expect performance in accordance with a given specification.
Now, how to ensure quality and performance of software?
There is only one solution for this: NEVER TRUST YOUR COMPUTER
Sajith has again raised the question of warranty from another angle, about trusting free software. RMS has already explained why "Trusted Computing" is only "Treacherous computing". Here, I attempt to anwer the question about ensuring quality and performance of software, that would make warranties redundant and needless.
In the case of free software, the source code is always made available to the user under the terms of the GPL. The user can study and understand how the program works, and satisfy himself about its quality and the performance that could normally be expected. This is the most important quality of free software that makes it trustworthy.
But merely because a software is free along with source code, it does not automatically ensure that the progam will work well as expected according to the program specification. An alert user ought to be able to verify the output from a program for himself, and satisfy himself about the correctness of an output.
Now, before we get down to software, a more general issue remains to be discussed. Software deals with data. Any software generally receives input, processes the input and gives an output. Since millions of instructions can be processed efficiently by a computer, we save time. Time and convenience are the two important reasons we use a computer to deal with our data. We give the input, and we give rules for processing, and we know what outcome to expect.
Let us take a simple program wc which prints the number of bytes, words, and lines in files. If you look at the info page for wc, we will further see that by word, we mean whitespace-separated words, and by lines we mean newlines. Create a sample file called test.txt with the following two lines:
This is a test file. The wc command is the test candidate.
Invoke wc as follows:
# wc test.txt 2 12 59 test.txt
The output means that the file test.txt has 2 lines, 12 words, and occupies 59 bytes. Now, to test if the output is correct we can manually open the file test.txt and count the words, lines and bytes. We can also try checking the result using other programs.
# ls -al text.txt -rw-r--r-- 1 ramanraj users 59 Dec 14 09:20 test.txt
To examine the bytes in the file test.txt, we could do an octal dump as follows:
# od test.txt 0000000 064124 071551 064440 020163 020141 062564 072163 063040 0000020 066151 027145 052012 062550 073440 020143 067543 066555 0000040 067141 020144 071551 072040 062550 072040 071545 020164 0000060 060543 062156 062151 072141 027145 000012 0000073
We could invoke od with -bc option:
# od -bc test.txt 0000000 124 150 151 163 040 151 163 040 141 040 164 145 163 164 040 146 T h i s i s a t e s t f 0000020 151 154 145 056 012 124 150 145 040 167 143 040 143 157 155 155 i l e . \n T h e w c c o m m 0000040 141 156 144 040 151 163 040 164 150 145 040 164 145 163 164 040 a n d i s t h e t e s t 0000060 143 141 156 144 151 144 141 164 145 056 012 c a n d i d a t e . \n 0000073
We can count that the words separated by white spaces are indeed 12, and the newlines are 2 (represented by ascii 012), and we can count the bytes and see that the total is indeed 59. We could verify the output from the wc program in a variety of ways through other programs.
The whole point is: We should be able to verify the program output with our senses.
We need not take for granted what is output, but we can always check the validity of the output in other ways. In the free software world, a reasonable means of checking would always be in sight or available to the user. I request you to insist upon a means of checking the output directly with your senses.
I started out my adventure in programming with a simple script that will do fair rent calculation, as per Section 4 of the Tamil Nadu Buildings (Lease and Rent Control) Act. This program is a free software script, and available at http://personal.vsnl.com/ramanraj/kr_tnfrc.html The law applicable is given there, along with the source code. I have included three test cases based on reported cases. When you give the details required and give the command, calculate fair rent, the answer along with the reasoning done is displayed, so that you can verify the result for yourself in simple steps, with a piece of paper and pencil. When you can verify the result directly with the rules applicable, you need not even worry about the source code, that may be difficult to follow for most average users.
Quality and performance can be made available in other better ways.
Now, does it really matter that free software comes without a warranty?
Ramanraj K ramanraj@md4.vsnl.net.in writes:
The words "quality and performace" here are quoted from the GPL. Recently, Fitzgerald Joy Sylvester fjsylvester@rediffmail.com asked why free software has no warranty, and if there is warranty, we
Does this mean that non-free software has warranty? I don't think so. I'll check out the licenses of some software programs and will post it over here.
Rgds, anna
Annamalai gurusami wrote: Does this mean that non-free software has warranty? I don't think so. I'll check out the licenses of some software programs and will post it over here.
To read the GPL visit: http://www.gnu.org/licenses/gpl.html
The GPL says, among other things,: <quote>
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
</quote>
The GPL, under clause 11 says:
"THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU."
If I say I have extracted the above from the GPL, you need not take my word for granted. You can visit http://www.gnu.org/licenses/gpl.html and verify if my claim is correct. Similarly, one may verify output from software without taking it for granted, and this makes the need for a warranty unnecessary.
On 23/12/03 10:27 am, "Ramanraj K" ramanraj@md4.vsnl.net.in wrote:
If I say I have extracted the above from the GPL, you need not take my word for granted. You can visit http://www.gnu.org/licenses/gpl.html and verify if my claim is correct. Similarly, one may verify output from software without taking it for granted, and this makes the need for a warranty unnecessary.
This is what I find surprising about commercial software. All hardware comes with a warranty which covers manufacturing defects for a certain period of time. And invariably a replacement is offered if a certain unit turns out to be defective. And in cases of design defects which are a health hazard to customers, the product is recalled and the customers possibly refunded.
But with software, all bets are off. No one takes responsibilty for security risks which cost customers time and money. The best one can hope for are patches from the vendor, which hopefully doesn't break anything else and doesn't open up anymore security holes. This has led to software with so many security holes (mostly commercial ones!). I think it is time customers demanded some kind of warranty for commercial software - but I do agree that it is hard to define what kind of protection it should provide the customer with.
Verifying the output is not practical for the average end user except for the most trivial piece of software.
regards Chandru
Chandrashekhar Mullaparthi chandrashekhar.mullaparthi@t-mobile.co.uk writes:
This is what I find surprising about commercial software. All hardware comes with a warranty which covers manufacturing defects for a certain period of time. And invariably a replacement is offered if a certain unit turns out to be defective. And in cases of design defects which are a health hazard to customers, the product is recalled and the customers possibly refunded.
Well, when you purchase a book, what kind of warranty do you get? Same with a software too! :-D
Rgds, anna
On 23/12/03 11:41 am, "Annamalai Gurusami" annamalai.gurusami@email.masconit.com wrote:
Chandrashekhar Mullaparthi chandrashekhar.mullaparthi@t-mobile.co.uk writes:
This is what I find surprising about commercial software. All hardware comes with a warranty which covers manufacturing defects for a certain period of time. And invariably a replacement is offered if a certain unit turns out to be defective. And in cases of design defects which are a health hazard to customers, the product is recalled and the customers possibly refunded.
Well, when you purchase a book, what kind of warranty do you get? Same with a software too! :-D
Well, I dont agree with the analogy. A book is for learning about something. Usually, software is a tool/utility.
Like Ramanraj said in a message previously, if a book is crap, the author wont sell anymore and that is the end of his/her career as an author. The same cant be said of big corporations which make crap commercial software.
Chandru
Chandrashekhar Mullaparthi chandrashekhar.mullaparthi@t-mobile.co.uk writes:
Well, I dont agree with the analogy. A book is for learning about something. Usually, software is a tool/utility.
Like Ramanraj said in a message previously, if a book is crap, the author wont sell anymore and that is the end of his/her career as an author. The same cant be said of big corporations which make crap commercial software.
The same does apply to _big_ corporations. If their software is not useful, then it is not going to sell.
Anyway the above argument (author's career ends), is tangential to the question of warranty.
Rgds, anna
On 23/12/03 12:10 pm, "Annamalai Gurusami" annamalai.gurusami@email.masconit.com wrote:
Chandrashekhar Mullaparthi chandrashekhar.mullaparthi@t-mobile.co.uk writes:
Well, I dont agree with the analogy. A book is for learning about something. Usually, software is a tool/utility.
Like Ramanraj said in a message previously, if a book is crap, the author wont sell anymore and that is the end of his/her career as an author. The same cant be said of big corporations which make crap commercial software.
The same does apply to _big_ corporations. If their software is not useful, then it is not going to sell.
Really? What about Microsoft? Exception? I think it's more the norm than the exception. And, the point is not whether a paticular piece of software is useful. The point is what happens when it breaks. That's where warranties come in.
Chandru
Chandrashekhar Mullaparthi wrote:
On 23/12/03 12:10 pm, "Annamalai Gurusami" annamalai.gurusami@email.masconit.com wrote:
Chandrashekhar Mullaparthi chandrashekhar.mullaparthi@t-mobile.co.uk writes:
Well, I dont agree with the analogy. A book is for learning about something. Usually, software is a tool/utility.
Like Ramanraj said in a message previously, if a book is crap, the author wont sell anymore and that is the end of his/her career as an author. The same cant be said of big corporations which make crap commercial software.
The same does apply to _big_ corporations. If their software is not useful, then it is not going to sell.
Really? What about Microsoft? Exception? I think it's more the norm than the exception. And, the point is not whether a paticular piece of software is useful. The point is what happens when it breaks. That's where warranties come in.
Chandru
In the free software community, when software breaks, we can report the bug to the developers, and a patch is normally made available for the whole community, and a more robust code evolves.
As a standard measure, most System Administrators would take back ups of important data, and the loss if any, would be only for the period from the last back up. If backups are made every day, one can minimise the damage very considerably.
No warranty clause in the GPL actually promotes the evolution of robust code for the whole community. If a person x gives warranty to user y, then the knowledge about the bug and its solution would remain only between x and y alone, and the rest of the community may suffer because of this. It would be best not to give any warranty at all, and if a bug comes up, to fix it either through the developers who maintain the source or anybody else willing to help, for free or for a fee, and make it public and open to all. It therefore looks like no warranty is the best warranty for free software!
So far as our non-free friends are concerned, the warranty itself lends to several mischiefs. RMS spoke as follows at MIT, Chrompet, Chennai, in a speech (that was transcripted by Suraj), as follows:
Because one of the consequences of Free Software is that there is a free market for all kinds of supports and services, and the result is you can expect better support and service for free software. For a proprietary program, support is a monopoly. Because only the company that owns the program in general can give you any support - except for the most superficial kinds. So the result they don't have to care and they know it. They'll tell you: "Pay us and we'll let you report a bug". And if you do that they'll tell you, "In six months there will be an upgrade. Buy the upgrade and you'll see if we've fixed this bug and you'll see what new bugs we gave you" [Laughter] . ..With a proprietary program all you can do is put blind faith in the developers and often they don't deserve it.
Ramanraj K ramanraj@md4.vsnl.net.in writes:
Chandrashekhar Mullaparthi wrote:
On 23/12/03 12:10 pm, "Annamalai Gurusami" annamalai.gurusami@email.masconit.com wrote:
Chandrashekhar Mullaparthi chandrashekhar.mullaparthi@t-mobile.co.uk writes:
Well, I dont agree with the analogy. A book is for learning about something. Usually, software is a tool/utility.
Like Ramanraj said in a message previously, if a book is crap, the author wont sell anymore and that is the end of his/her career as an author. The same cant be said of big corporations which make crap commercial software.
The same does apply to _big_ corporations. If their software is not useful, then it is not going to sell.
Really? What about Microsoft? Exception? I think it's more the norm than the exception. And, the point is not whether a paticular piece of software is useful. The point is what happens when it breaks. That's where warranties come in.
I don't know how I missed this particular response. But the logic above if applied _must_ be valid to any corporation. People buy MS products because they find it useful. Even though equally good (or better) products are available for free, still people _buy_ MS products for various reasons. Now, if MS product is not solving their problem, I don't think anybody is going to buy.
Just Facts.
Rgds, anna
Anna posts:
products because they find it useful
They buy it because at times they are forced with the threat of a lawsuit or prison sentence, after they have used a "copied" version of this MNC software and after they got "discovered". They do not want to change because they are forced to buy this stuff, now; they cannot change because they have paid money for something they never wanted. ;-)
if MS product is not solving their problem, I don't think anybody is going to buy
There was this instance of M$ Power Point hiding/obfuscating serious problems in the NASA Space Shuttle foam-tile mishap! Instead of solving and fixing serious problems, these M$ products have added up issues and created mishaps of the worst kind. :(
By giving false comforts, these products are lulling users to a slumber of a lock-in. The worst danger is that people no longer share and collaborate to help each other. These products build real walls within the community of computer users'.
Raghavendra Bhat ragu@vsnl.com writes:
if MS product is not solving their problem, I don't think anybody is going to buy
There was this instance of M$ Power Point hiding/obfuscating serious problems in the NASA Space Shuttle foam-tile mishap! Instead of solving and fixing serious problems, these M$ products have added up issues and created mishaps of the worst kind. :(
I am not an MS fan. But this kind of arguments isn't really meaningful at all. There was a lapse, and it has got to be accepted as such by whoever was responsible. One cannot put the blame on a presentation tool for the accident.
I still don't agree that anybody is forced to buy MS products. One might have been forced to pay up for using an illegally obtained copy of MS product.
BTW, you don't have to slug slime at proprietary software to make free software look better. I always prefer positive advocacy.
Rgds, anna
Chandrashekhar Mullaparthi wrote:
Verifying the output is not practical for the average end user except for the most trivial piece of software.
A serious discussion on this would be very long :-) However, we may briefly check on this, so that we may practically benefit out of this discussion.
So far as office suites and text editors are concerned, the output is fairly obvious and we can take back up of the files we create. Even if the software fails, we can simply reinstall or use some other machine with our back up files and continue with our work. We may also backup the contents of directories containing valuable files. The only verification we do in these cases, is check if the backup is written correctly.
I use PostgreSQL database server. The backup for my database is done merely with:
# pg_dump dbname > dbdumpname
dbdumpname is a mere text file, that we could open with a text editor and read. I could check on every thing: from the database schema to the contents of the table. If it is a very large database, we can break up the output and share work among different users. In the case of a crash, I may use the backup merely with:
# dropdb dbname # createdb dbname # psql -e dbname < dbdumpname
Generally, every application worth its name maintains error logs that enable bug fixing and trouble shooting. Some sort of feedback system should be available if not already there.
Practically, some kind of checking on the output directly with our senses, through the same machine or a different machine is generally possible. My fair rent calculator script is more than 50K long but the ouput may be only 10 to 15 lines long, and the user may concern himself with just this, and not really worry about the 50K of source code. PostgreSQL is a complex application I use, and the output can be reasonably verified, both while actually using and through backups.
Further, is not eternal vigil always desirable? This is a must, if we desire to remain in control of our computers.
Ramanraj K ramanraj@md4.vsnl.net.in writes:
Annamalai gurusami wrote: Does this mean that non-free software has warranty? I don't think so. I'll check out the licenses of some software programs and will post it over here.
To read the GPL visit: http://www.gnu.org/licenses/gpl.html
Perhaps you didn't read my response properly. I doubted whether non-free software has any warranties.
Rgds, anna
Annamalai Gurusami wrote:
Perhaps you didn't read my response properly. I doubted whether non-free software has any warranties.
non-free software is non-existent so far as I am concerned and I naturally missed it ;-) Anyway, the warranties are also largely non-existent!
Mahesh Pai has already extracted disclaimers found in non-free software in a previous posting, and you may read that.