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:
- 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.
- 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.