Why write free software?
2. Services & Support
Free enterprise cannot be justified as being good for business.
It can be justified only as being good for society.
This new knowledge economy will rely heavily on knowledge workers. The most striking growth will be in “knowledge tech-nologists:” computer technicians, software designers, analysts in clinical labs, manufacturing technologists, and paralegals.
—Peter Drucker
There are many opportunities for volunteers and public institu-tions to create free software, but commercial enterprises need soft-ware to run their business, and they are an enormous potential source of funding. For-profit service and support organizations will provide the persistence that corporations will demand of free soft-ware.
As with other sciences, there should be many avenues for corpo-rations to make money via the use and production of freely-available advances in computer science. Service companies will write free software when a customer pays them, just as a physicist or lawyer does work whenever a customer pays them. In fact, by some esti-mates, 75% of software is written for internal use inside a corpora-tion, without any thought of selling it to others. This corporate software is “free” to its customers inside a corporation. Software companies making licensing revenue is already a very small part of the software industry today.
Free software is much more conducive to creating robust soft-ware services business because all of the relevant information is publicly available. In the world of proprietary software, the company that wrote the software is typically the only one capable of providing support. Microsoft has created a huge software ecosystem, but the free software service ecosystem has the potential to be much larger.
Of course, there is no guarantee of quality of service providers, but this same issue exists today with car mechanics.
Today, many free software projects have thriving service and sup-port communities around them. While others are not particularly healthy yet, this is a function of the small overall marketshare of free software, not any fundamental flaw in the business model.
In fact, the proprietary model creates fundamental limitations in the service business. When I left Microsoft, I took on a consulting job helping a team build a website which used Microsoft Passport as the authentication mechanism. However, as I ran into problems, even Google wasn't able to help because the knowledge I needed to
fix my problems was locked up behind the Microsoft firewalls. Even though I was an expert in many Microsoft technologies, I was stymied and needed to use my old contacts to get the code working.
If I hadn't been a former employee, I would not have been able to solve my problem. Fixing a problem in proprietary software can sometimes feel like performing witchcraft — you have to try lots of random incantations because you can't know what is really going on.
I spoke with an IT employee in a hospital who told me that after her hospital purchased some software, their vendor became unre-sponsive. After making their money on the sale, they had no motiva-tion to help the hospital anymore. The hospital fought with their software supplier about whether the enhancements they were requesting were bugs, which would be fixed quickly and for free, or features, which would cost money and weren't guaranteed to be made for a year or more. To the hospital, this distinction was irrele-vant: lives were on the line, and they needed improvements, and they didn't care how their vendor categorized them!
In a services business, the vendor gets paid to make the customer happy, not before the product is in use. Restructuring the software industry into a services business based on free software will increase customer satisfaction and strengthen the relationship between vendor and customer.
There is an enormous market in software for running a business.
One of the biggest markets is known as Enterprise Resource Plan-ning (ERP), an umbrella term for software used to manage the back office of an enterprise. ERP covers everything from payroll to cus-tomers to inventory:
Category Features
Manufacturing
Engineering, Bills of Material, Scheduling, Capac-ity, Workflow Management, Quality Control, Cost Management, Manufacturing Process, Manufactur-ing Projects, ManufacturManufactur-ing Flow
Supply Chain Man-agement
Inventory, Order Entry, Purchasing, Product Config-uration, Supply Chain Planning, Supplier Schedul-ing, Inspection of goods, Claim ProcessSchedul-ing, Commission Calculation
Financials General Ledger, Cash Management, Accounts Payable, Accounts Receivable, Fixed Assets Projects Costing, Billing, Time and Expense, Activity
Man-agement
Human Resources Human Resources, Payroll, Training, Time & Atten-dance, Benefits
Customer
Relation-ship Management Sales and Marketing, Commissions, Service, Cus-tomer Contact and Call Center support
Data Warehouse and various Self-Service interfaces for Customers, Suppliers, and Employees
The major modules of Enterprise Resource Planning (ERP).
ERP is a multi-billion dollar industry, and today it is dominated by proprietary software. This is ironic because ERP solutions, unlike a word processor, are specifically customized to a particular business.
The need for customization suggests that ERP software could be free, but with a robust service business behind it: customizing it, helping import and manage the data, providing training and techni-cal support, etc. Enhancements made by various service providers could be fed back into the core product, and service providers could themselves be trained and certified, thus providing revenue for the core development.
One of the perceived weaknesses of free software is that there is no single owner of the work, and therefore no one has skin in the game, or a throat to choke when something goes wrong. This think-ing is faulty because it assumes the computthink-ing environment is sim-ple and homogeneous and makes about as much sense as having one doctor for your dermatology and proctology needs. Computing
systems today are not only large and complicated, they are also het-erogeneous. In the 1970s, companies like IBM provided all the hard-ware, softhard-ware, and services necessary to run a business, but today's computing environments are very different. Even in a homo-geneous Microsoft shop where all of the servers are running Win-dows, SQL Server, and .Net, you still might use HP hardware and administration tools, Intel chips and drivers, an EMC disk farm, etc.
Computer software is not smart yet, but don't let that fool you into thinking that it is not large and complicated. A trained engineer can become an expert at 100,000 lines of code, but because a mod-ern computer contains 100 million lines of code, you need at least 1,000 different people to help with all possible software problems.
In other words, it is a fact of life in a modern IT department that, whether using free or proprietary software, support will require relationships with multiple organizations.
In fact, free software can allow service and support teams to bet-ter help you because they can build expertise in more than one area because all of the code and other relevant information is out there.
Service companies can even build a hierarchy of relationships. You might call HP to get help with your server, and HP might have an escalation relationship with MySQL if they track it down to a data-base problem they can't fix. These hierarchies can provide one throat to choke.