# Make your first contribution to Qt

A practical path from choosing a useful Qt contribution through review and integration.

<!-- qt-town-snapshot: 6569b73d1aca6e4f521a0a89d707b386dbff92935491f05b82adf360d22f65ce -->

Snapshot: `6569b73d1aca6e4f521a0a89d707b386dbff92935491f05b82adf360d22f65ce`

Date range: 2026-01-01 – 2026-11-11 UTC (inclusive).

Built: 2026-11-11T17:39:37Z

Repository coverage: 46 of 46 declared top-level modules, plus qt5.git. Statistics follow each module's declared development branch. The independent project catalog includes Qt Creator on its selected ref; other projects and unselected refs remain gaps. Nested third-party dependencies and release-only activity are outside this inventory.

Oldest successful repository source check: 2026-11-11T17:38:44.324Z.

Managed collection fetches declared refs directly from canonical Qt repositories.

[Qt Town home](index.md) · [Get started](get-started.md) · [Find a reviewer](reviewers.md) · [Activity](activity.md) · [Contributors](contributors.md) · [The Qt year](year.md) · [Goals](goals.md) · [Governance](governance.md) · [How it works](methodology.md)

You can help Qt with code, clearer documentation, a reproducible bug report, or community support. Choose a route below and follow its instructions. You can browse and investigate without an account.
Choose a contribution route:
- [Fix code](#choose-a-small-useful-change)
- [Improve documentation](#contribute-to-documentation)
- [Report or investigate a bug](#report-or-investigate-a-bug)
- [Help the community](#help-the-community)

For code contributions, follow the five stages:
- [Choose a change](#choose-a-small-useful-change)
- [Prepare](#set-up-your-qt-accounts)
- [Build and test](#make-and-test-one-change)
- [Submit](#upload-your-change-for-review)
- [Respond to review](#respond-to-review-and-follow-integration)

## Where can I start?

Choose an area you already use. Each link opens unresolved QTBUG reports assigned to related components. Component assignment can be broad; these are issues to investigate, not guaranteed beginner tasks or a promise of mentoring.

### Documentation and examples

Improve explanations, examples, and the paths that help people learn Qt. [Browse related QTBUG reports](https://qt-project.atlassian.net/issues/?jql=project%20%3D%20QTBUG%20AND%20resolution%20%3D%20Unresolved%20AND%20component%20in%20%2812320%2C%2012321%29%20ORDER%20BY%20updated%20DESC).

<details>
<summary>Search details</summary>

```text
project = QTBUG AND resolution = Unresolved AND component in (12320, 12321) ORDER BY updated DESC
```
</details>

### Core / C++

Explore Qt Core behavior, APIs, and lower-level C++ building blocks. [Browse related QTBUG reports](https://qt-project.atlassian.net/issues/?jql=project%20%3D%20QTBUG%20AND%20resolution%20%3D%20Unresolved%20AND%20component%20in%20%2812256%2C%2012257%2C%2012259%2C%2012260%2C%2012261%2C%2012263%2C%2012264%2C%2012266%2C%2012268%2C%2012282%2C%2012288%2C%2012293%2C%2012297%2C%2012302%2C%2012305%2C%2012310%2C%2012315%29%20ORDER%20BY%20updated%20DESC).

<details>
<summary>Search details</summary>

```text
project = QTBUG AND resolution = Unresolved AND component in (12256, 12257, 12259, 12260, 12261, 12263, 12264, 12266, 12268, 12282, 12288, 12293, 12297, 12302, 12305, 12310, 12315) ORDER BY updated DESC
```
</details>

### Qt Quick and QML

Look at declarative UI, the QML language, controls, and Qt Quick behavior. [Browse related QTBUG reports](https://qt-project.atlassian.net/issues/?jql=project%20%3D%20QTBUG%20AND%20resolution%20%3D%20Unresolved%20AND%20component%20in%20%2812311%2C%2012333%2C%2012339%2C%2012343%2C%2012368%2C%2012373%2C%2012376%2C%2012380%2C%2012383%2C%2012387%2C%2012388%2C%2012390%2C%2012393%2C%2012395%2C%2012400%2C%2012403%2C%2012405%2C%2012416%2C%2012434%2C%2012435%2C%2012436%2C%2012437%29%20ORDER%20BY%20updated%20DESC).

<details>
<summary>Search details</summary>

```text
project = QTBUG AND resolution = Unresolved AND component in (12311, 12333, 12339, 12343, 12368, 12373, 12376, 12380, 12383, 12387, 12388, 12390, 12393, 12395, 12400, 12403, 12405, 12416, 12434, 12435, 12436, 12437) ORDER BY updated DESC
```
</details>

### Widgets

Explore desktop controls, layouts, styles, and item views. [Browse related QTBUG reports](https://qt-project.atlassian.net/issues/?jql=project%20%3D%20QTBUG%20AND%20resolution%20%3D%20Unresolved%20AND%20component%20in%20%2812392%2C%2012396%2C%2012419%2C%2012421%2C%2012424%2C%2012425%2C%2012427%2C%2012446%29%20ORDER%20BY%20updated%20DESC).

<details>
<summary>Search details</summary>

```text
project = QTBUG AND resolution = Unresolved AND component in (12392, 12396, 12419, 12421, 12424, 12425, 12427, 12446) ORDER BY updated DESC
```
</details>

### Network

Browse networking APIs, protocols, sockets, TLS, and related components. [Browse related QTBUG reports](https://qt-project.atlassian.net/issues/?jql=project%20%3D%20QTBUG%20AND%20resolution%20%3D%20Unresolved%20AND%20component%20in%20%2812292%2C%2012295%2C%2012298%2C%2012299%2C%2012301%2C%2012303%2C%2012304%2C%2012358%2C%2012362%2C%2012364%2C%2012397%29%20ORDER%20BY%20updated%20DESC).

<details>
<summary>Search details</summary>

```text
project = QTBUG AND resolution = Unresolved AND component in (12292, 12295, 12298, 12299, 12301, 12303, 12304, 12358, 12362, 12364, 12397) ORDER BY updated DESC
```
</details>

### Build tools

Explore Qt's build system, CMake integration, qmake, and developer tools. [Browse related QTBUG reports](https://qt-project.atlassian.net/issues/?jql=project%20%3D%20QTBUG%20AND%20resolution%20%3D%20Unresolved%20AND%20component%20in%20%2812240%2C%2012242%2C%2012244%2C%2012245%2C%2012246%2C%2012247%2C%2012248%2C%2012249%2C%2012251%2C%2012287%2C%2012291%2C%2012296%2C%2012300%2C%2014030%29%20ORDER%20BY%20updated%20DESC).

<details>
<summary>Search details</summary>

```text
project = QTBUG AND resolution = Unresolved AND component in (12240, 12242, 12244, 12245, 12246, 12247, 12248, 12249, 12251, 12287, 12291, 12296, 12300, 14030) ORDER BY updated DESC
```
</details>

## Before you start

1. Read the issue and its recent discussion.
2. Try to reproduce the problem, or clarify the expected behavior.
3. Check whether someone is already working on it.
4. Follow the [guide's first-step checklist](get-started.md#choose-a-small-useful-change); when you are ready, use its reviewer finder.

Jira may ask you to sign in. If a search is empty, try another area or use [Jira's general search](https://qt-project.atlassian.net/). These searches do not promise that an issue is available or that mentoring is provided.

Searches and QTBUG component assignments checked 13 October 2026 against the [public QTBUG component list](https://qt-project.atlassian.net/rest/api/3/project/QTBUG/components).

## Choose a small, useful change

**Action:** Find one focused improvement you can explain and check. For code, begin with a reproducible defect, a focused test, or a small change in an area you use. Read the repository's contribution guide and search its issue tracker and public discussions for related work. A Qt Jira issue can coordinate a change, but Qt's contribution guidance does not require an issue for every patch.
**Where:** Start with the module's repository and public issue discussion. The compact “Where can I start?” picker on this page links to current Qt issue searches; use its search terms as starting points, then narrow or broaden them if results are empty or too broad.
**Check:** You can describe the current behavior, the expected behavior, and a small next step. Check whether someone has already proposed or started the same work. If the expected behavior is unclear, ask a focused question before coding.
**If it fails:** If you cannot reproduce a problem, record the Qt version, platform, exact steps, and observed result before deciding whether it is a defect. If the work is already in progress, join that discussion or choose another issue. If a search returns nothing, try the affected module or API name and search public Gerrit changes as well.

## Set up your Qt accounts

**Action:** Before uploading code or documentation, use your Qt Account to sign in to [Qt Gerrit](https://codereview.qt-project.org/), complete your profile, and register the email address you will use for commits. Gerrit displays that address in public Git history. Accept the [Qt Contribution Agreement](https://www.qt.io/community/legal-contribution-agreement-qt) in Gerrit's Agreements settings before your first upload. If you contribute on behalf of a company, ask its contribution-agreement contact which agreement applies; read the agreement and direct legal questions to the appropriate contact.
**Where:** Create or manage a Qt Account at [Qt Account](https://login.qt.io/). Use it to sign in to Gerrit. Jira Cloud is the Qt Project's Atlassian-hosted issue tracker and uses an Atlassian login with Qt Account verification. For first-time Jira access, follow the [Jira Cloud setup guide](https://wiki.qt.io/Jira_Cloud_migration) and use matching email addresses. Gerrit and Jira have distinct profiles and permissions; Gerrit access alone does not ensure that you can write to Jira.
**Check:** In Gerrit's profile, confirm the registered commit email and your display name. Confirm that the Agreements page shows an accepted contribution agreement before uploading.
**If it fails:** If Gerrit rejects an upload because of an unregistered email, register and verify the email used by the commit, then amend the commit if needed. If your organization has a corporate agreement, ask its administrator about the Gerrit group instead of accepting terms on the organization's behalf. You can still browse public code and issues while account access is being resolved.

## Prepare SSH and Git

**Action:** Add a public SSH key in Gerrit settings if you plan to upload over SSH. Use the Gerrit username shown in your profile; it may differ from your computer login. Follow the current [Gerrit SSH setup instructions](https://wiki.qt.io/Setting_up_Gerrit#Local_Setup) to create a key if you need one and verify the server host key. For an existing Ed25519 key, a host entry can look like this; first inspect your existing SSH configuration and merge only the needed settings:
```cpp
Host codereview.qt-project.org
    Port 29418
    User YOUR_GERRIT_USERNAME
    IdentityFile ~/.ssh/id_ed25519
    PreferredAuthentications publickey

```

**Where:** Run SSH commands in a terminal. Add your public key in Gerrit settings and use the Gerrit username shown in your profile.
**Check:** Test the SSH connection with `ssh` codereview.qt-project.org. A successful connection prints Gerrit's welcome message. Gerrit does not provide a normal interactive shell, so a message that the shell is unavailable is expected.
**If it fails:** For a key or port error, compare your username, selected identity, port, and verified host key with Gerrit's current setup guide. Do not overwrite an existing SSH file or identity without checking it first.

## Choose a branch and prepare your tools

**Action:** Check the module's current contribution and branch guidance. For the Qt framework walkthrough below, the selected branch is `dev` in Qt Base. The active [QUIP 16 branch policy](https://contribute.qt-project.org/quips/16) describes framework branch rules and possible picks to maintained branches; ask the relevant reviewers about a backport target. Qt Creator and other Qt products can have different policies. Qt Localization also has a distinct workflow. Check the owning module's current instructions before choosing a branch.
Tool requirements depend on the Qt revision, module, and platform. The Qt 6.12 sources checked on 19 October 2026 require CMake 3.25 or later and an up-to-date Ninja. They also need Python 3 and a supported compiler; macOS needs Xcode and its SDK, and Linux needs the required system development packages. Read the current [Qt source build overview](https://doc.qt.io/qt-6/build-sources.html), its platform-specific building and requirements pages, and the module's instructions before installing anything. Qt WebEngine and other modules have additional dependencies. These links are versioned documentation, so recheck them for the branch you choose.
**Where:** Check tools from the same terminal and prepared compiler environment that you will use to configure Qt. On macOS, select the intended Xcode installation; on Windows, use a prepared compiler prompt and the platform's `configure.bat`. This walkthrough's commands cover Linux and macOS.
**Check:** Confirm that Git, CMake, Ninja, Python 3, and the selected compiler are available and meet the chosen checkout's requirements. Confirm enough free disk space for the selected module and build.
**If it fails:** If a command is missing or resolves to an unexpected path, fix the selected toolchain or `PATH` before configuring. A missing compiler or SDK needs the platform's compiler setup; a missing development package needs that package's platform instructions. Do not troubleshoot either as a source checkout problem.

## Clone the Qt 6 source and initialize modules

**Action:** Use the shared `qt5.git` superrepository; despite its name, it contains the Qt 6 sources too. Clone its `dev` branch and initialize only Qt Base, a useful starting point for a small Core change. Choose a new, empty workspace directory. These Linux and macOS commands use one source directory and its sibling build directory:
**Where:** From the parent directory where you want to keep this checkout:
```cpp
mkdir qt-first-contribution
cd qt-first-contribution
git clone --branch dev https://code.qt.io/qt/qt5.git qt6
cd qt6
./init-repository --module-subset=qtbase --codereview-username=YOUR_GERRIT_USERNAME

```

The Qt 6 source instructions checked on 19 October 2026 document the shared repository and module subset option. Run `./init-repository -help` in your checkout to confirm the options supported by that revision. Initializing more modules downloads more source and can require additional dependencies.
The top-level checkout is a superrepository: its `dev` branch records integration pins for module repositories. A pin is not necessarily the current head of that module's own `dev` branch. For this walkthrough, use the Qt Base development head explicitly. In the Qt Base directory, inspect the checkout first, then create a feature branch from the fetched module branch:
```cpp
cd qtbase
git status --short --branch
git config --show-origin --get user.name
git config --show-origin --get user.email
git remote -v
git rev-parse --git-path hooks/commit-msg
test -x "$(git rev-parse --git-path hooks/commit-msg)"
git fetch origin
git switch -c my-first-fix origin/dev

```

**Check:** You are on `my-first-fix` in `qt6/qtbase`, based on `origin/dev`, with a clean starting tree and an executable Change-Id hook. The configured `origin` fetches Qt Base source; the `gerrit` remote is used to upload reviews. The initializer normally configures the remotes and hook. Compare the superrepository's Qt Base pin with the selected module branch when exact source revisions matter.
**If it fails:** If you already have a checkout, inspect `git` status, the remotes, current branch, identity, and hook before proceeding. Do not rerun initialization over local changes. If your local identity is missing or wrong, set `user.name` and `user.email` in this repository only after checking the current values; do not change global identity for a Qt contribution. If the hook or a remote is absent, consult the current Qt setup instructions, then add only the missing item after confirming its path and URL. If `origin/dev` is missing, fetch the Qt Base origin and inspect available branches before creating a branch. Never reset or clean a checkout as a repair step.

## Make and test one change

**Action:** Reproduce the issue before editing when possible. Keep the patch focused and add or update a regression test for a fix or new behavior. For a baseline Qt Base developer build, configure from the sibling build directory. The example disables tests as a default build target but still lets you request one focused test target:
**Where:** From `qt6/qtbase`, return to the workspace parent, create the build directory beside the source checkout, and configure Qt Base:
```cpp
cd ../..
mkdir qt6-build
cd qt6-build
../qt6/configure -submodules qtbase -developer-build -- -DQT_BUILD_TESTS_BY_DEFAULT=OFF

```

If configuration reports missing packages, install the platform development package named by the diagnostic and configure again. If the compiler or SDK is missing, return to the toolchain setup. If configuration inputs or the source revision changed, use a fresh build directory to avoid stale CMake cache settings; keep the old build until you have inspected any results you need.
Build the focused Qt Core string test from `qt6-build`:
```cpp
cmake --build . --target tst_qstring --parallel 4
ctest -N -R '^tst_qstring$'

```

The first command builds the test and the Qt libraries it needs. The second lists matching CTest tests. Confirm it reports at least one matching test before running the same filter:
```cpp
ctest --output-on-failure --no-tests=error -R '^tst_qstring$'

```

Use a parallel-job count that fits your available memory. Replace this test with the smallest relevant target and filter for your change. A zero-test match is not a passing test run. A successful focused test is evidence for that target and environment; it does not show that other modules, platforms, or configurations work.
**Check:** The baseline configures, the requested target builds, and CTest discovers and runs a nonzero number of matching tests. After your change, inspect the diff and rerun the build and relevant checks from the build directory.
**If it fails:** Confirm that the build command runs in `qt6-build` and that the source path points to `qt6`. If CMake says a package is missing, follow the platform requirement named in its diagnostic. If it reports an old or inconsistent cache, configure a new sibling build directory instead of deleting files blindly. If CTest reports no tests, inspect the configured test options and target name, build the target first, and use `ctest` -N with a narrower expression; do not count an empty selection as success. If a baseline test fails before your edit, save its output and compare it with the changed run.
Qt's [commit policy](https://wiki.qt.io/Commit_Policy), [coding style](https://wiki.qt.io/Qt_Coding_Style), and [coding conventions](https://wiki.qt.io/Coding_Conventions) describe expectations. New APIs need documentation. The commit policy asks for tests for fixes or new behavior, or an explanation when an automated test is not practical.

## Upload your change for review

**Action:** Return to the Qt Base repository, stage only the intended files, inspect the staged diff, and make one focused commit. Explain what problem the change solves and how you checked it. Follow the current [commit policy](https://wiki.qt.io/Commit_Policy) and [Qt commit-message template](https://code.qt.io/cgit/qt/qt5.git/tree/.commit-template); include only applicable issue, changelog, and branch-pick footers. The commit hook adds a Change-Id. Check that the commit has one before uploading.
**Where:** From `qt6-build`, return to `qt6/qtbase`. Replace the example paths with files for your change. The target branch below is `dev` for this Qt Base walkthrough; confirm the branch for your repository:
```cpp
cd ../qt6/qtbase
git status --short --branch
git add path/to/changed-file path/to/test-file
git diff --cached
git commit
git log -1 --format=full
git push gerrit HEAD:refs/for/dev

```

**Check:** Gerrit accepts the push and returns a link to your change. Open that change and confirm the files, target branch, commit message, and Change-Id. Explain the problem and your approach, list the checks you ran, and invite relevant reviewers. The [Who could review this?](reviewers.md) search can suggest people with relevant recorded experience; the official [maintainer list](https://wiki.qt.io/Maintainers) records responsibilities. These are distinct signals and neither guarantees availability. Selecting reviewers familiar with the affected area helps them assess the change.
**If it fails:** If Gerrit reports a missing Change-Id, inspect the hook and commit message, install or repair the hook using Gerrit's current instructions, then amend the commit. If it reports an email mismatch, register the exact commit email in Gerrit and amend if needed. If authorization or the agreement is rejected, resolve the Gerrit profile or agreement status before retrying. If the destination branch is wrong, check the repository's instructions and correct the review target; do not create a second change just to try another branch.

## Respond to review and follow integration

**Action:** Read comments on each patch set, answer questions, and address requested changes. Keep updating the same Gerrit change: rebuild and rerun relevant checks, amend the commit without changing its Change-Id, then push the new patch set. Starting in `qt6/qtbase` after making the update, the example test and upload sequence is:
```cpp
cd ../../qt6-build
cmake --build . --target tst_qstring --parallel 4
ctest -N -R '^tst_qstring$'
ctest --output-on-failure --no-tests=error -R '^tst_qstring$'
cd ../qt6/qtbase
git status --short --branch
git add path/to/changed-file
git diff --cached
git commit --amend
git log -1 --format=full
git push gerrit HEAD:refs/for/dev

```

Confirm the test listing is nonzero before running it. The unchanged Change-Id tells Gerrit that this is another patch set on the existing change. Check the patch-set comments and required CI results. If a check fails, read its log; fix problems caused by your patch and ask reviewers about failures that appear unrelated.
**Where:** Use the existing Gerrit change for review discussion and status. Approval and integration are separate steps. Qt review configuration depends on the repository and branch: approval does not by itself prove that required checks passed or that the change is integrated. Follow the change until Gerrit records its final state. See the current [review policy](https://wiki.qt.io/Review_Policy) and [Gerrit introduction](https://wiki.qt.io/Gerrit_Introduction).
**Check:** The updated patch set appears on the same change, requested feedback is addressed or discussed, and the required checks and integration status are visible in Gerrit.
**If it fails:** If Gerrit creates a second change, compare Change-Ids and ask a reviewer how to repair the history before pushing again. If review is delayed, add a polite, specific follow-up to the existing change. If you also ask on a relevant public development channel, include the change link and one concrete question. Qt's review policy says to give reviewers a full working day at minimum and describes three days as reasonable; these are process guidance, not a response-time guarantee.

## Contribute to documentation

**Action:** Start with the documentation instructions for the module or page you want to improve. Correct a small factual issue, clarify an example, or improve a confusing explanation. Follow the maintained [Qt Writing Guidelines](https://wiki.qt.io/Qt_Writing_Guidelines) and the linked [Microsoft Writing Style Guide](https://learn.microsoft.com/style-guide/); Qt terminology, QDoc conventions, and module instructions take precedence. [QUIP 25](https://contribute.qt-project.org/quips/25) was marked Draft / Informational when checked on 10 October 2026, so treat it as a proposal rather than adopted policy.
**Where:** Find source files and preview instructions in the module's documentation README or contribution guide. QDoc source is processed into published HTML or other formats; a source edit alone does not show what readers will see.
**Check:** Check spelling, links, QDoc commands, code examples, and the rendered page when a preview is available. Ask a reviewer familiar with the documentation or affected API. A small prose correction may not need a full Qt build; changes to examples, generated API docs, or build instructions may need a module-specific preview or test.
**If it fails:** If the module's preview is unavailable, check the QDoc or documentation instructions and ask the documentation maintainers how to verify the affected output. State which checks you completed and which you could not run. Do not describe an unrendered source edit as a verified page change.
Then use the same [submission](#upload-your-change-for-review) and [review](#respond-to-review-and-follow-integration) steps. Choose the target repository and branch from that module's instructions.

## Help the community

You can contribute without writing code. To help another user, read a question on the [Qt Forum](https://forum.qt.io/) or check the [Qt online communities directory](https://wiki.qt.io/Online_Communities) for a suitable place to help. Share the Qt version, a relevant documentation link, and a small example when useful. The [Qt contribution overview](https://contribute.qt-project.org/) and the [Qt Wiki contribution overview](https://wiki.qt.io/Contribute) include user support among the ways to contribute; use the maintained directory to choose a current channel.
To help with localization, read [Qt Localization](https://wiki.qt.io/Qt_Localization), check the relevant product and release branch, and coordinate with the localization mailing list before starting a translation. The page lists [localization@qt-project.org](mailto:localization@qt-project.org) for coordination and describes the relevant Git and Gerrit submission workflow. Follow the current branch instructions and review process for the translation you plan to make.
For the Qt Project's participation expectations, read [Community conduct](governance.md#community-conduct).

## Report or investigate a bug

If you suspect a vulnerability in open-source Qt, follow [Security in Qt](https://doc.qt.io/qt-6/security.html) and email [security@qt-project.org](mailto:security@qt-project.org) privately. Do not post vulnerability details in a public issue or forum. For a Qt Group commercial product or its infrastructure, use the reporting guidance in Qt Group's [coordinated disclosure policy](https://www.qt.io/terms-conditions/disclosure-policy). These routes apply to Qt products and Qt Group systems; they do not establish a private reporting route for the independent Qt Town website.
You can investigate or report a reproducible problem without building Qt from source. Search the public [Qt Jira Cloud issue tracker](https://qt-project.atlassian.net/) and [Gerrit changes](https://codereview.qt-project.org/changes/) first. A useful report includes the Qt version, operating system and relevant hardware, the smallest steps or example that reproduce the problem, what you expected, what happened, and any relevant error output. Remove passwords, private data, and unrelated logs before posting.
If the problem occurs only in your application, reduce it to a small example and check whether it still occurs with the same Qt version. If you cannot reduce it, explain what you tried and include the smallest safe example you have. Use the issue tracker for a new report or add precise evidence to an existing issue about the same problem. Account access may be needed to file or comment; it is not needed to search public reports.
**Check:** A reader can follow your steps and distinguish the actual result from the expected result.
**If it fails:** If you cannot reproduce the problem reliably, say so and record the conditions under which you saw it. Do not present an unconfirmed cause as fact.

## Find help and understand project roles

Start with the repository README, the public issue discussion, and Qt's community channels. The [development mailing list](https://lists.qt-project.org/mailman/listinfo/development) supports Qt development discussion and links to its public archive. The [Qt online communities directory](https://wiki.qt.io/Online_Communities) lists current help and development channels. Describe what you tried, include a small reproduction when useful, and say where you are stuck. Learn about responsibilities and nomination procedures on the [Qt governance page](governance.md#maintainers). A reviewer suggestion indicates relevant recorded experience; it does not grant a project role.
The [Qt year](year.md) shows release phases and community dates, with ways to participate. Check the named release schedule before planning around a date. This guide was checked against its linked sources on 19 October 2026; individual policy-status checks retain their stated dates.


---

A Qt community project, built with Qt and QDoc

## Qt community destinations

[Discuss development](https://lists.qt-project.org/mailman/listinfo/development) · [Ask on Qt Forum](https://forum.qt.io/) · [Review changes in Gerrit](https://codereview.qt-project.org/) · [Browse issues in Jira](https://qt-project.atlassian.net/) · [Read the Qt Wiki](https://wiki.qt.io/) · [Read Qt documentation](https://doc.qt.io/)

### Publication tools

[Read the method](methodology.md) · [Publication manifest](../data/snapshots/6569b73d1aca6e4f521a0a89d707b386dbff92935491f05b82adf360d22f65ce.json) · [Report a problem](methodology.md#about-qt-town-and-corrections) · [Community conduct and safety](governance.md#community-conduct) · [Interactive website](https://qt.town/)
