[ 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
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
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
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
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
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
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
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
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
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
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.
Scott Reid 09/20/2000
[email protected] (Flame
me even if you agree! I like the attention.)