Dirk Riehle's Industry and Research Publications

End-users and distributors

In open source licenses, there are two types of users: End-users and distributors.

  1. End-users. An end-user of an open-source software receives the software but does not pass it on. They are the final element in a chain of receiving and passing on the software.
  2. Distributors. A distributor of an open-source software receives the software and also passes it on to third parties. They are the intermediate elements in the chain of receiving and passing on the software.

This distinction has an important consequence. There are typically no license obligations for an end-user. All the obligations are put upon the distributor, who provides the software to a third party, for example, a customer. Only a distributor has to worry about provision of legal notices, the copyleft obligation, or indemnification.

The terms end-user and distributor don’t show up in the license texts, however, they are commonly used to describe the two situations laid out in the licenses. Almost all licenses distinguish between a situation, where the recipient of an open-source software uses it for themselves (end-user) and a situation, where the recipient of the open-source software passes the software on to third parties (distributor).

Companies often explain this distinction as open source use cases to their employees so that it becomes easier to identify whether the open-source software will be distributed and whether the corresponding license obligations kick in.

A person or company is an end-user, if the software is not passed on further, for example:

  • In-house use of the open-source software, for example, editing documents using LibreOffice or compiling source code using gcc.
  • Demonstration of sales prototypes that include open source components, as long as the demo code isn’t given to third parties.
  • Operation of open-source software as a cloud service, as long as the open source code doesn’t leave the (public or private) cloud.

If a person or company distributes code to third-parties, they are a distributor. Examples are:

  • Provision of a software to be deployed on-premise, including traditional laptop or workstation applications, mobile apps, etc. to customer or other third parties.
  • Provision of website code that gets downloaded into a user’s browser (mostly Javascript, HTML, CSS), if that user is a customer or other third party.
  • Provision of container images, including in recipe form (for example, Dockerfiles) and through registries, to customers or other third parties.

Open-source software can be an application, for stand-alone use, or a component, for incorporation into a product. People or companies who use an application for their own purposes are obviously end-users. Companies who include open-source components in a product they sell are obviously distributors.

People and companies can both be end-users or distributors.