Search website

Open Source solutions

To a lot of people this type of solutions sounds dirty, I mean nothing is free. And in that sence the name is a bit misleading, it does not mean the solutions are free of charge nor that the source is available to the general public. On this page I will try and explain what an open source solutions is and how they may be used.

If you wish to follow the open source rules to the letter, see Open Source Initiative OSI, the publishers have to release the solutions free off charge and with source code attached. The license on the solution must comply to the following:

  1. The license shall not restrict any party from selling or giving away the software as a component
  2. The program must include source code, and must allow distribution in source code as well as compiled form
  3. The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software
  4. The license may restrict source-code from being distributed in modified form 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. The license must not discriminate against any person or group of persons.
  6. The license must not restrict anyone from making use of the program in a specific field of endeavor.
  7. The license cannot be product specific and must allow expansion to other products.
Now you might think that the first paragraph I wrote conflicts with the second one, and it does, but many companies feel that their source should be somewhat protected from malicious users. To do this they often build part of their solution in an open source license and the remaining part under a commercial license. This way they can protect their source code and request a small fee for their hard work.

Restrictions Explained

Since I copied the restrictions in the list above almost directly from the Open Source Initiative some of the language may be difficult to understand. If not for you it was for me, so I did some research in it. In this section I will try and explain some of the restrictions written above and explain why some companies try and bend them a bit.

Freedom to include the solution in commercial products (Rule 1)

This simple yet effective rule prevents developers, or more accuratly companies, to sell the open source solution. If this rule was not in effect many companies and organisations would go commercial with their solution under the pressure of commercial developers. Most companies don't wish to develop open source because of this restriction. After all why work for free, which an open source solutions is. So often they will make part of their product open source and the other part commercial to still make a buck.

Source code must be available & redistribution in modified form

The first part (rule 2) is pritty straight forward and logical, you must include your source code with the solution. The second part (rule 3) is a bit more complicated. In the simplest term lets say you build a small solution that can automaticly store images from a web page to your harddisk, then a third party may modify it to also store images from an ftp site. This third part developer may then also redistribute this new solution as long as it includes the same license as you published it under.

Source code restrictions (Rule 4)

This rule was called to live because of one simple reason, you do not want to get a bad reputation due to a third partie his screw-up. It bassicly means anyone may make modifications as long as they are not directly in your code but in patches, which are different files. This way you can guaranty users that your part of the code works.

The others

I think the last three rules are pretty straight forward and need no explanation, but for some more detail you can check the site of the Open Source Initiative.

Licenses

I spent a lot of time trying to explain what a license must include and what it cannot include, what I havent told yet is that there are a lot of open source licenses already written. Most of these can be found at the pages of the OSI. If you want to write your own license for your freeware then make sure you read all the rules published on the OSI website as they are pretty demanding. I am planning to create a license generator in the future so you do not have to reinvent the wheel.