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:
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.
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.
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.
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.
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.
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.