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.

Rennick Media Ltd.

In my year end review I mentioned in the closing paragraph that we would be incorporating a business. In 1995, I incorporated my consulting business first under a numbered company and then later as a named corporation. At the time you could realistically count on a minimum of 4 weeks to register a named corporation. At the time I needed one in 48 hours to meet a requirement for a contract. So, I did the numbered company first and the name registration after. Now the registration process here is all electronic and if you were in a rush, you could probably register a named company in less than a week.

Without further ado, we are pleased to announce that we have incorporated Rennick Media Ltd. and will be moving the ownership of all of our media services and our clients projects over to Rennick Media Ltd. The company name is in keeping with our business focus on media services. We are expecting to continue to do some development projects. Over the last 6-8 months we have pared down the number of active projects we are working on one time to a more manageable level. By doing that we have also been better able to focus on individual projects.

Secure Download for BuddyPress

Andrea & I are using BuddyPress and private groups for the support area of WP eBooks. All of our plugin eBooks include lifetime updates so in planning WP eBooks, we knew we needed a plugin/utility for providing our group members with updates. Until recently, we haven’t needed to provide updates on any of the plugins. A few weeks ago, I did a first pass on a secure download manager for BuddyPress that runs inside the BP Groups component.

From the user side the plugin is fully functional, but there are a few bugs in the group admin side that need to be fixed before I can label the plugin as a beta. The files uploaded through the plugin are stored outside the website and are only accessible through the download area of the group that it is associated with. This plugin will be our next release on WP eBooks. Here is a screenshot of the group member’s download area (click for full size):

Simple Menus

Andrea & I have been working with the Genesis Theme Framework since it was in alpha. In fact, the theme on this site is Genesis and a customized version of Delicious. To date, I have mostly been working on GenesisBuddy (BuddyPress support for Genesis & Genesis child themes).

Over the summer, the folks at StudioPress have been releasing plugins to extend the functionality of Genesis. A couple weeks ago we were having coffee with Rebecca and she mentioned that another handy plugin for Genesis would be a menu plugin like Genesis Simple Sidebars. Since I agreed that would be a handy plugin, I wrote one that would do just that.

Without further ado, we are please to announce the release of Genesis Simple Menus. Appropriately, Simple Menus’s home page will be at StudioPress among the other Genesis plugins.

Network Plugins

At WordCamp Montreal, August 28-29, 2010, my session was Tweaking plugins to be 3.0 Network-Compatible which was a live coding demo. The plugin that I chose to use for this was AdServe which has not been updated in over 2 1/2 years. You can download my updated version with all the edits from the presentation: [download#1]

Huge thanks go out to @Digibomb, @JeremyClarke & @cafenoirdesign for an awesome job of organizing the event.

(Photo credit: Alexa Clark)

Free as in Speech

About a year ago, I heard someone say, “Free as in speech, not as in beer.” (It was probably Jane Wells.) I think partly because I’m not an American and have never been a “bar” person, it took me a while to get the connection. Whoever said it aside, they were referring to the GPL (GNU Public License) which is what WordPress (the software behind this site) is licensed under.

If my take on “not as in beer” is correct, then it refers to the fact that the GPL does not mean (in terms of beer) that there is an open bar or the drinks are on the house. Whether that association is correct or not, the GPL does not grant that all software licensed under it is free of cost.

You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. – GPLv2 (Note: For the purposes of this post, all further quotes reference the GPLv2.)

So, charging for the original copy & providing warranty (includes support) is perfectly acceptable under the GPL. For the most part, whenever people in the WordPress community start talking about the GPL, I find something else to do. The main reason for that is it’s only a matter of time before someone equates the GPL to free of cost. It’s discouraging to see an opinion expressed that sounds like the person has not taken the time to read the document they are expressing an opinion on. However, the case may be that they are confusing one part of the license to mean something other than what it does.

BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM…

This doesn’t mean that the software is free, but that the license is free. If something is GPL, you cannot charge for the GPL license.

You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of…

Let’s suppose you have a GPL software product that you want to charge $99 for distribution and a 60 day warranty. The GPL is ok with that. What the GPL is not okay with is charging additional fees for permission to copy (eg. multi-use licenses), modify (developer license) or (re)distribute the software. It’s worth noting that a developer version which includes additional resources for developers is allowed. By process of elimination, I’ve concluded that the “free as in speech” refers to these freedoms that the license grants you once you have the software.

There are some in the WordPress community who feel that the GPL is anti-commercial. I don’t believe that’s true. I made my first open source contribution in 1989. But, until about two years ago, I made my living writing or modifying proprietary software (I did a four year stint of teaching others how to write proprietary software). In many instances, granting a right to copy the source of the software was a condition of being paid for writing the software. In cases where it wasn’t, I gave my clients the source code anyway. So, in fact, I have never written software where I didn’t give the client the source code.

From 1994 through to 2002, I ran a successful consulting business based on proprietary software. Among my clients were Digital Equipment (a proprietary giant from the 80s) and International Paper. I was the IT lead that launched StarChoice Television (now Shaw Direct).

For most of the last two years, I’ve been writing 100% GPL software. It took Andrea & I a while to find our groove. A business model that works with proprietary software isn’t necessarily going to work with open source software. Following the model that I used in my previous consulting business was not a stellar success. BUT, the fact that we’ve picked up a few bruises along the way and have learned to approach the business differently doesn’t make the GPL (or any other open source license) anti-commercial.

We could argue the advantages and disadvantages of the open source & proprietary software ’til we are all too old for it to matter. Some prefer working with proprietary platforms/development environments and others prefer open platforms. So, it’s an argument that can’t be won. BUT, if you need proprietary licenses in a development platform/environment where most of the development is openly licensed, you’re doing it wrong. The amount of cooperation that exists within the WordPress community far outweighs the costs of competing in a proprietary market.

As a closing note, I’d like to thank Triple-J & Ryan who both wrote posts earlier today where they talked about the GPL.