Why All Computer Users Will Benefit

Andrea bought me Free Software Free Society by Richard Stallman (RMS) for Christmas. I haven’t been reading it that fast. It’s one of those books that is much better to read a bit and then mull it over for a bit.

The title of this post is the title of the RMS essay that I’ve given some thought to and had my own thoughts that I wanted to add. What RMS explains in the essay is how he feels restrictive licensing is detrimental to both society and the software/technology industry.

Arrangements to make people pay for using a program, including licensing of copies, always incur a tremendous cost to society through the cumbersome mechanisms necessary to figure out how much (that is, which programs) a person must pay for. And only a police state can force everyone to obey them. – p 36

Over the last decade there was a huge amount of effort (and money) put into preventing the distribution of licensed materials which for the most part was not successful. By design, the Internet is a distributed fault tolerant network which routes around blocks (as any fault tolerant system will). RMS is spot on that the only way licensing can be enforced is through a police state. The costs of administering and enforcing restrictive licensing systems outweigh the benefit of those systems for both society in general and the industry itself.

Secondly, at a base level, restrictive software licensing is essentially an industry regulating system. Whether you agree with regulating industries or not, in theory there is some merit in regulating a profession like engineering. The principle behind engineering certification is to ensure that the people working in that profession have the training and skills to competently practice that profession. There are two significant differences between restrictive licensing and industry regulation. Restrictive licensing does not regulate the software industry, it regulates the consumers/end user. It does not do anything to assure the quality of the profession or product. Secondly, software licensing is determined by the software developer where most regulated professions are regulated by the profession itself.

Some easily rebutted objections to GNU’s goals:

“Won’t everyone stop programming without a monetary incentive?”
Actually, many people will program with absolutely no monetary incentive. Programming has an irresistible fascination for some people, usually the people who are best at it. – p 39-40

I taught college level programming for a few years, and I think RMS has it backwards. Some people are fascinated by programming. Those who pursue that fascination are the ones who become the best at it. The only consistent factor in my students that correlated to how their skill as programmers developed was how much they liked it. Fortunately most of the students who started in one of the programs I taught in and discovered that they didn’t like programming dropped out part way through their first year.

Restrictive licensing does not help people who program because they love doing it. Restrictive licensing sets out to extend the financial mileage that can be made out of every line of code. Instead of doing something that they love, a programming ends up spending time doing something that they most likely do not enjoy.

A good programmer will look at something they had written at some point in the past that’s mediocre, scrap it and start over. On the other hand, in my experience as a teacher & working in the industry, a mediocre programmer will try to salvage any work they’ve done for as long as they can. While that sounds strange it make sense if you look at it from the perspective that the mediocre programmer doesn’t like to program. What’s unfortunate about that is that in most instances, salvaging mediocre programming to continue making money from it takes more work than scrapping it and starting over.

“Competition makes things get done better.”
The paradigm of competition is a race: by rewarding the winner, we encourage everyone to run faster. When capitalism really works this way, it does a good job; but its defenders are wrong in assuming it always works this way. If the runners forget why the reward is offered and become intent on winning, no matter how, they may find other strategies—such as, attacking other runners. If the runners get into a fist fight, they will all finish late. – p 39

A programmer wins at programming competition by writing the best program (for a particular purpose or range of purposes); but in programming there isn’t a starting pistol or a finish line. A programmer is only a winner until another one writes a better program. The aim of restrictive licensing is to make as much mileage as possible out of each win. The competitors who garner no benefit from the restrictive licensing are the ones who love to program (ie. the best programmers). The programmers who gain the most are the ones who only program when they have to (ie. the mediocre programmers).

In a straight up competition, mediocre products/programmers will gradually fall further and further behind the the best ones. Like my students, some will realize programming isn’t for them and they will drop out of the race and look for something that they will enjoy more. Those that don’t often turn to taking swipes at their competition. I’d love to be able to say that the FOSS community is free of that, but it isn’t entirely void of it. I do think over time the FOSS community does shed those who turn to that sort of thing though. By taking the low road, a person or business is elongating their stay in the competitive market. But there must come a point where what they are offering is no longer competitive.