Changes, even huge changes, are difficult to evaluate when you happen to live close to whatever is undergoing the change, be it a child, global politics, or the world of people who make a living with their knowledge of information technology (IT) matters.
In our world, as the most common computer-dependent tasks get standardized and as more and more raw computing power can be tapped by more people, the figure of the white-clad ``computer priest'' is about to vanish. But what is the world getting in exchange?
How is the young manager of a new company going to build its IT infrastructure? No, he most likely won't phone IBM. Instead, he will order a bunch of PCs, equipped with a various assortment of Microsoft software. Other Microsoft software will follow, because that's what everybody does.
Through a brief, fractal period, we have moved from one monopoly to another, with the added disadvantage that people who blindly accept the new easy solution end up with less-than-solid material. This material is much harder to adapt to local needs. In the past, companies who could afford a high level of informatization hire with a handful of COBOL or RPGII programmers who could customize the software that needed to be adapted.
Today, a manager will most probably be equipped with a NT server, a Microsoft Office suite on Windows 95 for each desk, an Ethernet network, and an assistance contract with some specialized firm (who has to deal with dozens of other companies). He may organize things so that his people have some limited sort of Internet access. All standard, on a path that is being walked on by a huge mass of people all around the globe.
As the path gets dug deeper and deeper, it gets harder to choose a different one. This has to do with gravity: the deeper the path and the steeper its sides, the harder the person, company or organization has to want to choose a personal way to its own IT goals.
But why would a reasonable IT manager want to get out of the mainstream? The keyword is customization.
Yes, you can program in Windows. But when it gets to having an ``intimate'' relationship with what actually happens, Windows leaves you in the cold. You may find books, but unless you have uncommonly strong links with the Microsoft engineering circles, you have no way to be confident in the fact that whatever OS feature you are using won't disappear without a trace in the next release. Which you will have to use because everybody will be using it at a certain time. You end up being dependent on the next brilliant idea they come up with at Redmond, WA.
This strategy is evident. Human beings' laziness is again tapped, at the benefit of a company that found itself at the right space-time coordinates, and has been as un-principled as needed.
But if our young manager were to dedicate a moment of thought to how to solve his IT problems, what are his choices?
Linux has been growing like a big, healthy forest plant. Each branch has been contributed by someone like us, who decided to spend a bit of their free time to make the tree look and live better. Not ``for free'': we humans always do things for a reward; it happens that money is not the only (nor the best) reward. The impulse behind the Free Software movement has been and still is to demonstrate to ourselves and to the world that we worked well, that we brilliantly solved a problem. That we created a handy tool, that was not there before. That is, that the world is now a little bit nicer now than before we started developing our ideas.
Of course, programmers need to survive, too. Here is what the Richard Stallman has to say about the topic (excerpt from the GNU Manifesto):
``Won't programmers starve?''
I could answer that nobody is forced to be a programmer. Most of us cannot manage to get any money for standing on the street and making faces. But we are not, as a result, condemned to spend our lives standing on the street making faces, and starving. We do something else.
But that is the wrong answer because it accepts the questioner's implicit assumption: that without ownership of software, programmers cannot possibly be paid a cent. Supposedly it is all or nothing.
The real reason programmers will not starve is that it will still be possible for them to get paid for programming; just not paid as much as now.
Restricting copying is not the only basis for business in software. It is the most common basis because it brings in the most money. If it were prohibited, or rejected by the customer, software business would move to other bases of organization which are now used less often. There are always numerous ways to organize any kind of business.
Probably programming will not be as lucrative on the new basis as it is now. But that is not an argument against the change. It is not considered an injustice that sales clerks make the salaries that they now do. If programmers made the same, that would not be an injustice either. (In practice they would still make considerably more than that.)
The above was written back in 1985, when programmers were still earning big money; 12 years later, our market and contracting power has diminished a lot. Gone are the days when a programmer could be the best paid man in the company thanks to writing huge bits of database access/data entry pieces of software that differed very little from their brothers.
When the need arises for an application that is somehow different, there is no other way than to call an actual programmer. Here are a few characteristics that make a Linux aficionado an ideal choice for such a special need:
There are recurring, well-financed efforts to create a new good-for-everybody operating system on the robust structure of Linux. These efforts are justified by the hope of snatching even a small percentage of the huge market held by Microsoft. A very small percentage of a very large sum may promise reasonable earnings to those who follow this path.
Regardless of how things look like now, the omnipresent PC that we see today has a limited time to live.
A very big slice of the PCs that are currently in use in the world are used for standard operations: keeping one's correspondence, making spreadsheet calculations, maintaining one's agenda, playing games and looking around the Internet. How many PCs do you know are being used with software that has been written especially for them? The logical direction, one that much effort has been spent to hamper, is that of including everything that a secretary, a non-IT-oriented office worker or a common home user will ever need in an idiot-proof box.
This tendency has at last emerged in the shape of network computers. No matter which way is selected, the result of adopting an NC is that, from the prospective of the user, there will simply be a couple of plugs to insert into the respective sockets, and the user will be ready to work or play. No need to reinstall Windows95 for the nth time because the maintainer can't divine a better way to recover from the cryptic error messages.
Along this way, comes the demise of shrink-wrap software. If the server is the only place where a separate operating system needs to be installed, it will be much harder for Microsoft to maintain their stronghold on the computer market. NT has very little advantage compared to the many UNIX options in the field. In particular, it is not significantly easier to manage than UNIX by a knowledgeable person. And if or when the networked world becomes so easy to manage that a bunch of software wizards can do the job, the next step will be NSes (Network Servers, I think I'll patent the name...). Again, something that spells bad to a software-only company that is programmed to EARN.
Isn't it futile to try to be the new Microsoft? As if it really mattered much to have so much money that you will not have the material possibility to spend it all in your lifetime.
So, what is there that is not futile? Doing something nice, that makes the world a bit better. I said that before.
A human being has an idea. Some say they float around, and visit you when you become receptive enough. She finds all the resources that are needed to turn this idea into a practical product. After some time, other people can exchange some of their own wealth to take advantage of the idea of our entrepreneur.
Or the idea can be imported within a sufficiently fertile existing corporation, one that will recognize the value of the idea and give our human being enough space and resources to reach her goal.
Or the idea deals with bettering an established way of doing some task.
What kind of enterprise can you think of, that won't benefit from the use of IT? Most of the times, she will have to look for computer assistance. It is to all the entrepreneurs who are facing the problem of which way to informatize their pet project that I would like to speak.
Linux may well be the best choice for you. But for Linux to adapt well to your world, you will want to adopt one or more Linux aficionados. You will want to secure the continuing services of a person who deeply knows and appreciates the tools he works with. Who can craft your personal solution. Who can maintain the operating system that your solution works on abreast of the latest technical progress.
Linux cannot be eternal. Nothing is. But it has reached a solid, mature stage NOW. Especially, it is the ideal tool for tapping into the networked world. Now is the time not to be lazy and to profit from this situation. And keeping a Linux aficionado happy and well-fed now might also imply finding yourself in a more elevated position in the post-Microsoft world, tomorrow.