Open Source, Free Software

The bottom line with open source is that it is software which can be incorporated into your product, and there is no cost.

What is the hitch?

GNU Logo There are various open source licensing schemes which relate to how the code is used, rules on how the code can be modified, and selling the code.   GPL is a very common open source license, which has several flavors.  From gnu.org's web site the tennants of open source are:

  • the freedom to use the software for any purpose,
  • the freedom to change the software to suit your needs,
  • the freedom to share the software with your friends and neighbors, and
  • the freedom to share the changes you make.

When a program offers users all of these freedoms, we call it free software.

The power of open source is community contribution, and scrutiny.  The open source initiative is involved with building the open source community. I always wonder how much more robust and secure Microsoft products would be if it had the open communities scrutiny.  There is a lot of good in Microsoft products, so I don't want to sound overwhelmingly biased.

One of the great architectural tenants to come out of open source of large projects is modularity and extensibility.  The LAMP architecture is modular from the ground up.  Joomla and Drupal, have modules, Joomla Logoplugins and extensions with communities developing in many areas, blogs, forums e-commerce, the list is huge.

People ask (discuss / argue), what is the best framework, programming language, platform, my answer is the one you know best.  There is nothing you cannot do with Joomla that you cannot do with Ruby On Rails, or Java except for very specific applications, Joomla is a CMS, and it is a good framework to build applications with loads of contributors giving many options to starting from scratch.  In conclusion there is more than one right answer to what technology is best for an application.