• 0


Category : Uncategorized

Brief introduction

Copyright holders decide how to manage their exploitation rights through copyright licenses. Licenses work on top of copyright law, and are interpreted by judges under different jurisdictions, and different applicable laws. As copyright is very rigid, copyright holders can make it more flexible through licenses.

However, most generic-purpose licenses are not flexible, and this does not help Creators with specific needs for their products. When Generic-purpose licenses don’t reach the particular needs of makers, customization is a most. Can we synchronize customization with the Open source Software and P2P production principles? Sure we can. Our answer is POLYMORPHIC LICENSES.


The main purpose of a copyright license is functional. A copyright license is a legal tool used to decide the permissions and conditions for the exploitation of protected works. You can decide about the right to use, the right to distribute, the right of public communication, the right to create derivative works, combined works, and so on.

Beyond this functional nature of a copyright license, generic-purpose public licenses have helped to create an open world, in many domains such as software, culture, literature, databases, music, 3d-models, and so on. Generic purpose licenses have been the legal representation of some philosophies, and copyright initiatives. Some of the most relevant are: The 4 free software freedoms definition (FSF), the open source software initiative, the free culture definition, and the copyfree initiative.

Until now, you have chosen a generic-purpose public license if it fits to your own needs or perhaps philosophically. However, most of them are not flexible to customization. As emergent technologies appear, sometimes situations are very specific, and customization is a must.

Polymorphic licenses don’t aim to compete with well established initiatives or philosophies, instead, they will provide makers the possibility of taking the best out of such open movements, and reach the particular goals of their production through customization.

What is a polymorphic license?

In programming, “polySmorphism is the provision of a single interface to entities of different types1. Let’s see an example in cpp code:

class Production {

virtual string type() = 0;


class Production_Music: public Production{

string type() {return (“

Commercial uses that require permission for exploiting this work are: Publicity, Movie soundtracks.

Time of permission: 1 year.

Compensation: $100 or equivalent in BTC

Royalties: I collect my own royalties from live shows.”);}


class Production_Drone-models: public Production{

string type() {return (“

Commercial uses that require permission for exploiting this work are: Anyone who sells drones built with these models.

Time of permission: undefinite.

Compensation: 10 built drones with the model for the copyright holders”);}


This is a very powerful object oriented programming concept, because it allows us to write a single interface, but produce different results. Thus, polymorphism is an excellent methodology for license customization. Let’s analyze the previous cpp example:

1. The class Production. This may be any generic-purpose copyright license if it allows different options. The Production License.

2. The subclass Production_Music. It inherits all clauses from the Production License, but with some environmental variables that are specific to music.

The copyright holder decides that only Publicity and Movie soundtracks are commercial uses that must pay a compensation, and the authorization lasts 1 year. Furthermore, he decides to collect his own royalties only from live shows.

3. The subclass Production_Drone-Models. It also inherits all clauses from the Production_Generic_License, but with a different focus. It requires some of the built drones in return.

How does it work?

Method: Licenses would be generated by an open source software called LTK (License-Tool-Kit). Copyright holders may generate their customized licenses using LTK, or by using their own tools.

Authenticity: The license’s output must come in more than one format. The md5 and sha1 hashes will be automatically generated. This will avoid license spoofing.

Reliability: The copyright holder(s) will keep their own customized license in their own server, website, or within the products. However, we will also set up a registry of polymorphic licenses with their correspondent hashes.

Current projects that may implement it

The polimorphic licenses methodology is currently developed by the FOSS lawyers legal community. But we want to promote the polymorphic license methodology to FOSS and P2P projects.

Currently we are working on two generic-purpose licensing projects:

– Common based reciprocity licenses (Copyfair).

– Ubiquitous commons.