Week 4: Understanding Software Licenses
This week I will be writing about software licensing and why I chose this topic. I chose to write about software licensing because I personally do not have much prior knowledge about the topic, so I thought that this would be an interesting (and useful) topic to learn about.
To start off, what is a software license? A software license is a legally binding contract between the software creators and the people who are using the software. The license specifies the conditions of using the software including how the user can use, modify, and distribute the technology and its source code.
Upon initial software usage, the end user usually signs an end-user licensing agreement, or EULA, to contractually agree to the terms stated by the license. Abiding by the EULA is important for both the end user and the developer.
Benefits for the developer:
Benefits for the user:
- Protects the developer’s rights
- Allows full control of the usage of the software
- Prevents users from performing undesired actions that may infringe on the terms of the license
- Clarifies how the software provider uses your private information
- Prevents the user from paying for unnecessary tools
- Keeps the user up-to-date on how the technology can be used
Different Types of Software Licenses (5)
- Public Domain – Allows anyone to use, modify, and distribute the software. The developers are essentially surrendering all rights they would have under copyright laws.
- Copyleft (Restrictive) – A type of open-source license stating that any future versions of the software must be open-source, or following the same copyright stipulations, like the source code.
- GNU Lesser General Public License (LGPL) – A weaker type of Copyleft where the user can modify the software, implement it into their own unique software, and license their software how they see fit.
- Permissive – Another type of open-source license, minimal amount of restrictions on what users can do with the software. However developers can protect their intellectual property by specifying some restrictions.
- Propriety – The most strict type for users, and the most protective towards developers. Users are not allowed to modify, copy, or distribute the software. Most used for commercial software.
The resource used was chosen because it was relatively short, yet concise by clearly explaining the basics to understanding software licensing. After reading this blog, I learned a lot as I did not know much about the major types of software licenses and that there are specific licenses that fall under each major type. Therefore the article had a positive impact on me. Because my career goal is to become a software developer, understanding what and how software licenses work will be crucial throughout my entire developer journey. I expect to apply the concepts learned in not only my professional career, but also in my personal life as an end user.
Resources:
Galano, Fernando. “Understanding Software Licensing.” BairesDev Blog: Insights on Software Development & Tech Talent, 22 Mar. 2022, http://www.bairesdev.com/blog/understanding-software-licensing/.
From the blog CS@Worcester – Zack's CS Blog by ztram1 and used with permission of the author. All other rights reserved by the author.