Open-source project
tensorflow/docs avatar
tensorflow/docs

tensorflow/docs: the source repository behind tensorflow.org, and what it does not do

TensorFlow documentation

6,331 stars5,315 forksJupyter NotebookApache-2.0

At a glance

What is it?
This is the content repository for the TensorFlow guide and tutorials, not the library and not a build system. Its value depends on whether you are changing documentation that gets published to tensorflow.org, and on a contribution path that runs through three separate documents and an external issue tracker.
Who is it for?
Adopt this repository only if you are editing documentation that ships to tensorflow.org: read CONTRIBUTING.md, the contributor guide and the style guide before opening a pull request, and note that the README routes docs issues to the tensorflow/tensorflow issue tracker rather than to this repo. If you want to run tutorials locally, or you want to fork the content as the basis of your own documentation site, this is the wrong starting point.
Can I use it commercially?
Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 68 days ago.
What is it written in?
Mainly Jupyter Notebook, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What problem tensorflow/docs actually solves

The README states plainly that these are the source files for the guide and tutorials on tensorflow.org. That sentence defines the scope of the repository and rules out most of what people assume it does. It is not the TensorFlow library, it is not a packaged documentation generator, and it does not ship a site you can install and browse. It is the content layer that the published site is built from.

The audience is therefore narrow and specific: people who want to change what a reader sees on tensorflow.org. That includes Google engineers and product teams documenting APIs, external contributors fixing an unclear paragraph or a broken code sample, and translators working through the separate docs-l10n repository. The topics list on the repository (deep-learning, documentation, machine-learning, tensorflow, tensorflow-examples, tensorflow-tutorials) describes the subject matter of the content, not a set of features the repository provides.

The primary language is listed as Jupyter Notebook, which matches the README's emphasis on tutorials: a large share of the content is executable notebook material rather than prose. That choice has consequences. Notebook diffs are harder to review than Markdown diffs, and output cells can carry stale results into a published page if they are not cleared. Anyone planning to contribute should expect notebook review to be slower and more mechanical than editing a paragraph.

The contribution path runs through three documents and another repository

The README does not describe a build step, a preview command, or a local server. What it describes is process. Contributors are pointed at CONTRIBUTING.md, at the TensorFlow docs contributor guide on tensorflow.org, and at the style guide, in that order. Those three documents, not the repository itself, are where the actual rules live.

One routing detail matters more than it looks. To file a docs issue, the README sends you to the tensorflow/tensorflow repository and specifically to its documentation issue template. The issue tracker for tensorflow/docs is not where documentation bugs are collected. If you open an issue here expecting it to be triaged as a documentation defect, you are in the wrong queue. The README also directs contributors to the TensorFlow Forum at discuss.tensorflow.org for discussion, so the repository is one node in a set of channels rather than the centre of them.

Nothing in the supplied material confirms how the site is generated from these sources, what tooling consumes the notebooks, or how a preview is produced before merge. That information may exist in CONTRIBUTING.md or the contributor guide, but it is not in the README, and it should not be assumed.

Translations live in a different repository with a different maintenance promise

The README is explicit that community translations are located in tensorflow/docs-l10n, and that those docs are contributed, reviewed and maintained by the community as best-effort. That word choice is doing real work. It is a statement about service level, and it means a translated page can lag the English source without that being treated as a defect in this repository.

For a translator or reviewer, the README gives a concrete entry point: read the site/<lang>/README.md for your language, join the language mailing list, and submit a pull request. That is the full documented path. There is no described synchronisation mechanism, no stated cadence for pulling English changes into a translation, and no tooling mentioned for detecting drift between the two repositories.

If you are evaluating this project because you want documentation in a language other than English, the practical consequence is that your work happens in docs-l10n, and the quality guarantee you are inheriting is the one the README names: best-effort. Plan for that rather than against it. A translation that is reviewed by two people and updated when someone has time is a different artifact from a translation with a release process behind it.

Licensing: Apache-2.0 on the content, and what that does not settle

The repository carries the Apache License 2.0, and the README links to the LICENSE file. For a documentation repository, the licence question people usually ask is whether they can reuse the prose and code samples in their own material. Apache-2.0 is a permissive licence that permits reuse and modification, and it includes an explicit patent grant and a requirement to preserve notices. That is the general shape of the licence, not advice about your situation.

What the supplied material does not resolve is the interaction between the licence on this repository and the trademarks and branding around TensorFlow itself. A permissive content licence does not automatically grant rights to use project marks, and the README says nothing about that. If you intend to republish substantial portions of these tutorials under your own brand, the licence text is where you start, not where you finish.

The release history is worth noting for a different reason. The only listed release is 2023.5.24.56664, marked as a first release and dated 2023-05-25, while the last push to the default branch is dated 2026-07-09. Those two facts together suggest the release tags are not the mechanism by which this content is versioned or delivered. Treating a release tag here as a stable snapshot would be a mistake.

Where this repository is the wrong tool

If you want to read or run TensorFlow tutorials, you do not need this repository. The README points at tensorflow.org for the published guide and tutorials, and that is the intended consumption path. Cloning the sources to read them adds friction: you get notebooks without the site's navigation, and you get whatever state the default branch is in rather than a reviewed page.

The second failure mode is subtler. Teams sometimes fork a documentation repository like this to bootstrap their own docs site, on the assumption that the content is the hard part. Here the content is bound to a specific publication target and a specific contributor process, and the README describes no reusable build pipeline you could point at your own domain. You would be inheriting prose and notebooks while leaving behind the only thing that makes them coherent: the style guide, the contributor guide, and the review process that keep them consistent.

The third case is contribution volume. Because a large share of the material is Jupyter Notebook, a contributor whose change touches many notebooks faces review overhead that scales with cell output and diff noise, not with the size of the actual edit. For a one-line correction that is fine. For a restructuring of several tutorials, budget accordingly.

The realistic alternative, and the actual difference

The obvious alternative for anyone who wants TensorFlow documentation is the published site at tensorflow.org. The difference is not cosmetic. The site is the reviewed, assembled artifact; this repository is the input to it, including work in progress and content not yet published. Choosing the site means you get a stable reading experience with no clone, no notebook environment, and no ambiguity about which revision you are looking at. Choosing the repository means you get the sources and the ability to change them, at the cost of owning the review process.

There is a second alternative worth naming for the translation case: tensorflow/docs-l10n. If your goal is localized documentation, that repository, not this one, is where the work happens, and the README's description of it as best-effort is the key difference in approach. Same project, same subject matter, different repository and a weaker maintenance guarantee.

Both alternatives share a property this repository does not: they are destinations. tensorflow/docs is a staging area with rules attached. If you are not prepared to follow those rules, one of the destinations is the better choice.

Who should adopt it, and what to check before the first pull request

Adopt tensorflow/docs if you have a concrete change to make to the guide or tutorials that appear on tensorflow.org, and you are willing to work through the contributor guide and style guide first. That is the whole case for it. The repository is active (the last push is recent) and unarchived, so contributions are not going into a dead tree.

Do not adopt it if you want to consume TensorFlow documentation, if you want a reusable docs pipeline, or if your actual target is a non-English audience. In the first case read tensorflow.org. In the second, the README offers nothing to build on. In the third, go to tensorflow/docs-l10n and read the site/<lang>/README.md for your language.

Before your first pull request, verify three things from the material itself: that your change belongs in this repository rather than docs-l10n, that you have read CONTRIBUTING.md, the contributor guide and the style guide, and that any issue you want to file goes to the tensorflow/tensorflow documentation issue template rather than to this repository's tracker. Those three checks cover the routing mistakes the README is written to prevent. Beyond them, the README does not tell you how a change is previewed or how long review takes, so ask on the TensorFlow Forum before committing to a large edit.

Editorial conclusion

Adopt this repository only if you are editing documentation that ships to tensorflow.org: read CONTRIBUTING.md, the contributor guide and the style guide before opening a pull request, and note that the README routes docs issues to the tensorflow/tensorflow issue tracker rather than to this repo. If you want to run tutorials locally, or you want to fork the content as the basis of your own documentation site, this is the wrong starting point. Verify first that your change belongs in tensorflow/docs and not in tensorflow/docs-l10n, since translations live in a separate repository and are maintained on a best-effort basis by the community.

Official sources

  1. License: Apache-2.0
  2. Project website
  3. README
  4. Releases
  5. tensorflow/docs on GitHub
Community notes

Community notes