why using free software is pragmatic and ethical

Karsten M. Self sent a really long and detailed message about the ethical and pragmatic reasons for using Free software. It's really an excellent read. Take this, for example:

Turning this into an analytic tool rather than merely a laundry list, I see the following principles and themes emerging:

  • Worse is better. Many of the successful strategies pitted a slightly inferior, *but good enough* competitor against a more elegant solution. In all cases, "worse" also tended to: less expensive (on a purchase unit if not on a capabilities basis), more flexible, more modular, *and less centrally controlled*.
  • Cheaper is better. Reduced cost, *or reduced entry cost* dominates a more expensive product.
  • Modular is better. Selling pieces to be assembled (or assembling pieces and selling may different products) beats a highly tuned, but single-purpose, system.
  • Decentralized is better. Reducing centralized control, often written as "the right to fork" in free software discussions, means that more ideas can be tried, and that the proving ground for new development is larger. This is critical as the inventor of a new technology *never* foresees its possible applications. It also means no patent royalties or other licensing restrictions.
  • This dynamic is key to understanding both the rise and the likely fall of the Microsoft PC market. PCs emerged and succeeded as a decentralization tool -- they enabled users and broke the stranglehold of the corporate IT fiefdom. Today, Microsoft represents to an greater extent the role of controlling authority, dictating terms under which other actors in the IT market can participate. GNU/Linux and free software offer decentralization and autonomy to hardware, software, and service vendors, as well as end users.
  • Standard is better. Providing a uniform base on which to roll out services tends to increase utility -- IBM's s360, DEC's minis, Unix, the PC, and GNU/Linux, as well as industry and technology standards such as ASCII, RFCs, etc.

Just go read the whole thing, it's great.