dcsimg
Linux Today: Linux News On Internet Time.




More on LinuxToday


Scott Reid: Microsoft's Loss

Sep 20, 2000, 07:18 (49 Talkback[s])
(Other stories by Scott Reid)

WEBINAR:
On-Demand

Re-Imagining Linux Platforms to Meet the Needs of Cloud Service Providers


[ Thanks to Scott Reid for this submittal: ]

[ The opinions expressed by authors on Linux Today are their own. They speak only for themselves and not for Linux Today. -lt ed ]

Microsoft has forgotten the kids. That is the reason they will barely be in business in ten years, if at all. They haven't provided for those who will be the future of computing.

I know it sounds crazy as we watch our bosses pour tons of money into licenses and upgrades, but it's true. For those of you that have only come into computers because your job required it, this may be totally out of your league.

Let's put it this way. I can use almost all GNU/Linux software for free. If I'm a kid, and I want something for MS Windows, I have to beg my parents for money. I can tweak GNU/Linux at will, and my parents will not be affected. Properly set up, my parents don't even need to know that Linux is on the system. I can download all the music/porn/etc that I wish, and no one's the wiser.

That's the bad side. The good side is that while I'm downloading all the illegal stuff, I have to make changes, keep my software up to date, learn new ways to skirt the authorities. All of this contributes to my general computer knowledge. Should I decide to learn about my computer on a more intimate level, I have all the tools and information at my disposal.

I want to make a game? Do I spend hundreds or thousands of dollars on programming software and books? Or do I download Open Source/Free software, and read a bunch of howtos? I know time is money, but for lonely teens, time may be all they have.

Take a hypothetical case of two teens. Both want to have a future in computers. One takes the traditional MS route, the other a GNU/Linux route.

Say they both want to become programmers. MS Kid spends a few bucks on a book, and maybe a hundred on the "beginner" version of programming software. Linux Kid already has the software on his system, and can read programming tips on the web. The reason MS Kid can't simply read the web tips is because every couple months MS changes the way their software works, and a web page has a hard time keeping up. It's not that the tips won't work, it's just that MS Kid won't know how to interpret the changes.

A few weeks into his self-education, MS Windows gets an upgrade. MS Kid now finds that his programs don't work anymore. The best help he can get from the MS webpage is to upgrade his software. Now MS Kid needs a new package and book. Figure another hundred buck. Linux Kid may have a couple changes to make, but the changes are well documented on the web, and the changes are only those that will make his work easier in the long run. MS Kid has to change things that worked fine the way they were, but don't work for his "upgrade."

MS Kid eventually hits a wall. His "standard" software doesn't have too much to offer. Now he must shell out several hundred bucks to make his dream program what he wants it to be. He has also learned that MS has a nasty way of hiding API's from programmers, and making simple solutions extremely complex to ordinary users. Also, he finds out that the deeper he gets into this vicious circle, the less the likelyhood that his programs will work with other markets. Not to mention how much effort it took him to get his parents to shell out the money on software that he hasn't done anything with yet.

Linux Kid doesn't have these problems. Although he can spend money on programming software, he discovers that there is some excellent software on the internet, and all he has to do is download it. Many of the toolkits he needs are available for free as well. Upgrades are frequent, but for the most part they only enhance his ability to write his software. Most of his software is portable to other systems, and even his friend MS Kid can run his homemade games. Unfortunaltely he has trouble running MS Kid's, but that doesn't bother him much, as his friend's games aren't much to talk about.

MS Kid gets frustrated watching his friend's games get better, while his seem to lag behind, although they both spend hours together working on their own. As his games get more complex, he finds it harder and harder to dig up the information necessary to do the same things Linux Kid finds in minutes. Although Linux Kid tries to help his friend out using "standard" programming techniques, MS Kid finds he can't use these because Microsoft has "extended" the code.

MS Kid and Linux Kid decide to do a programming overnighter. Ms Kid looks on in envy as Linux Kid jumps back and forth between web pages and his free IDE, typing in a fury. MS Kid teases him about his browser crashing occasionally, but then gets his own rude awakening when IE crashes and takes down fifteen minutes of work with it.

After a reboot, MS Kid discovers a page that has the answers to his problems. As he implements the solutions, the ISP in charge of the page has it removed because they contained information that MS considers "intellectual property." Being left with only a hint of how to implement those changes, he resorts to the MS help files to figure out the rest of the solution. At every turn he is presented with a non-answer, and when he finally resorts to calling up MS, after being left on the phone for an hour, the help desk tells him that he needs to have a developer support number for them to help him. Unfortunately, his dad doesn't seem to be willing to shell out a couple grand for this, so he hangs up the long distance phone call and tries the web again. As he sorts through the maze on the MS web site, his computer blue-screens.

Linux Kid feels bad for his friend and tries to help. Unfortunately, MS Kid's computer is unresponsive. After an hour of trying to fix the problem, they give up and decide to reinstall MS Windows. Two hours later the computer pops back to life. Fortunately, MS Kid was used to this and made sure to make constant backups to his information. After reinstalling his programming software, MS Kid sits down to work again. He doesn't relax for long, however, as he needs several updates just to make his software work, and he spends the next hour updating and rebooting his computer.

MS Kid doesn't feel too bad as he watches his friend fumble with howto's and command lines. Linux Kid got stuck a couple times trying to figure out a part of his system that was undocumented, but luckily it was posted about the same time MS Kid finished his updates. Although his program only works at the command prompt, and looks extremely esoteric, Linux Kid has a great big smile on his face.

MS Kid can't figure out why, as his program looks a lot better. His windows does what he wants, his buttons work, the interface is exactly what he needs, and all he needs to do now is to make his program do something. This turns out to be a lot harder than it seems, and even though Linux Kid is fairly fluent in explaining C, C++, Java, and assembly, none of his knowledge translates easily to the "standards" that Microsoft has set.

Regardless, MS Kid consoles himself as he watches his friend struggle with the "complexity" of the command line. He can't understand why his friend won't use the gui tools at his disposal. Linux Kid shrugs off his friend's concerns, citing the lack of features in MS Kid's own gui. Although a light verbal competition ensues, both of them pound away at their keyboards like maniacs.

Just before dawn, MS Kid announces he's done. He has written a cool little Windows-based game that bears a striking resemblance to SPACE INVADERS, albeit with a better soundtrack and more flexible options. Showing off the features and options that he has built into the game, his ego grows, and he teases his friend about his sorry little command line project.

With a grin, Linux boy takes a sip of his heavily caffienated drink, then types half a dozen lines into his text editor. MS Kid notices something about Tcl/Tk and C on Linux boy's browser, but blows it off, running upstairs to grab a slice of cold pizza out of the fridge.

When he returns, he almost drops the pepperoni special on the ground. He just barely catches the half dozen lines that Linux Kid types into his text editor before Linux Kid saves then starts his "command line" program in a X-Windows System window, using Gnome and Sawmill. Inching closer, MS Kid watches as his friends game pops to life. Although it isn't nearly a commercial-grade program, MS Kid stares in silent awe as both images and sound pour from the screen in front of him. He looks at his friend like he's speaking Greek when Linux Kid explains that it runs just as well under KDE and a number of other window managers.

Feeling a bit ashamed about teasing Linux Kid, he tries to find some fault with his friend's program. He suggests that they "stress test" each other's games. At first he feels vindicated when Linux Kid complements him on the responsiveness of him game, noticing that the Linux game has a bit of jerkiness on certain parts of the video. Mentioning it, he is less than disappointed to see his friend change a line of a script file, apologizing for his "debugging" techniques. The game runs smoother than his own after that.

Linux Kid tries to do his best to enjoy his friend's game, but he remains a little jealous that he isn't the first to enjoy his own. In some ways he feels he has cheated. After all, most of his work was based on GPL'd work by others in the GNU/Linux community. The sound track was given away free by an independent artist on Gnutella, the video introduction was based on software that was donated by SGI. The game engine was based on pieces of GPL'd software from ID Software, Loki Software, a couple different Linux user's groups in Europe, Asia, and a couple of brilliant school children in Kenya. The artwork was done using Gimp, and the internet networking feature was based on work by Mozilla contributors. Almost all of his coding technique was developed by reading documents and source by his peers such as RMS, Alan Cox, Linus, and other OSS contributors.

MS Kid is stunned by the game engine. Convinced that Linux Kid has cheated by working on it long in advance (after all, they were supposed to do this from scratch in order to prove the superiority of their OS choices), he calls him on it. Moments later, he regrets his accusation, as Linux Kid pulls up web pages that not only vindicate him by proving that his work was simply built on the work of others, he also points out that the same work is available for MS Windows. MS Kid soon regrets that he blew off OSS as a fringe element because he read an article on the MS developer site that proclaimed OSS as inferior software.

Although he knows his friend has won this simple competition, MS Kid challenges Linux Kid on the features available to him, citing word for word a MS press release. Linux Kid looks at him like he's lost his mind. With a smile Linux Kid points out how easily MS Kid can adjust the game's options to get the most pleasure out of the game. At one point he realizes that a feature isn't available in his menu, but nevertheless he opens a text file, and changes it in moments. He apologizes, saying he overlooked it, and will add it the next time he gets the chance. MS Kid isn't sure what he means by Python, but he gets the impression that it's not that complicated.

When MS Kid tries to cover by suggesting that Linux Kid's program is good, but not useful because it only runs on Linux, another competition ensues. The next weekend they install their games on each other's systems. Linux Kid has made only minor changes to his program as most of the software is portable, and there are translation programs available for his software. MS Kid isn't so lucky. He tried to change his software to work on the Linux system, but found that it would require a complete rewrite. He is somewhat relieved to hear Linux Kid suggest that he run it under Wine.

Much to his amazement, his program runs better under wine than it does on his own system. The only problems he encounters are the same he had as he tested his program under MS Windows. Linux Kid apologizes about the problems, gently explaining that the Wine group had to build in the same bugs that MS Windows had in order to achieve full compatibility.

Linux Kid's problems aren't so severe. There are a couple problems, but after loading all the MS Windows bug fixes, and then the bug fix bug fixes, the program pops to life on MS Kid's system. MS Kid plays the game for two hours hoping to find a problem, then gives up in frustration. After Linux Kid leaves, MS Kid starts IE, wanting to find more out about this Linux thing. Although he's not using MS Outlook, the program tries to download his email anyway, and promptly low-level formats his hard drive while simultaneously flashing his video and modem eproms.

Although some of this may still be in the works, this scenario is not too far away. Which kid do you think is going to grow up, support, and use Linux? My guess is both. At the very least, MS Kid will have to go through years of college to learn standard programming techniques, perhaps the basics of Linux as well. While he does that, Linux Kid has been discovered by a small "cottage industry" software company. A couple years later, as MS Kid finishes his education, Linux Kid files for his first IPO, and a couple months later sells out to a larger company and retires, spending the rest of his life coding for the love of it, contributing back to the community that gave him the tools that have provided the life that he lives. On the side he tosses MS Kid some cash to start his own Gnu/Linux based company.

If you've enjoyed this story, feel free to post it, link to it, write a song about it, copy it to T-shirts, tattoo it on yourself (let's see the Anti-DeCss people get a court order to have a tattoo removed!), mail it to every news organization you can find (will MSNBC post this?), share it with your local representatives, judges, heads-of-states, friends, family, bosses, ISP's, and every living creature on this planet. Add to it all you wish, but make sure you pass along your additions as well, because this baby is covered by the GPL!

One more thing. If you ever have the opportunity to meet the leaders of the Open Source/Free Software revolution, thank them for all they've done. For both of us.

Thanks,

Scott Reid 09/20/2000

st1d@wildmail.com (Flame me even if you agree! I like the attention.)