Hello, everyone, I'm here to talk to you about another aspect of the Linux operating system, one that might've been mentioned before but I wish to elaborate on. That aspect is that in a Linux system, the source code is open. Now, what does that mean? Before we begin, how many of you have ever written a computer program? ok, for those of you that haven't, a computer program is written in a programming language. Then a tool called a 'compiler' is used to translate what you wrote in that programming language, which is something that humans understand, into ones and zeros, which are what a computer understands. In Linux, unlike most other operating systems, you have the source code to almost every program you run. But wait, it goes deeper: Not only do you have the source, you also have the legal and moral right to modify it, and distribute your modifications to others. That right gives you unprecedented freedom - you can make any changes you want to the software you use, and pass it on to others. In fact, that's exactly how Linux itself is developed - companies and individuals each build on each other's previous efforts and improve the sofware that we all end up using. Now, you might be asking yourself here, "gee, that's nice, but why would I want to do that?". The first answer is that writing code is satisfying. Writing software is like fixing your car, or solving a difficult HEDVA problem. You may spend hours and even days on it, and curse every minute (unless you enjoy solving HEDVA problems) but the moment you solve it, you get immense satisfaction. That satisfaction is later doubled and tripled when people actually *use* your software, and at least for me, it's quadrupled when they improve it themselves. The second answer is that being able to fix the software you're using is convenient, and in some cases, a life saver. Let's say you downloaded from the internet a really great program, and it has just one small bug, but that bug means you can't use it. What would you do? If you were using Windows, you would probably reinstall, hoping that that would solve the problem, and then reboot your computer a few times, hoping that *that* would solve the problem, and then you would remove the $%^&* program and install something else. If you were using Linux, however, you could fix the problem yourself! Often, the original developer has already fixed the problem, and all you need to do is get in touch with him (which is very easy using email, IRC and instant messaging - imagine trying to get in touch with the person who wrote MS Word), but if he hasn't, you've got the source code, you've got the know-how, and you can fix it. Once you've fixed your problem, you can send the fix to the author, who will put it in his version, and then everyone using the software will be using a little piece of code that you wrote! Convenient AND satisfying. Writing software is not only convenient and satisfying, it's also enriching. It makes you a better person, because you learn and improve yourself, and you become a better person because you help others. In the Linux community, you have unencumbered access to the work of giants (imagine having access to everything Bill Gates ever wrote). You can learn from them and maybe even contribute to their work, if you're good enough. One last thing, after having appealed to the hacker in you, I will now appeal to your pocket - writing software is also enriching fiscally - now days, many companies are hiring Linux programmers, so hacking on Linux can be enriching your pocket as well. Linux programmers usually make more than their Windows using friends, too. ;-) Thank you for listening! -- Muli Ben-Yehuda mulix@mulix.org $Id: why-linux.txt,v 1.4 2002/10/29 19:57:07 mulix Exp $