# ZenTao: a self-hosted PHP project management suite for teams that want product, project and QA in one place

> ZenTao is an AGPL or ZPL licensed PHP application that bundles product, project, QA and document management into a single self-hosted install. It suits teams that want the whole delivery process in one tool, and it is a poor fit if you want a small, single-purpose tracker.

**easysoft/zentaopms** — Zentao is an agile(scrum) project management system/tool, Free Upgrade Forever!​

- Repository: https://github.com/easysoft/zentaopms
- Website: http://www.zentao.pm
- Stars: 1,694 · Forks: 408
- Language: PHP
- License: NOASSERTION
- Published: 2026-09-10 · Updated: 2026-09-10 · Language: en
- Canonical page: https://hysenlabs.com/projects/easysoft-zentaopms

## What ZenTao solves, and who it is built for

Most issue trackers model one thing: a ticket. ZenTao models a process. The README describes it as covering the main project management process, from product and project management to quality management, documentation management, organization management and office management. That breadth is the point. A product owner writes requirements as stories, those stories are broken into tasks, and testers file bugs against the same objects. The README states that ZenTao defines product, project and QA as separate concepts so that product owners, developers and testers can coordinate while keeping separate functionality.

The audience follows from that. This is for a team that already has a delivery process with named roles and wants one system of record instead of three. The README says the built-in Scrum model suits rapid iterations, the Waterfall model suits projects defined in advance with fewer changes, and the Kanban model suits teams with a transparent process and fast information flow. If your team has no such process yet, ZenTao will not invent one for you; it will expose the gaps.

It is explicitly not a small tool. The README positions ZenTao Biz, ZenTao Max and ZenTao Cloud above the open source edition, with the open source edition as the base. If you need operations management, OA functions, feedback management or document versioning, the README points those at the paid editions rather than the repository you are looking at.

## How the pieces fit: modules, framework and the roadrunner directory

The repository layout tells you more about the architecture than the README does. The top level holds module/, framework/, lib/, config/, db/, api/, sdk/, www/, bin/ and roadrunner/ alongside a Makefile and a Caddyfile. This is a classic PHP application structure: module/ holds the feature code, framework/ holds the application framework, www/ is the web root, and db/ carries the schema and migration material. A Caddyfile at the top level indicates the project supports serving the application through Caddy rather than only through a bundled web server.

The build is not a simple copy. The Makefile assembles a release by copying api, bin, config, db, doc, framework, lib, module, extension, sdk, roadrunner and www into a zentaopms directory, then deleting files that should not ship: config/my.php is removed, and large parts of lib/vendor are stripped out. The Makefile also reads VERSION and pulls component versions (xuanxuan, blocksuite, whiteboard) from ci.json with jq. That means a reproducible build from source depends on jq being present and on those keys existing in ci.json.

The api/ and sdk/ directories, together with the roadrunner/ directory, are the interesting part for anyone integrating rather than clicking. They suggest the application is meant to be driven by more than a browser session. The README does not document the API surface, so treat that as something to inspect in the repository rather than something the project promises in prose.

## Installing ZenTao and running a first project

The README does not contain install steps. It points to the official website, the manual at zentao.pm/book, and a demo instance. The repository itself gives you the shape of a source build through the Makefile, which is the closest thing to documented build instructions available here.

A source build starts by assembling the release tree. This copies the runtime directories into zentaopms/ and strips config/my.php, which is the file you will create during setup:

```bash
make common
```

The all target runs clean first and then ci, so a full build from a clean checkout is:

```bash
make all
```

Because the Makefile derives versions with jq, the tool has to be on the path before either target will work:

```bash
jq -r .pkg.xuanxuan.version < ci.json
```

For anyone who does not want to build PHP from a Makefile, the README lists a demo instance at demo15.zentao.pm and the project publishes release packages named like zentaopms_21.7.1_20250529. The README does not describe a Docker install, so if you want containers, check the repository and the manual rather than assuming a supported image exists.

After install, the first real use is the flow the README describes: create a product, add a story to it, break the story into tasks, and let testers file bugs against the same story. That is the loop the three-role split exists to support.

## Where ZenTao gets in the way

The licence is the first constraint, and it is not a small one. The README says ZenTao is licensed under AGPL and ZPL, and the repository ships both LICENSE.CN and LICENSE.EN. AGPL carries obligations that matter if you modify the software and expose it over a network. The README does not explain how the two licences interact, and the repository metadata reports the licence as NOASSERTION. If you plan to embed ZenTao in a product or offer it as a service, that ambiguity is something to resolve before you build on it, not after.

PHP version support is another boundary. The README badge states PHP >= 5.6. Supporting an old floor is good for compatibility and bad for everything else: it constrains which libraries can be used and keeps the codebase compatible with runtimes that no longer receive security fixes. Running ZenTao on a modern PHP version is a choice you make, not one the project makes for you.

The breadth is also the failure mode. A team that only needs a bug tracker will spend more time configuring ZenTao's product, project and QA concepts than it saves. The same applies to a team without a defined process: the Waterfall, Scrum and Kanban models are built in, but the README presents them as models the software supports, not as defaults it enforces. Someone has to decide which one you are running.

Finally, the open source edition is deliberately positioned below ZenTao Biz and ZenTao Max. The README lists operations management, OA management, feedback management, document version management and online preview as Biz features, and process control, project measurement, risk management and CMMI support as Max features. If those are requirements, the open source repository is the wrong starting point.

## ZenTao against Jira and Tuleap

Jira is the comparison most people reach for, and the difference is structural rather than feature-by-feature. Jira is a general issue tracker that you shape into a process through workflows, fields and add-ons. ZenTao ships the process. Product, project and QA are first-class objects in the data model, and the Scrum, Waterfall and Kanban models are built in rather than assembled. The practical consequence: less configuration to reach a working process, less freedom when your process does not match one of the three.

Tuleap is the closer comparison in kind. It is also an open source, self-hosted application that bundles several disciplines rather than one, and it also expects you to run the server. The difference in approach is the stack and the emphasis. ZenTao is PHP with a Makefile-driven release build and a module/ directory of features; Tuleap is a larger platform with its own set of bundled tools. Both ask the same question of you: do you want one system that covers the whole delivery cycle, or several smaller tools that each do one thing well.

There is also a version question. ZenTao's own README splits the product into Open Source, Biz, Max and Cloud. Comparing ZenTao to Jira or Tuleap is really comparing the open source edition to them, because that is what the repository contains. The Biz and Max feature lists in the README are a reminder that some of what you might expect from a mature commercial tracker lives outside this codebase.

## Maintenance, release cadence and upgrade cost

The repository is not archived, and the last push was on 2026-08-21. The most recent release listed is zentaopms_21.7.1_20250529 from 2025-05-29, preceded by 21.5 on 2025-03-12 and 21.4 on 2025-01-17. Those dates describe a project that ships on a roughly quarterly cadence for tagged releases, with commits landing between them.

Upgrading is the cost you should budget for. The Makefile builds a release by copying a fixed list of directories and deleting files that should not ship, including config/my.php. Any local modification you make inside module/, framework/ or lib/ sits in the path of that copy, and the Makefile's cleanup steps remove vendor subdirectories by name. If you patch the source, you own the merge on every upgrade. If you extend through extension/, you are on the path the build preserves.

The licence implications follow from the same file. The README names AGPL and ZPL, the repository carries LICENSE.CN and LICENSE.EN, and the GitHub metadata reports NOASSERTION. AGPL and ZPL are not equivalent in what they require of a redistributor or of someone running a modified version as a network service, and the README does not reconcile them. That is a question for your own counsel, not for this article, but it is a question you should answer before you fork.

## Conclusion

Adopt ZenTao if you run a delivery process with distinct product, project and QA roles and you are willing to maintain a PHP stack yourself. Do not adopt it if you want a lightweight issue tracker or a managed SaaS with no server to look after. Before committing, verify the licence terms that apply to your distribution (the repository ships LICENSE.CN and LICENSE.EN and the README names AGPL and ZPL), and check the release you plan to run against the 21.7.1 package from 2025-05-29. The last push to the repository was on 2026-08-21.

## FAQ

### What is ZenTao?

ZenTao is an open source project management application written in PHP. The README describes it as covering product management, project management, quality management, documentation management, organization management and office management, with built-in Scrum, Waterfall and Kanban models.

### How do I download and install ZenTao?

The README does not give install steps; it links to the manual at zentao.pm/book and to demo instances. Release packages are named like zentaopms_21.7.1_20250529, and a source build is assembled with the Makefile targets make common or make all.

### Does ZenTao have a Docker image?

The README does not document a Docker install, and the repository's top level carries a Caddyfile rather than a Dockerfile for the application itself. Check the manual and the repository before assuming a supported container image exists.

### What licence is ZenTao released under?

The README states ZenTao is licensed under AGPL and ZPL, and the repository ships LICENSE.CN and LICENSE.EN. The repository metadata reports the licence as NOASSERTION, and the README does not explain how the two licences relate.

### Which PHP version does ZenTao require?

The badge in the README states PHP >= 5.6. That is the only version requirement the README gives.

## Sources

- [easysoft/zentaopms on GitHub](https://github.com/easysoft/zentaopms)
- [Issues](https://github.com/easysoft/zentaopms/issues)
- [Project website](http://www.zentao.pm)
- [README](https://github.com/easysoft/zentaopms/blob/main/README.md)
- [Releases](https://github.com/easysoft/zentaopms/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/easysoft-zentaopms
