DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»

DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» is a community of 966,155 amazing developers

We're a place where coders share, stay up-to-date and grow their careers.

Create account Log in
Cover image for Software Licensing
Mihindu Ranasinghe
Mihindu Ranasinghe

Posted on • Updated on

Software Licensing

A software license is a document that provides legally binding guidelines for the use and distribution of software.
Software licenses typically provide end users with the right to one or more copies of the software without violating copyrights. The license also defines the responsibilities of the parties entering into the license agreement and may impose restrictions on how the software can be used. Software licensing terms and conditions usually include fair use of the software, the limitations of liability, warranties and disclaimers and protections if the software or its use infringes on the intellectual property rights of others.

Alt Text

Why Software Licensing Is Important

Businesses must be savvy in the licenses they purchase to ensure firstly they are using software legally and secondly, they aren't paying for licenses that aren't being used. By acquiring too many software licenses you're wasting company resources, without enough you leave yourself liable to a potential lawsuit (which is quite costly). Finding the right license agreement can also make it easier to manage software in your company.

Ownership vs. licensing

Many proprietary or open source software houses sell the SW copy with a license to use it. There isn't any transferring of ownership of the good to the user, which hasn't the warranty of a for life availability of the software, nor isn't entitled to sell, rent, give it to someone, copy or redistribute it on the Web.

License terms and conditions may specify further legal clauses that users can't negotiate individually or by way of a consumer organization, and can uniquely accept or refuse, returning the product back to the vendor. This right can be effectively applied where the jurisdiction provides a mandatory time for the good decline right after the purchase (as in the European Union law), or a mandatory public advertisement of the license terms, so as to be made readable by users before their purchasing.

In the United States, Section 117 of the Copyright Act gives the owner of a particular copy of software the explicit right to use the software with a computer, even if use of the software with a computer requires the making of incidental copies or adaptations (acts which could otherwise potentially constitute copyright infringement). Therefore, the owner of a copy of computer software is legally entitled to use that copy of software. Hence, if the end-user of software is the owner of the respective copy, then the end-user may legally use the software without a license from the software publisher.

The ownership of digital goods, like software applications and video games, is challenged by "licensed, not sold" EULAs of digital distributors like Steam. In the European Union, the European Court of Justice held that a copyright holder cannot oppose the resale of a digitally sold software, in accordance with the rule of copyright exhaustion on first sale as ownership is transferred, and questions therefore the "licensed, not sold" EULA. The Swiss-based company UsedSoft innovated the resale of business software and fought for this right in court. In Europe, EU Directive 2009/24/EC expressly permits trading used computer programs

Alt Text

Methods for Licensing Software

An end-user license agreement (EULA) is one approach vendors can take to license their software. This is a contract between the licensor and purchaser, establishing the purchaser's right to use the software. The contract may include the different ways the software can be used as well as any rights the buyer has obtained by purchasing the software. This is one of the more basic and commonly used ways to license software.

If you're using SaaS and as a result your applications are cloud based, the software license is usually subscription based. That is, you will pay for each user on a monthly (or some other period) basis. This type of software license offers greater flexibility. It is also beneficial in that you only pay for what you need " allowing you to scale your business without repercussions.

There's also the question of whether you can re-sell your software license if you're no longer using it. There is no black and white answer to this question. The answer can generally be found in the EULA. From a legal standpoint there may be question marks over the enforceability of EULA's given to users after they purchased the software given they weren't aware of these conditions at the time the contract was formed. However I will not go into depth about questions of law.

Another method of licensing software is by white labelling it. This is where a product is created by one company and then re-branded by another company. As a result, the software/product belongs to the company that created it. There is a software license in place which permits the company benefiting from the white label to use the software.

Different types of software licenses require you to meet certain obligations if you want to reuse the code.

Here are 5 common types of software licenses.

If you write code, you also reuse code, including code snippets, libraries, functions, frameworks, and entire applications. All software code comes with certain rights and obligations if you want to add it to your codebase. Free and open source software (FOSS) is free of cost, but you aren’t free to use it as you wish. Even unlicensed code snippets copied from Stack Overflow have obligations for reuse. But formally developed code usually comes with a specific software license.

There are many different types of software licenses, and the penalties for license noncompliance can be harsh. If you reuse a component without following the obligations of its license, the licensor might sue, and you might be forced to publish your own source code. To protect your code and your organization, you need to understand these software licenses before using any code, including libraries and frameworks, you didn’t write yourself. See our list of the top open source licenses and their potential legal risks.

Public domain.

This is the most permissive type of software license. When software is in the public domain, anyone can modify and use the software without any restrictions. But you should always make sure it’s secure before adding it to your own codebase.

Warning:

Code that doesn’t have an explicit license is NOT automatically in the public domain. This includes code snippets you find on the internet.

Permissive.

Permissive licenses are also known as β€œApache style” or β€œBSD style.” They contain minimal requirements about how the software can be modified or redistributed. This type of software license is perhaps the most popular license used with free and open source software. Aside from the Apache License and the BSD License, another common variant is the MIT License.

LGPL.

The GNU Lesser General Public License allows you to link to open source libraries in your software. If you simply compile or link an LGPL-licensed library with your own code, you can release your application under any license you want, even a proprietary license. But if you modify the library or copy parts of it into your code, you’ll have to release your application under similar terms as the LGPL.

Copyleft.

Copyleft licenses are also known as reciprocal licenses or restrictive licenses. The most well-known example of a copyleft or reciprocal license is the GPL. These licenses allow you to modify the licensed code and distribute new works based on it, as long as you distribute any new works or adaptations under the same software license.
For example, a component’s license might say the work is free to use and distribute for personal use only. So any derivative you create would also be limited to personal use only. (A derivative is any new software you develop that contains the component.)

The catch here is that the users of your software would also have the right to modify the code. Therefore, you’d have to make your own source code available. But of course, exposing your source code may not be in your best interests.

Proprietary.

This is the most restrictive. The idea behind it is that all rights are reserved. It’s generally used for proprietary software where the work may not be modified or redistributed.

Alt Text

How Does Licensing Work On The WorkingMouse Platform

The License Agreement between WorkingMouse and our customers gives them access to use the platform for developing and maintaining their software application(s). It allows customers to issue support tickets to WorkingMouse for assistance with server administration, bug fixing and minor enhancements. The license ensures WorkingMouse can support customers as they embark on their journey.

WorkingMouse also offers an innovation platform which is used by multiple businesses. Since all these businesses use the same underlying platform they will all feel the benefit of improvements. For this reason, a business that starts using the platform will feel many benefits immediately, e.g. a mobile-app can operate in an offline/online mode and re-sync with the server as required. Everyone gets the capability as it's built into the platform. If a company did not want to share a new capability it is possible to fork the code base and they could continue on their own branch.

However, this would mean they would then not receive any more benefits from being inside the business collective hence the innovation process slows down.

πŸ‘‰ Visit me - https://mihinduranasinghe.com/

Top comments (0)

🌚 Friends don't let friends browse without dark mode.

Sorry, it's true.