The GNU team is advocating developers upgrade their software from version two to version three as soon as its wording is complete.
The reason for this is fairly technical: fundamentally, the GPL licenses mandate programs which build upon them adhere to the same license. This causes semantic difficulties when merging code where some parts are licensed under GPL v2 and some are licensed under GPL v3 – the resulting code cannot be simultaneously licensed under GPL v2 and GPL v3.
The BSD philosophy
The GNU license options are not the only choices. Another popular stream of free software licensing is that advocated by the Berkeley Software Distribution (BSD). The BSD is a remarkably simple license that states essentially the original authors must be acknowledged and that the source code can be used in any way, without restriction.
Originally, the BSD license had a third clause requiring all works derived from the BSD to include an acknowledgement in advertising materials that the product includes software developed by the University of California, Berkeley and its contributors. This was removed in 1999 leaving just the two conditions above.
The BSD license provides the essential rights listed at the beginning; after all, if you can use the source code in any way, then you obviously may modify it for your own use or for others. In this regard, the BSD license is harmonious with the GPL.
Where BSD is different to the GPL is the lack of restrictions on how the source code is used. It is entirely compliant for BSD-licensed code to be used in proprietary software provided it continues to acknowledge the original authors. The IP stacks in Microsoft Windows and MacOS both derive from BSD software without having to make their code available, or indeed without having to, themselves, adhere to the BSD license.
Supporters of the BSD license claim it is freer than the GPL because anything can be done with the source code. Proponents of this licensing model can rightly claim good, robust, well-developed BSD code is able to make its way into proprietary software – like the two operating systems above – and thus influence software for the better.
These three licenses are the most well known and between them cover an incredible amount of software. There are more: GNU list many other free software licenses with some descriptive annotations. Zooko.com provide a guide to choosing a free software license.
If you are a consumer of free software, it is important to understand the licensing model used so you can make best use of the rights granted to you. If you are a software developer, it is essential to understand these licenses so you can choose the one which most reflects your ideologies and intentions.