2005-07-23

Just how free should your software be?

Eric S. Raymond recently went on record saying that we no longer need the GPL. He believes the restrictions it puts on developers are unnecessary as open source has already “proven itself” to be the superior method for software development. This goes back to the same kind of arguments the free/open source software community have been arguing about for years. What's better? The GPL style license or the BSD style license? There are hundreds of open source licenses out there, but they can all pretty much fall into one of these two categories.


So which one is better? It really comes down to what you want to happen to your software after it has been released. As Mr. Raymond's book “The Cathedral and the Bazaar” states, the power of the open source development model revolves around an involved community. If no one contributes back to your software, then it's no better off than a proprietary model. The main reason the GNU GPL was created was to force everyone to play fair with the community. While sometimes the GNU LGPL is better so that your software can be mixed with non-free software, they both share these same rules. All of Mr. Stallman's free software licenses require the developer to release back to the community any changes or improvements they have made. By putting this restriction on the code, it makes the software worth a great deal even though it is free of charge. Many companies won't use GPL'd code because they do not want to release their own code in exchange for the use of free software. To many people, GPL'd software costs much more than if they had payed for proprietary software, and this can be seen as good and bad depending on your position. Once again, the GPL and LGPL are the most commonly used licenses of this type, but are far from the only ones.

BSD style licenses take a very different approach. Most BSD style licenses have absolutely no restriction over it's use except that any derivative code have a notice of who wrote the original version. This is the kind of license E.S.R. is endorsing with his new outlook on licensing. Both he and the BSD community believe that the benefits of contributing code back to it's originators will be enough incentive to make developers want to contribute back. Unfortunately we're dealing with human nature here, so this ideology is a pipe dream at best. As companies and corporations get more and more involved with open source software this will become more apparent. In the business world, people are usually very short sighted and can't see past this fiscal year and the bottom line. These are the kind of people who won't contribute back to the community unless they are forced, and that is the exact reason for the restrictions in GPL style licensing. If the GPL can make your software worth more than pay/proprietary software, then the BSD license is like saying “oh I just made this for fun, contribute back to it if you feel like it.” The only restriction of namesake is very short sighted which fits perfectly with the corporate
mindset. Many people would argue that this is a much “free-er” situation than GPL like licenses, but at what cost? Just how free does your software need to be? What are your motives? The only place I could see using a BSD type licence would be worthwhile would be for
protocols and standards.


It's no question that Linux and other GPL'd software are exploding right now. Yet for some reason, BSD, which has been in existence decades longer than both GNU or Linux, is still fairly small and unknown to most. I'm not saying BSD and it's derivatives are bad software by any means. I know some people who find it far superior to Linux at times. But the BSD community would have you believe that its slow growth is only due to stringent testing and exclusivity amongst it's developers; however, I fully believe it's got a whole lot more to do with their licensing. To Mr. Raymond, all I have to say is maybe you've spent too much time dealing with just your computer and need to meet some people in the real world; they're not all as nice as we'd like them to be.

1 comment:

Chris said...

I think you hit the nail on the head. My first experience with Free/Open Source Software was on FreeBSD. It is a slick, fast, and solid OS. Back then (mid-90s), FreeBSD was clearly superior to Linux in every way: better package management, more reliable, easier to install, able to handle much higher network volume, able to run on much more modest hardware, etc.

In nearly 10 years, Linux has shot ahead in terms of ease of management, availability of software (free or otherwise), hardware support, and community & developer support. FreeBSD has been anything but stagnant, but the rate of innovation over in the GPL camp has been far faster.

Personally, I think the community and developer support is probably the most important asset of any OS. I think this is where the GPL shines. Who wants to program a truly innovative piece of software only to have some corporate thug come and steal it out from under you, repackaged as their own?

Like you said, BSD (or even public domain) is great for standards, but as evidenced by the need for firewalls, intrusion detection, etc., PEOPLE SUCK and will try to steal anything that is unprotected.