Open Source

Introduction:

Open Source is a common term often heard or spoken about now days especially in the IT industry. There are numerous articles that have been written and television interviews that have been done that give more information on the subject, but we’re going to cover “Open Source” a bit as this is the technology that we, at Mammoth Solutions, have come to love in our everyday web development practice.

What is Open Source?

The key factor about Open Source software is that the source code (the code the software was developed in) is freely available.

Each piece of software has to meet 10 requirements / conditions / criteria, defined by the Open Source Initiative, in order for it to be categorized or classed as “Open Source”.

The 10 requirements are as follows:

  1. Free Redistribution – the software’s license can be given and used freely without having to pay licensing fees.
  2. Source Code – the software must include the source code (the code the software was developed in) MUST be included or be easily accessible / obtainable. This ensures that those using the software can edit the source code if necessary / required.
  3. Derived Works – the license must allow adjustments, modifications and derived works to be implemented within the source code. This ensures that any bugs or issues can be fixed or repaired and additional features can be added to the software.
  4. Integrity of The Author’s Source Code – the software’s licenses may restrict the source code from being redistributed only if the license allows the distribution of “patch files” with the source code for the purpose of modifying the program at build time.
  5. No Discrimination Against Persons or Groups – regardless of who you are, who you work for – the software must be available to anyone i.e. no one can be blocked or excluded from using the particular software.
  6. No Discrimination Against Fields of Endeavor – the license must NOT restrict people from using the software to develop for their specific fields / requirements e.g. whether a company wishes to develop something for research, business use, commercial use, etc – the software must be able to be used.
  7. Distribution of License – The rights to the program must and are applicable to whoever the license is redistributed without the need for execution of an additional license by those parties.
  8. License Must Not Be Specific to a Product – In simple terms, the rights to the software remain the same no matter what i.e. the program cannot be licensed only as part of a larger distribution.
  9. License Must Not Restrict Other Software – again, in simple terms – the software’s license cannot restrict a person / company who use the program to develop a piece of software use the same open source license or even be an open source product.
  10. License Must Be Technology-Neutral – No provision of the license may be predicated on any individual technology or style of interface.

For more information on Open Source, visit the Open Source Initiative website.

Why we like Open Source?

The beauty of Open Source, other than the obvious fact that source code is available and that a great component can be used at no cost, is the fantastic resources available and information available on the internet. There are a number of forums, websites and script libraries where you can get information on how to do something and when you-re stuck, there’s more than likely someone else out there who has experienced the same thing and is willing to help. Another bonus, in our opinion, is the hosting is generally more affordable and cheaper than for Microsoft platforms given the fact that no licensing costs are involved – this generally helps the client with their monthly costs which can often be a huge cost saver.

So, to sum it up – there’s definitely an unspoken “Open Source” community out there. :)

What we use?

So, we’ve been talking about Open Source and how we use it, but where do we REALLY use it? Well, although we specialize in both Microsoft website development with ASP (Active Service Pages), our specialty is working with PHP which is Open Source, MYSQL (also open source) and is typically run on Apache (Open Source again!) and Linux (yes, also Open Source).

What products can YOU use that are Open Source?

Well, there are a number of products / software available now days that you can use everyday, the most popular being the FireFox web browser. Other programs and web applications of interest include:

These are but a few of the groups/initiatives that supports Open Source.