Monday, March 20, 2006

Professional Piracy

Yesterday during the course of a political discussion I was told that I am a professional pirate. Perhaps I'm a little hazy on definitions, but I thought piracy involved stealing and getting gain and what not. If I'm a pirate then I need to find another line of work because piracy isn't paying off nearly as well as my day job.

What was implied when I was called a "Professional Pirate"? I believe it was a shot at open-source software. If you believe everything that comes out of SCO I guess that would make some sense.

This all came up because I shared my belief that Orrin Hatch is bad for copyright. Tighten copyright down to the point where nothing leaves copyright or make reverse engineering illegal and you will eventually stifle innovation.

Despite this tendency of copyright to become tighter and tighter there are people who want software to be free. They write software and release the source under a license that allows editing and redistribution of code. In fact with when released under the GPL providing your changes to source code is mandatory if you are distributing the software.

The point is it's good and legal to give something away that is yours. In fact, you are probably making use of open source software. The HTTP headers for this blog show that it is being served by an Apache Web Server (free software). If you're using Mac OS X to read this the base system is BSD UNIX based (BSD has its own open source software license). If you're using windows the IP networking code is derived from BSD UNIX and the API is specifically called BSD sockets. Being able to borrow the BSD sockets API from BSD UNIX and use it in other operating systems helped the development of interoperable systems. Because of the open source BSD license and industry standard APIs that are not defended by copyright I can write code that can be ported to many different systems. I can spend more time on my software and less time on writing compatibility layers. It's already hard enough to port without having to rewrite network code for every operating system.

What really bothers me about being called a Professional Pirate is that it is based on my use of software that is being contributed willingly by programmers and companies. IBM contributes to free software because they are a hardware vendor. With open source they can contribute to a server operating system with growing mind share in the market place. What happens when they do this? They can make sure it runs perfectly on their hardware and can make better promises about how well their hardware can run these systems.

This problem really comes down to two fundamental schools of thought. The first is "We (a company) must build what people want and be paid for it. We will protect it with copyright". This is right and fair and I will agree with it; that's what copyright is for. The second is "We (everyone) all need this. Let's all contribute to the common cause of building it, but keep it free by copyright protection." This is also right and fair.

Now for the real question: Why was this important enough for me to blog about?

Quite simply, it's because without open source software I would not be where I am today. I was able to install Linux on an old 486 with 16MB ram and a 240MB HDD. I was able to start learning on my own. I thought the Linux kernel was an interesting topic and all I had to do was download the source and start reading. Looking at real world grade code is highly educational. Using open source development tools like GCC also allowed me to become a better programmer.

I am where I am today because some information is free to those who look for it and some people are generous enough to give of their time to help others learn (online discussion groups) produce good software. Besides, Linux originated as a hobby project.


1 comment:

Anonymous said...

I find it weird how one person hate microsoft but love linux?I mean it seem to me it so emtional the hate,I ahve tried firefox and I dislike that my favorite places is gone.So back I am with bill gate :) windows xp operating system