This post is based off of a paper I wrote in one of my Computer Science classes during college, and has been the only college work I have ever referenced after I graduated. Sounds like an awesome expenditure of money right there, but I can’t complain. So, let’s begin:
Software licensing is a contract of agreement between a software publisher and the end-user, basically preventing any type of legal infringement of the software such as modifying code, duplicating discs, and implementing multiple installations. Some sort of software licensing is seen on virtually every application that people use today, and although the practice of software licensing does include restrictions on the user, the ideas behind it are usually moral. Software licensing schemes are used frequently to label different types of rights and restrictions for software. The two types of licensing schemes that we’ll be talking about here include Digital Rights Management (DRM) and the GNU General Public License (GPL), both of which are very prominent.
What is Software Licensing?
The practice of software licensing involves a lot of different ideas, where placing restrictions is just one of them. It serves as sort of a disclaimer to the user, often times releasing the publisher from any or all liability for any unseen events or circumstances that may occur with use of the product – these are often discussed in the End User License Agreement (EULA), or just a general disclaimer if it is a web project.
Software licensing can be divided into two different categories: Proprietary and Open Source. Proprietary software licensing is described as software that is exclusively owned by the publisher, and who can therefore determine the overall rights of a user and how software use should be restricted. Open Source software licensing instills ownership of the software within the user, who is therefore guaranteed unlimited rights to software use so long as it remains under the rights granted by copyright law. The main difference between these two licensing schemes is the effect that they have on the user?s overall rights with the software.
Digital Rights Management provides good examples of a proprietary software licensing. DRM refers to access-control technologies used by software publishers to limit the usage of digital media; DRM itself is not an actual software license, but it includes the class of technologies that are most commonly associated with controlling the use of digital content and devices after sale. DRM has gone through two generations, with the first generation solely focusing on preventing the pirating of copy-written software works. Second-generation DRM is typically what we see today, and instead of putting a heavy focus on trying to stop pirated works, it’s more geared towards controlling the execution, viewing, copying, printing, and altering of works or devices. Although it is meant to provide restrictions for unlawful purposes, DRM often goes beyond its necessary boundaries. The use of DRM is pretty controversial, but several publishers argue that it’s necessary in order to prevent duplication of software and other illegal violations of intellectual property. Several complaints have been held about DRM violating users? personal rights, and many believe it to be a disaster to innovation, fair use, and competition. Today, the evolution of DRM in video games specifically can be seen in the new trend of always-on DRM, where gamers must maintain an internet connection even just to play single player (Diablo III, SimCity, among others are all culprits).
Congress, however, strongly backs DRM and continues pushing to create laws which requires DRM to be increasingly more present in new works (anyone remember SOPA and PIPA?). This type of legislation would give original publishers more power to restrict a user?s ability, and could easily step into the realm of breaching freedom of speech and innovation. Opponents of DRM often make fun of it by calling it ?Digital Restrictions Management,? as they claim there are hardly any rights involved.
The GNU General Public License (GPL) is the most widely used free software license which grants virtually unlimited rights to the user. The code of an open source program may be modified to create a new project for instance, a condition that proprietary ownership would never allow, and it must merely include somewhere in the project that it was ?based off? the original software. Developers that use the GNU GPL protect the user?s rights by asserting copyright on the software, and by offering the user this license and giving legal permission to copy, distribute and/or modify it. GPL is a copylefted licensing scheme, meaning that developers who do build off of an existing product that has a GPL license to create a new product are required to use the same licensing terms; this is in contrast to other popular free software licenses such as the BSD or MIT licenses, which are not copylefted.
As is common in free software licenses, there is no warranty under the GPL; this may seem like a big downfall, but it ultimately protects the publisher from unseen errors and circumstances in newer or modified versions of the software. The GPL refuses the use of patents, which many claim restrict development and create unnecessary fees for the use of software.
Overall, the practice of software licensing aims to be a pretty moral concept, even for proprietary licenses – after all, someone should get credit for writing software, even if it does instill restrictions upon the user. If software licensing were not enforced by publishers, profits could shift dramatically, which ruins the idea of building software in the first place for many people. Proprietary licensing schemes, however, are not always beneficial as mentioned above; some of them remain controversial and interfere too much with a user?s rights, especially nowadays with restrictions such as always-on DRM. Open source licensing schemes entail a much less restrictive air to them, and most users prefer them to proprietary licenses; what they lack, however, is any sort of warranty or guarantee that someone will fix your problem if you decide to use that piece of software. Both have their pros and cons – I think DRM gets a pretty bad wrap these days (and deservedly so in a lot of situations), but it makes a lot of sense for developers who want to make money off of their products. But if you’re building something that other people or developers can use and is for the general betterment of society, why not give it a free software license like the GPL?