Software Licensing

Software licensing describes the legal rights pertaining to the authorized use of digital material. Failure to adhere to software license agreement terms often incurs criminal charges related to licensed intellectual property (IP) and copyrighted material.

Free and open-source licenses include free software with no monetary usage charge, but users, or licensees, are legally required to abide by agreement terms. Generally purchased software is sold with proprietary licenses, and despite much legal jargon, many license term particulars have no legal basis or are unenforceable.

Some forms of licensing, such as the General Public License (GPL), permit licensees to sell software or digital products. Proprietary licenses are obtained through End User License Agreements (EULA). Without a software licensing agreement, the licensee is strictly prohibited from using licensable media.

Free or open-source licenses do not always require signed agreements. However, if a licensee or owner skips this option, the licensee may not realize all open source licensing benefits because an agreement is usually required to redistribute free or open-source copyrighted material.

With proprietary software, the original copyright owner maintains ownership. By granting a license, which is not always legally binding, the copyright owner is more or less renting or leasing copyrighted materials to licensees.

What Is a Software License?

A software license is a legally binding agreement made between the owner or developer of a software program and the user, outlining how they can use and distribute the product. In this document, the responsibilities of each party are clearly defined, preventing and protecting the developer from infringement of copyright law. Typically, the software license addresses things like:

  • If the user can view the underlying source code
  • If the user can copy, alter, or redistribute the program
  • Where the program can be installed and how frequently

Software Licenses Types

Open-source software

In this type of software, the source code of the software is provided with the software to the end-user. The end-user can view, edit and modify the source code. The user can also redistribute the modified version of the software. There are different models of open source licenses offering more or less freedom of redistribution rights.

· Public domain: This is the most flexible license. It grants almost all rights to the end-user. The end-user can modify and redistribute the modified code without any restrictions. The end-user can redistribute the modified code under his license.

· Permissive: In the flexibility, this license type stands on the second number. Besides the redistribution right, this license also grants all rights to the end-user. The end-user can view and modify the source code. The end-user can also redistribute the modified code but under the same license type. To redistribute the modified code, the end-user cannot use the different license types.

· Copyleft or Restrictive: In the flexibility, this license stands on the third number. It adds an additional restriction on redistribution. This license does not allow the end-user to modify the original license. To redistribute the modified code, the end-user has to use the original license. Besides the redistribution right, this license does not put any other restriction on the source code.

· GNU/LGPL: This license allows the end-user to link or use open source libraries in his project or software. If the end-user only links open source libraries, the end-user can release his project under any license type. But if the end-user copies the open-source libraries in his project, the end-user has to release his project under the same GNU license.

· Creative Commons Software: This license model allows the publishers or developers of the software to decide what rights they want to reserve and what rights they want to grant the end-users. This license type uses the simplest form of terms and conditions. This license type is mostly used by the publishers who want to release their project or software application under an open-source license but at the same time also want to reserve some rights.

Proprietary software

In this type of software, ownership of the software remains with the software publisher. The software publisher neither shares nor allows the end-user to view and modify the source code of the software. The publisher only grants the use of one or more copies of software under a license agreement, known as EULA (End User License Agreement). A EULA contains the terms and conditions that define what the user can and cannot do. To use the software, the end-user must accept the EULA of the software.

To create a EULA, the software publisher can use a pre-defined licensing model or can create a custom license for the software.

· Perpetual License: In this model, a version of the software application is sold on a one-time payment basis. A user can use the purchased version of the software application forever. The user gets updates and patches for the purchased version till the last date of the support cycle of the purchased version. However, this license does not include the subsequent versions of the software. If the user wants to use the next version of the software, he has to purchase it separately. For example, you purchased Windows7, you will get all updates and patches of Windows7, but you will not get any access to Windows10. If you want to use Windows10, you have to purchase its license separately.

· Floating License: In this model, a license is used to define the number of users who can use the software application simultaneously. This license works on a “first come first served basis”. Once all defined licenses are used, no additional user is allowed to access the application. If an additional user wants to use the application, either he has to purchase an additional license or has to request a license holder user to release his license. Let take an example. Suppose a company has 10 users. The company purchased a software application with 5 floating licenses. Now, any 5 users can use the application at a time. The company can rotate users in the pool. For example, it can exclude a user to include another user but it can’t include more than five users at a time.

· Subscription License: A license is used to define the time frame in which the user is allowed to use the software application. The time frame could be 7 days (a weekly subscription), 30 days (a monthly subscription), 365 days (a yearly subscription), or a custom duration. Once the subscription period is expired, the user has to renew the subscription. Netflix and Amazon prime are examples of subscription-based services.

· Metered License: A license is used to provide access to certain features of the application. The user can access only the allowed feature of the application. For example, this license can be used to define the number of allowed login sessions, the number of files that can be created or accessed, etc.

· Use-time license: In this model, a license is used to provide time-based access to the application. The license expires after a specific time duration. Once the license is expired, the user is not allowed to access the application. To access the application again, the user has to renew the license. Usually, the application notifies the user ahead of time that the license will expire soon. Notifications help the user to renew the license before it expires.

· Feature license: The software vendor uses this license to control the features of the software that the end-user can use. This license is also used to limit the number of times a specific feature can use.

· Trial license: In this model, a license is used to allow access to all features or certain features of the application software for a specific time duration. During this period, a user can test the application. If the user wants to use the application after the trial, he has to purchase a regular license.

· Academic License: Software companies use this type of license to provide their software to students or engineers free of cost or at a minimal cost for educational or learning purposes. The main idea behind this marketing stagey is that if a student becomes familiar with an application during his academic courses, he is more likely to use the same application during his job.

Software Copyright Laws

Computer software, more specifically the program code, is protected by copyright as a “literary work”. There may also be other types of copyright work associated with some computer software. For example, graphical user interfaces or elements of them may be protected as artistic works, some animated graphical sequences might be considered as ‘films’, and music associated with the software may be copyright work. Database rights can also play a significant role in protecting computer programs.

The copyright in a computer program is not only infringed by taking a direct copy of the code but also by versions of the program re-written or otherwise converted into another computer language, these being considered infringing “ adaptations” of the original work. When you run a program on a computer there is normally some copying of the program within your computer’s memory, so a copyright license is needed.

Particularly where there is no direct copying of code, line for line, it can be difficult to prove that copying has actually occurred. One way of trying to make copying easier to detect is to include redundant code or program components in amongst the real code. If an alleged copy includes the same redundant program components, even if they are not lined for line copies, it can provide a very strong inference that copying has occurred. This is a complex and evolving area of law.

Software Ownership Vs Licensing

The owner of the software remains the person or entity that holds the copyright, giving them the sole legal authority power to sell, distribute, copy and/or change the content of the software. And unless the person or organization transfers ownership rights, the rights remain with the owner no matter how many times the owner legally distributes the software.

When a user either purchases software or free downloads software from the Internet, the user is not buying the ownership rights to the software but a license to use the software according to the licensing agreement, or EULA. The EULA is a legal agreement between the two parties and is legally actionable if either party violates the terms of the agreement. While no two EULAs are exactly the same, a typical EULA, whether it comes in the boxed software from user’s local computer store or attached to an Internet download of an application, states that the person or organization licensing the software is granted permission to use the software and almost nothing else. This ensures that the software cannot be copied and sold by anyone, nor can the fundamental programming of the software be changed to alter the performance of the application. The licensing agreement also protects the end user from any legal liabilities incurred by the owner of the software s copyright. Typically, software that can be used by both individuals and organizations has different licensing agreements that cover different issues.

Hope you enjoyed the article!




Software Engineering Undergraduate at University of Kelaniya

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Uses For Abstract Classes In Unity

Optimization of OpenGL ES vertex data

Test visualization of normals on Buddha model

GCC: The Process to Help You Toward Success!

Building Event Driven micro Services with Kafka and Shedlock Job scheduler

synthetic cubic zirc

10 superpowers HTML5 gives you (and you are not using)

Did I ever tell you the definition of Go-Live?

{UPDATE} Malbuch Malbuch ängstlich kompliziert ausmalbild Hack Free Resources Generator

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Pubudu Wickramathunge

Pubudu Wickramathunge

Software Engineering Undergraduate at University of Kelaniya

More from Medium

Meet the Kambrian — Eduardo

ClearScore Tech Radar 2022

How Many Threads is Too Many?

5 things every pull request should have. Little thoughts from my experience.