Often when a debate between GPL or BSD style licenses erupts, the matter of discussion focuses on choice. Typically, it is said GPL removes choice, and is subsequently detrimental, wrong or even draconian because of this. GPL has a unique characteristic compared to BSD in that if forces developers who decide to share software to do so in a way they may not want to (provide source code), thus removing choice and is a bad license for doing so. What this neglects however is that BSD style licenses allow and were created specifically for such instances when someone would want to remove choice from others – it is a license that also encourages the ability to remove choice from others.
The fundamental difference between the two is a matter of perspective. The GPL and software freedom movements started from the perspective of a recipient of software, a user who may or may not know how to develop a program. Proprietary software is bad it is said because the user has no say in how the code can or can’t be used – they are dictated to by someone else, and most commonly in ways that do not allow redistribution or modification. The recipient has a disadvantage in not being as knowledgeable as to how the code works and what it does, and should they have problems, have little personal empowerment to do something about it unless it is assumed the provider is inclined economically or otherwise to do so. The GPL attempts to rectify this so that whomever the recipient is and their status, they always have some means to practice this freedom, have control over their lives and their machines that perform important tasks in their lives.
The BSD style licenses assume the perspective of a developer, who wants full ability to decide what they can do with their code at any time, and should they be the recipient of any opened code, to maintain full ability to decide what to do with that code – enforce privacy or to release it openly. Freedom in this case is the freedom to have a complete decision opportunity over the code you write and potentially code you receive should someone else have opened theirs, whilst having that decision enforced or protected (by copyright law), perhaps most often for economic reasons (the assumption that selling copies of software is the only “real” business is fairly ripe)1.
The license assumes the role of someone creating or distributing, but with no regard for recipients should a decision be made to keep the code private even if the software is distributed publicly in binary form. BSD allows for creators and distributors to have freedom, but not recipients should the creator decide it not important or economically to their advantage to do so. BSD style licenses enforce the ability to remove choice from others should you so decide.
The perspective of the likes of the FSF and Richard Stallman however was not so distracted by the tension between choice and who should be “restricted”, but was on which choice was of more social importance and benefit. The wider view is not about whether someone should have choice or not, but whether or not that choice is of more wider social benefit, and the consequences of the means with which those choices are enforced, often in ways that are of large social detriment like draconian DRM laws.
GPL and free software inspired licenses are reactions against what are seen as unjust laws and incorrect assumptions about the social and economic consequences of software development and distribution, whilst BSD style licenses are reactions that support those same old assumptions that a software developer or distributor may need to restrict the recipients primarily for economic reasons. Richard Stallman and his creations of the FSF and the GPL were attempts at social change against negative social forces, whereas BSD style licenses are aimed at providing maximum commercial opportunity, even if there may be other social costs involved.
1. FreeBSD documentation asserts ill thought out assumptions and generalisations about the economics, practical effects and intentions of the GPL for example:
and another article was written asserting similar ideas under the guise of finding a “real” business model: