This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

ghostty / CODEOWNERS
7.7 kB 201 lines
1# This file documents the subsystem maintainers of the Ghostty project 2# along with the responsibilities of a maintainer and how one can become 3# a maintainer. 4# 5# Ghostty follows a subsystem maintainer model where distinguished 6# contributors (with mutual agreement) are designated as maintainers of a 7# specific subset of the project. A subsystem maintainer has more privileges 8# and authority over a specific part of the project than a regular 9# contributor and deference is given to them when making decisions about 10# their subsystem. 11# 12# Ultimately Ghostty has a BDFL (Benevolent Dictator For Life) model 13# currently with @mitchellh as the BDFL. The BDFL has the final say in all 14# decisions and may override a maintainer's decision if necessary. I like to 15# say its a BDFLFN (Benevolent Dictator For Life "For Now") model because 16# long term I'd like to see the project be more community driven. But for 17# now, early in its life, we're going with this model. 18# 19# ## Privileges 20# 21# - Authority to approve or reject pull requests in their subsystem. 22# - Authority to moderate issues and discussions in their subsystem. 23# - Authority to make roadmap and design decisions about their subsystem 24# with input only from other subsystem maintainers. 25# 26# In all scenarios, the BDFL doesn't need to be consulted for decisions 27# but may revert or override decisions if necessary. The expectation is 28# that maintainers will be trusted to make the right decisions for their 29# subsystem and this will be rare. 30# 31# ## Responsibilities 32# 33# Subsystem maintainership is a voluntary role and maintainers are not 34# expected to dedicate any amount of time to the project. However, if a 35# maintainer is inactive for a long period of time, they may be removed from 36# the maintainers list to avoid bitrot or outdated information. 37# 38# Maintainers are expected to be exemplary members of the community and 39# should be respectful, helpful, and professional in all interactions. 40# This is both in regards to the community at large as well as other 41# subsystem maintainers as well as @mitchellh. 42# 43# As technical leaders, maintainers are expected to be mindful about 44# breaking changes, performance, user impact, and other technical 45# considerations in their subsystem. They should be considerate of large 46# changes and should be able to justify their decisions. 47# 48# Notably, maintainers have NO OBLIGATION to review pull requests or issues 49# in their subsystem. They have full discretion to review or not review 50# anything they want. This isn't a job! It is a role of trust and authority 51# and the expectation is that maintainers will use their best judgement. 52# 53# ## Becoming a Maintainer 54# 55# Maintainer candidates are noticed and proposed by the community. Anyone 56# may propose themselves or someone else as a maintainer. The BDFL along 57# with existing maintainers will discuss and decide. 58# 59# Generally, we want to see consistent high quality contributions to a 60# specific subsystem before considering someone as a maintainer. There isn't 61# an exact number of contributions or time period required but generally 62# we're looking for an order of a dozen or more contributions over a period of 63# months, at least. 64# 65# # Subsystem List 66# 67# The subsystems don't fully cover the entirety of the Ghostty project but 68# are created organically as experts in certain areas emerge. If you feel 69# you are an expert in a certain area and would like to be a maintainer, 70# please reach out to @mitchellh on Discord. 71# 72# (Alphabetical order) 73# 74# - @ghostty-org/font - All things font related including discovery, 75# rasterization, shaping, coloring, etc. 76# 77# - @ghostty-org/gtk - Anything GTK-related in the project, primarily 78# the GTK apprt. Also includes X11/Wayland integrations and general 79# Linux support. 80# 81# - @ghostty-org/localization/* - Anything related to localization 82# for a specific locale. 83# 84# - @ghosty-org/localization/manager - Manage all localization tasks 85# and tooling. They are not responsible for any specific locale but 86# are responsible for the overall localization process and tooling. 87# 88# - @ghostty-org/macos - The Ghostty macOS app and any macOS-specific 89# features, configurations, etc. 90# 91# - @ghostty-org/packaging/snap - Ghostty snap packaging 92# (https://snapcraft.io/ghostty) 93# 94# - @ghostty-org/renderer - Ghostty rendering subsystem, including the 95# rendering abstractions as well as specific renderers like OpenGL 96# and Metal. 97# 98# - @ghostty-org/shell - Ghostty shell integration, including shell 99# completions, shell detection, and any other shell interactions. 100# 101# - @ghostty-org/terminal - The terminal emulator subsystem, including 102# subprocess management and pty handling, escape sequence parsing, 103# key encoding, etc. 104# 105# ## Outside of Ghostty 106# 107# Other "subsystems" exist outside of Ghostty and will not be represented 108# in this CODEOWNERS file: 109# 110# - @ghostty-org/discord-bot - Maintainers of the Ghostty Discord bot. 111# 112# - @ghostty-org/website - Maintainers of the Ghostty website. 113 114# Font 115/src/font/ @ghostty-org/font 116/pkg/fontconfig/ @ghostty-org/font 117/pkg/freetype/ @ghostty-org/font 118/pkg/harfbuzz/ @ghostty-org/font 119 120# GTK 121/src/apprt/gtk/ @ghostty-org/gtk 122/src/os/cgroup.zig @ghostty-org/gtk 123/src/os/flatpak.zig @ghostty-org/gtk 124/dist/linux/ @ghostty-org/gtk 125 126# macOS 127# 128# This includes libghostty because the macOS apprt is built on top of 129# libghostty and often requires or is impacted by changes to libghostty. 130# macOS subsystem maintainers are expected to only work on libghostty 131# insofar as it impacts the macOS apprt. 132/include/ghostty.h @ghostty-org/macos 133/src/apprt/embedded.zig @ghostty-org/macos 134/src/os/cf_release_thread.zig @ghostty-org/macos 135/src/os/macos.zig @ghostty-org/macos 136/macos/ @ghostty-org/macos 137/dist/macos/ @ghostty-org/macos 138/pkg/apple-sdk/ @ghostty-org/macos 139/pkg/macos/ @ghostty-org/macos 140/.swiftlint.yml @ghostty-org/macos 141 142# Renderer 143/src/renderer.zig @ghostty-org/renderer 144/src/renderer/ @ghostty-org/renderer 145/pkg/glslang/ @ghostty-org/renderer 146/pkg/opengl/ @ghostty-org/renderer 147/pkg/spirv-cross/ @ghostty-org/renderer 148/pkg/wuffs/ @ghostty-org/renderer 149 150# Shell 151/src/shell-integration/ @ghostty-org/shell 152/src/termio/shell_integration.zig @ghostty-org/shell 153 154# Terminal 155/src/simd/ @ghostty-org/terminal 156/src/input/KeyEncoder.zig @ghostty-org/terminal 157/src/terminal/ @ghostty-org/terminal 158/src/terminfo/ @ghostty-org/terminal 159/src/termio/ @ghostty-org/terminal 160/src/unicode/ @ghostty-org/terminal 161/src/Surface.zig @ghostty-org/terminal 162/src/surface_mouse.zig @ghostty-org/terminal 163 164# Localization 165/po/README_TRANSLATORS.md @ghostty-org/manager # *localization* manager. 166/po/com.mitchellh.ghostty.pot @ghostty-org/manager 167/src/os/i18n_locales.zig @ghostty-org/manager 168/po/be.po @ghostty-org/be_BY 169/po/bg.po @ghostty-org/bg_BG 170/po/ca.po @ghostty-org/ca_ES 171/po/de.po @ghostty-org/de_DE 172/po/es_AR.po @ghostty-org/es_AR 173/po/es_BO.po @ghostty-org/es_BO 174/po/es_ES.po @ghostty-org/es_ES 175/po/eu.po @ghostty-org/eu_ES 176/po/fr.po @ghostty-org/fr_FR 177/po/ga.po @ghostty-org/ga_IE 178/po/he.po @ghostty-org/he_IL 179/po/hr.po @ghostty-org/hr_HR 180/po/hu.po @ghostty-org/hu_HU 181/po/id.po @ghostty-org/id_ID 182/po/it.po @ghostty-org/it_IT 183/po/ja.po @ghostty-org/ja_JP 184/po/kk.po @ghostty-org/kk_KZ 185/po/ko_KR.po @ghostty-org/ko_KR 186/po/lt.po @ghostty-org/lt_LT 187/po/lv.po @ghostty-org/lv_LV 188/po/mk.po @ghostty-org/mk_MK 189/po/nb.po @ghostty-org/nb_NO 190/po/nl.po @ghostty-org/nl_NL 191/po/pl.po @ghostty-org/pl_PL 192/po/pt_BR.po @ghostty-org/pt_BR 193/po/ru.po @ghostty-org/ru_RU 194/po/tr.po @ghostty-org/tr_TR 195/po/uk.po @ghostty-org/uk_UA 196/po/vi.po @ghostty-org/vi_VN 197/po/zh_CN.po @ghostty-org/zh_CN 198/po/zh_TW.po @ghostty-org/zh_TW 199 200# Packaging - Snap 201/snap/ @ghostty-org/snap