Written by: steve ross on October 25th 2007

This is an old topic, but one worth revisiting occasionally. Most of us use some commercial software. Perhaps not the Linux-only devs, but on a PC or Mac it's the norm to purchase some critical applications. For example, although some of the new word processing and spreadsheet applications are pretty good, Microsoft Word and Excel really are better. Honest. While GIMP is ok, Photoshop really is better. Honest. When there is a need for Flash ... um ... you need Flash.

So that brings me to the crux of the issues: Terms of the license, and compliance checking.

Terms of the License

I'm totally ok with paying people for their work. I expect to be paid for mine and others should be paid for theirs. My beef is with licensing terms that inhibit my use of software I pay for. Let's take the "Single CPU" license agreement. I use agreement in the loosest sense of the word, because you really have no choice but to agree other than not using the software.

The Single CPU agreement essentially says I can use a piece of software I purchased on exactly one computer and if I have, say, a laptop and a desktop computer, I need to buy an extra copy. I understand the spirit of the license; it is to prevent people from buying one copy of the software and passing it around the office, loaning it to friends, and so on. While agreeing with the spirit of it, I find the reality is to cause the software to be less useful to me because it simply doesn't fit my workflow. I think that sucks. If I'm pounding away on some development project on my desktop computer, then go to a client site with a copy and my laptop, I don't want to license yet another copy of all my commercial tools just so I can make a couple of on-site changes.

The software industry can and should do better.

Electronic Activation

This is such a bad idea that I can't even begin to describe it. If you purchase the software, you are required to register over the Internet. A magic cookie is exchanged between the vendor's server and the installation program. That installation program scribbles some veiled piece of data somewhere in the filesystem of your computer without your permission. That piece of data is the key to unlock the software. Yeah, it can be hacked, but that's not the point. Here is the point. I have tons of software, some of it shrink-wrap, some electronic download. If I do an OS upgrade, or screw up my disk, or (perish the thought) get a new computer, I get the delightful chore of remembering each piece of software I have and begging each vendor individually to have mercy on my license and give me a new key. I shouldn't have to do this. In some cases, I can dredge up the old key, and in some cases it even works. Actually, Microsoft has done an ok job of this, but at the expense of storing information about my computer on their servers. I'm ok with that but you might not be.

Not to name names, but Adobe is particularly bad about this. To "move" an Adobe application from one machine to the other, you have to deactivate it on the first computer, then install it on the new computer and activate it. But what if the old computer is DOA. Adobe is no help at all. I have deceased versions of very expensive, licensed Adobe software that I have simply given up on. And that's unforgivable.

Network Probing

This is the practice of putting out a ping over the network to see if other copies of the same software are running. The notion is that if another copy is found, then one copy should be prevented from running. Clearly, if you follow the Single CPU argument, then you agree that this is an ok idea. But it, again, prevents me from having two computers that I own running similar software without licensing it twice. Microsoft did this with Mac Office.

Well rant off. I just had to get this off my chest.