Author Archives: Petraq Mele

Beginners guide to Software Licensing

by Petraq Mele

Hello to all reading this blog today, the topic this time is software licensing and its importance in the development of software. I began researching about it as I had very limited knowledge about it and its importance. I ended up reading a blog written by an experienced developer named Rahul Awati titled “What is a software license?”, and I ended up learning quite a lot about the importance of this topic.

Various icons representing software licensing concepts and principles.

So what exactly is Software Licensing?

Practically speaking software licensing is a document that provides legally binding guidelines for the use and distribution of software. You can think of all software licenses as essentially a contract between the developer(s) and its user(s). It outlines the rights between these two parties for a piece of software along with the terms and conditions. All software comes with a license/product key which is important for identity & verification.

Its fairly simple to license software. Legally you already have, as the author of your software, a natural right recognized by copyright laws. If you want to add anything else to a license many developers but it in a text file within their software packages. Some sources like choosealicense.com or www.gnu.org are useful for finding templates or examples.

Some things that you may find included in a license are:
– Basic information(Names, Contacts, Address)
– Charges
– Duration
– Distribution rules
– Terms of service/cancellation
– Governing law
– Maintenance
– Etc.

Types of software licenses:

A visual representation of the 5 approaches to software licensing, ranging from public domain to proprietary licenses.

A few software licenses include:
Free and open source(FOSS): Allow anyone to use software, and even to study, change or copy its source code.
Proprietary: Often referred to as “closed source”, this software has strict rules towards obtainability & alterations.
Public domain: Like open source but should be cautiously used by businesses as it might not meet their expectations.
Lesser general public: Developers can link to open source libraries within their software and use any licensing type for the code.
Permissive: Allows users to modify & distribute a piece of open source software but with some requirements for them as well as preservation of license notices, copyrights, or trademarks.
Copyleft: Open source as long as they make the modifications freely available. New products containing old code with a copyleft license must comply with the restrictions laid out in the old code’s license.

Why do we need licenses?

Licenses are important because of all the reasons we have outlined earlier. It helps protect both the developer & the user.

A few beneficial protections for developers include: Protection of intellectual property, ensuring control over their creation, limiting liability, & monetization of products.

As for the users, the benefits are: Prevents misuse/unintentional mistakes causing damage, protect from infringement claims/ liability, create positive relationship with other developers/users/vendors, & establish clear parameters of how many licenses an organization needs.

Based on these few protections you can see the importance of licensing. It keeps a professional structure towards the spread of software and encourages a just environment.

Final thoughts

Understanding software licensing is something each software developer should take the time to learn whether for their own personal gains, or as a way to safely use/produce software. Aside from the legal aspect of it, licensing is about respecting a developer and their work. As I mentioned earlier I want to give credit to Rahuls’ amazing blog as inspiration for mine. Be sure to read his blog if you want more insight on this topic.

From the blog Petraq Mele blog posts by Petraq Mele and used with permission of the author. All other rights reserved by the author.

Software Process Management Introduction

Petraq Mele

This is the blog where I will be posting things related to this course, I am excited to learn and write about this course in this semester.

From the blog Petraq Mele blog posts by Petraq Mele and used with permission of the author. All other rights reserved by the author.

Software Construction, Design, & Architecture Introduction

Petraq Mele

This is the first blog for this course, I am excited to learn everything it has to offer.

CS-343
CS-443
CS@Worcester

From the blog Petraq Mele blog posts by Petraq Mele and used with permission of the author. All other rights reserved by the author.

Introduction to Software Quality and Assurance

Author: Petraq Mele

Hello ladies, gentlemen, or whoever has stumbled across my blog and portfolio. This is my first experience creating this sort of thing and so I am hoping to learn how to be proficient in it. My blogs this semester will be mainly about a current class I am taking on Software Quality and Assurance where I hope to learn how to professionally make sure that any software that I am programming, whether myself or with a team, is able to be produced with quality.

A little about myself:
I am currently a Junior at Worcester State University studying a bachelors in Computer Science with a minor in Astronomy. I came to the US when I was around 2 years old from a city in Albania known as Korçë.

From the blog Petraq Mele by Petraq Mele and used with permission of the author. All other rights reserved by the author.