Software Libre and Commercial Viability
Fortunately, Linus' project of world domination is going to come true fairly soon. The trend toward this goal can be verified by checking how the press is behaving towards GNU/Linux solutions, looking at how several educational entities are going to introduce free software in the schools and verifying Linux's usual technical excellence.
Today in 1998 (yes, it is still 1998 as I write), the most important job remaining, in my opinion, is propagating the social and commercial implications of free software. While I greatly appreciated Russell Nelson's article “Open Source Software Model” in the July issue of LJ, I feel the need to expand on the points he briefly touched.
Please note that I'm not an expert in economics or politics. I'm just a build-it-yourself kind of technical guy who is reporting his own experience in the battle for survival, in the hopes of helping someone else adapt to new environmental conditions. Some of these ideas have already been discussed with friends or on the Free Software Business mailing list (firstname.lastname@example.org), which I joined after reading Russell's article.
The best feature of any computer system is flexibility-- allowing users to tailor its behaviour to their own needs. This flexibility is often completely unknown to the general computer user, because proprietary software solutions tend to hide functionality behind a rigid external interface which denies any divergence from the expected behaviour—a user's behaviour.
When adopting free software, users are able to discover the real power of computer systems. Today I talked with a commercial consultant who never thought that programs could be adapted to one's needs. He confessed his company has always acted the other way around—they adapted their needs to the software they use. Most users are victims of their software and don't even realize it.
Educating the user base about the extendibility of software will open new markets to independent consultants, creating new employment opportunities. Every user has different needs and solving these needs often means calling for technical support from people who tailor or enhance the relevant software. While this is not even imaginable with proprietary programs, source availability allows any problem that might arise to be quickly solved and new features to be easily added. While you may think this would quickly lead to a perfect software package, individual needs are so diverse and specialized that the perfect package will never exist.
For example, I and others wrote a program for a local physiology center to analyze data for a typical kind of experiment. During two years of use, the physicians found so many ways to enhance the program that it is now reported as better than the commercial solutions. The total of all fees they paid during these years reveals the program to be more expensive in the end than some of the commercial alternatives. This fact is not relevant to my clients, as they have exactly what they want and they know they can have more should the need arise. The program is obviously GPL and other centers expressed interest in getting a copy.
As more and more people are choosing free software to address their needs, I'm sure some software companies will try to demonize Linux and the open-source movement because they are losing market share. Such companies will probably try to demonstrate that IT employment is decreasing and that humankind is being damaged by the general adoption of free software. This whole argument is bogus; computers exist to be programmed, and the more you allow programming them, the more you build employment opportunities. If you count the number of people who offer free software consulting, you will greatly exceed any shrinkage of proprietary companies. Sticking to my previous example, the physiology lab hired my company to write the program, and other centers interested in the product are willing to hire a local consultant for installing, maintaining and enhancing our package. Did I say “enhance”? Isn't the program working? Yes, the program is working well, but there is room for enhancement of the product. The local lab decided to stop development “because we must run our experiment rather than invent new software features”. As anyone knows, every program has a bug and a missing feature, and this is where we build our credibility—bugs can be fixed and features can be implemented. As I suggested before, the more you make things programmable, the more they will be programmed.
Why should there be more employment opportunities in IT than there are now? First of all, because free software users have more requests for new features than users of proprietary products do, as explained above. Next, because anyone can build her own professionalism without paying to access the sources of information. I built my Linux expertise by studying source code and trying things out on my own low-end PC. Now I am confident I can solve any problem my clients might have, and my clients know I can (provided I am given enough time to deal with the problem).
Another critical point in addition to source availability is standardization on file formats, a field where proprietary products are revealing their worst features. Let's imagine an environment where every file format in the system was known: you could, for example, create indexes from any document that is produced, thus easing later retrieval. This can be accomplished off-line without any load on non-technical personnel.
Asynchronous reuse of data is “rocket science” for many users, because they are accustomed to programs that use proprietary file formats (and operating systems with no real multi-tasking or cron capabilities). As soon as free standards are adopted, users begin asking for customizations and are willing to pay for anything that will increase their productivity. Moreover, free standards guarantee that customers are not making the wrong bet, as they won't ever be stuck with unusable data if the software market changes.
While the conventional model of software distribution concentrates all knowledge in a few companies (or one of them), open standards leverage technical knowledge to anyone willing to learn. Whereas a proprietary product can be supported only by a limited number of qualified consultants (whose number and quality is centrally managed), the number of consultants supporting a free software solution is virtually unlimited and the offer can quickly adapt to the request.
In a world where computers are just tools to accomplish some other goals, easy customization and quick maintenance are basic requirements of power users. In my opinion, free software will quickly gain the trust it needs to be a real market phenomenon. As soon as you start to trust some open-source products, you learn that they deserve more. GNU/Linux fans must be ready to offer support in order to fulfill the upcoming need for consultants.
Practical books for the most technical people on the planet. Newly available books include:
- Agile Product Development by Ted Schmidt
- Improve Business Processes with an Enterprise Job Scheduler by Mike Diehl
- Finding Your Way: Mapping Your Network to Improve Manageability by Bill Childers
- DIY Commerce Site by Reven Lerner
Plus many more.
- Building a Multisourced Infrastructure Using OpenVPN
- Happy GPL Birthday VLC!
- Unikernels, Docker, and Why You Should Care
- diff -u: What's New in Kernel Development
- What's New in 3D Printing, Part III: the Software
- Giving Silos Their Due
- Controversy at the Linux Foundation
- Don't Burn Your Android Yet
- Non-Linux FOSS: Snk
- Firefox OS