Wednesday, July 19, 2006

Copyrights were once significant. That was a long time ago when the printing presses became popular. With the technology to make copies of books a bit faster people started making profits out of selling more copies behind the authors back. Sometimes these books were ill-printed; they might have contained some errors. These little things can eventually scapegoat the author, and not the publisher. Moreover the author derives his or her incentive to write if he or she was rewarded for what he or she wrote. But that time what happened was quite reverse; they didn't get paid and hence their incentive was destroyed. Hence these authors approached the law and thus copyrights became significant.

Today we live in world where information technology has advanced to a great degree. It means that copying and distributing has become even more easier compared to the past. People download music files, e-books, and software and other stuff from the Internet. They pass it on to their friends; and thus the proliferation goes on. Licenses prohibit them to do so; but honestly no one really heeds to these licences. But there is a potential threat of being punished by international laws as long as such things go on.

The idea of free software wasn't really introduced to obviate such a threat. It was introduced so that people recognise their freedom, and what really these proprietary licenses are doing to restrain it. But proprietary software exists and will continue to exist. It is something which came first, i.e. before free software. Hence there must be situations where you must resort to proprietary licenses. Well, I haven't thought about that yet, and moreover this post isn't meant to deal about that subject either.

I will look to discuss these things in the future, and I will also look into extending the concept of free software over fields other than software. But next I will discuss about free software.

Let say you are a good singer. You want to be paid for any song you sing, right? You want people to recognise you through your song. And therefore you go to the studio, do your recording, get publicists, and sell copies of your album. Your publishers make the copies for you. If the recording company has made profit from selling copies of your album, then they pay you a good sum. But what if they sold copies behind your back and made off with the profit? Worse, what if someone else got hold of your album and sold copies of it? What if they sold it in a fashion that doesn't even credit you even remotely? Your identity is at a crisis; people might use some other name (preferably theirs) rather than your name even though you sang the song, and the other person may have not.

Would you want to sing again?

Clearly not. But as long you have a copyright you can at least fight back. You can go ahead and claim that your copyright was infringed (your identity corrupted) and then take some legal action on the other person. I guess these are truly what copyrights are meant for. But there is another side to this; you have to see it from the publishers angle.

The publisher's motive is usually to make profit; and this is ensured as long as he or she can sell more copies. But what if someone else had the power to make a copy of the album and sell or distribute that for free or a lower rate. Clearly the publisher is at a loss. No one would want to buy copies from him. And slowly the publisher's business comes to a close.

This is again where copyrights come to play. It a copyright says something like:-

This is your copy. Unauthorised production of copies, broadcasting, and/or performance is prohibited.

The above statement sums up all I've said above. But now, consider the publisher's perspective again. Although public performance or broadcasting is illegal as per the copyright law, people still continue to do these things. It's a very common occurrence here; any marriage function I go to people play the music loud. And that's not all; people also make copies by themselves. We live in the world where we possess the technology to produce copies in short time. There is a proliferation going on in public; we can't really check it.

Until here I've been talking about music; but you must realise software is not much different. These things happen with software packages too. And it's not ever a rare phenomenon. Another good example other than software packages is books. You can get to buy books from side shops which are mainly unauthorised. They try to sell the books for a lower rate. It may not be of good quality however, but people go for these books. So in turn people are engaged in the business of making illegal copies of books and selling them behind the publishers back. It's a loss for the publisher; he can't sell his copies. No one would buy them.

The act of infringing the copyright is called piracy or copyright theft. But really who seems to be at loss here. The author isn't usually at loss! He at least gets the kudos for his work. It's really the publishers who are at real stake. In book piracy cases pirates usually print copies preserving the authors name as well as the publishers name. This way both gets recognised. If it were not so, then the pirates are in for real trouble. However this may not be the real reason why pirates are doing such a thing. They probably think the people who buy the book are clever. They won't buy books from unfamiliar authors or publishers.

Distribution poses to be a problem as far as software is concerned. Software cannot be distributed unless it is copied in a sense. The software has to be installed for first use and in this sense it is equivalent to copying. It is therefore that you might see most software licenses prohibit distribution. Books or music cds don't restrict distribution because that way it serves the purpose of what the book was actually made for. This is the reason why you see libraries lending books for people to read.

We can never have software libraries! Because most licenses prohibit copying and distribution. But yet we still see that copies are being made; they are being distributed. We have no control on this. Whether the purpose or motive behind this phenomenon is good or evil it will go on. And what more, know that this statement will be a major blow to all proprietary license holders, but the only reason why proprietary software packages are being popular are because of such things happening everyday.

In the most basic sense software is a computer program that assists us at doing a task. For e.g., MS Word is software that allows you to write documents; Adobe Photoshop is software that allows you to edit image files, and so on. Software is inherently flexible; which means changing/adding some feature (for e.g. adding a spell checking feature to your plain text editor) only requires change in the program's source code. The source code is actually a file which contains instructions telling the computer what to do; but however it is in a language that we human beings can read, provided we know the language; the computer cannot understand this language. The source code is converted into computer readable format (or machine language) so it becomes easy for the computer to carry out the instructions. This is where things like the compiler and the assembler come into play. The compiler reads the source code; and if the code is free of errors it translates the file to assembly language. Assembly language is another language which intermediates our source-code-language with the machine's language. The assembly language converts assembly code into machine readable format. This format is usually in 1s or 0s; and it is commonly referred to as the binary system or machine code. The machine code is bundled into a unique file called an executable (.exe).

We cannot do much with an exe file, except run the application. Because it is machine code; we don't read machine code. But incidentally this is the way most software applications are distributed. The problem with such software applications comes when you want to change something. Most software products that are sold by companies go through a life-cycle called the software life cycle. At one-point in this cycle the product is upgraded: certain new requirements are added, some are removed, and so on. This is also called evolution. What happens during evolution is that the developing team (which may consist of entirely new members or members who have worked on the product before) pool together and incorporate new suggestions given by people. They may have to work with the original source code which they already possess. Then the story is the same as before when the product was created from scratch

So if you wanted something to change or be added we have to be virtually dependent on the original developers of the software. You don't have the freedom to change it if the product is proprietary-licensed. Nor, can you seek other developers (from a different company) to rectify/evolve the product. Because they don't have the source to work with. I guess this is one limitation of proprietary software packages.

If you wanted to help a friend with adding a feature or fixing an existing feature wouldn't you want to do it? Even if you are a good developer, you can't possibly read machine code! This is freedom that doesn't come with the software package. And usually these software packages are known as proprietary software; proprietary because it comes along with a proprietary license. This license usually says you cannot distribute or make copies of the software. If you do then you are violating the licence; you may be arrested or tried in court!

A proprietary license has another issue: what if you somehow got hold of the source code? What if you were able to modify the software source code? What if you could have the power to change the software functionality yourself? I guess it wouldn't be a morbid problem if you've used it for yourself. The problem comes when you distribute the software. Once this issue reaches the hands of the concerned company who had created the software could claim that their intellectual property right has been violated and thus you can be punished for that.

Here I am going to tell you about my idea about how and why the idea of free software came about. You’ll see that my lines of reasoning are somewhat same as that used by Richard Stallman in his essays/speeches. But some part of my idea has a logical reasoning which is a product of my own understanding after reading Stallman. I think I may have contributed a little bit more.

Stallamn’s essay mainly deals with his lifetime experiences and brings about the concept of free software simultaneously with the development of the GNU/Linux operating system. Reading his essays will give you a proper foundation, but I suggest all of you, irrespective of whether you are a computer expert or not, you must come to discover faults with the current system of proprietary software licenses on your own. But in the end you must understand the choice is however yours in deciding between the two.

Tuesday, July 18, 2006

I've created this blog to share my ideas about free software. Free software is any software that comes with a gnu license which allows you to freely make copies of the same and distribute it at your will. This licence also allows you to modify the source code and customize the software to cater your own needs. The concept of free software was initially developed by a group called the free software community. It was a small online community that existed not long ago who believed that the modern software protection laws didn't make sense, and that they needed to revolutionize these laws somehow to suit the modern generation.

The idea of free software is a popular topic thanks to the work of the Free Software Foundation (FSF) headed by Richard Stallman. Their main mission is to propogate the concept. As a result of this, you have people around the world delivering free seminars and other campaigns to publish the idea of free software.

Later in this blog you will find posts dealing with varoius issues dealing with free software, some definitions, and my personal views.

On a last note I'd rather say that free software isn't about software that is sold free. Selling it for free is a personal or an organisational decision. The meaning of "free" in it says that after acquiring this software you have realtively more freedom as against similiar proprietary software packages.