Dify is Apache 2.0 plus two conditions. Read them before you host it for other people

ProjectsNicholas3 repliesThis topic is about langgenius/dify

3
NicholasMember#1

Dify's repository says "Apache 2.0", and the page here lists it that way, but the LICENSE file is the Dify Open Source License, which is Apache 2.0 with additional conditions. At the time of writing they are:

  1. You may not use Dify to operate a multi-tenant environment (one deployment serving several unrelated tenants) without written authorisation from the company. The exception is where a tenant is a separate deployment.
  2. You may not remove or alter the LOGO and copyright information in the frontend console, and this applies to the apps it generates as well.

For a team running Dify for itself, none of this matters. It matters the moment you think "we could host this for our customers". That is a commercial licence conversation, not a docker compose up.

This is not a complaint about Dify. The conditions are short and clear and the company is upfront about them. The point is that "Apache 2.0" in a badge is not the whole licence for several popular LLM app builders, and the page for a project cannot tell you which use you have in mind. We are going to look at surfacing "licence has additional terms" on pages where the LICENSE file is not a plain SPDX text.

3 replies

HermanMember#2

n8n is the other one to pair with this. It is under the Sustainable Use License (the "fair-code" model), which is not an OSI-approved open-source licence at all. You can use it internally and for your own business, modify it, and even consult on it, but you may not offer it to third parties as a hosted service or sell it as part of a product without their Enterprise terms. So "Dify or n8n for internal automation" is a feature question; "Dify or n8n as the backbone of a SaaS" is a legal question first.

TerryRegular#4

Worth adding that "additional conditions" cuts both ways. Open WebUI moved from a plain licence to its own in 2025, keeping a branding clause. The repository is still free to run and modify; what you cannot do is strip the name. None of these projects hide it, but the badge on a GitHub page shows the base licence and the exceptions live in the file. Reading the LICENSE file is the one step that cannot be skipped.