ghostty/CODEOWNERS
Line: 111: incorrect codeowner organization: ghostty-org/font Line: 111: no users/groups matched Line: 112: incorrect codeowner organization: ghostty-org/font Line: 112: no users/groups matched Line: 113: incorrect codeowner organization: ghostty-org/font Line: 113: no users/groups matched Line: 114: incorrect codeowner organization: ghostty-org/font Line: 114: no users/groups matched Line: 117: incorrect codeowner organization: ghostty-org/gtk Line: 117: no users/groups matched Line: 118: incorrect codeowner organization: ghostty-org/gtk Line: 118: no users/groups matched Line: 119: incorrect codeowner organization: ghostty-org/gtk Line: 119: no users/groups matched Line: 120: incorrect codeowner organization: ghostty-org/gtk Line: 120: no users/groups matched Line: 128: incorrect codeowner organization: ghostty-org/macos Line: 128: no users/groups matched Line: 129: incorrect codeowner organization: ghostty-org/macos Line: 129: no users/groups matched Line: 130: incorrect codeowner organization: ghostty-org/macos Line: 130: no users/groups matched Line: 131: incorrect codeowner organization: ghostty-org/macos Line: 131: no users/groups matched Line: 132: incorrect codeowner organization: ghostty-org/macos Line: 132: no users/groups matched Line: 133: incorrect codeowner organization: ghostty-org/macos Line: 133: no users/groups matched Line: 134: incorrect codeowner organization: ghostty-org/macos Line: 134: no users/groups matched Line: 135: incorrect codeowner organization: ghostty-org/macos Line: 135: no users/groups matched Line: 138: incorrect codeowner organization: ghostty-org/renderer Line: 138: no users/groups matched Line: 139: incorrect codeowner organization: ghostty-org/renderer Line: 139: no users/groups matched Line: 140: incorrect codeowner organization: ghostty-org/renderer Line: 140: no users/groups matched Line: 141: incorrect codeowner organization: ghostty-org/renderer Line: 141: no users/groups matched Line: 142: incorrect codeowner organization: ghostty-org/renderer Line: 142: no users/groups matched Line: 143: incorrect codeowner organization: ghostty-org/renderer Line: 143: no users/groups matched Line: 146: incorrect codeowner organization: ghostty-org/shell Line: 146: no users/groups matched Line: 147: incorrect codeowner organization: ghostty-org/shell Line: 147: no users/groups matched Line: 150: incorrect codeowner organization: ghostty-org/terminal Line: 150: no users/groups matched Line: 151: incorrect codeowner organization: ghostty-org/terminal Line: 151: no users/groups matched Line: 152: incorrect codeowner organization: ghostty-org/terminal Line: 152: no users/groups matched Line: 153: incorrect codeowner organization: ghostty-org/terminal Line: 153: no users/groups matched Line: 154: incorrect codeowner organization: ghostty-org/terminal Line: 154: no users/groups matched Line: 155: incorrect codeowner organization: ghostty-org/terminal Line: 155: no users/groups matched Line: 156: incorrect codeowner organization: ghostty-org/terminal Line: 156: no users/groups matched Line: 159: incorrect codeowner organization: ghostty-org/localization Line: 159: no users/groups matched Line: 160: incorrect codeowner organization: ghostty-org/localization Line: 160: no users/groups matched Line: 161: incorrect codeowner organization: ghostty-org/de_DE Line: 161: no users/groups matched Line: 162: incorrect codeowner organization: ghostty-org/fr_FR Line: 162: no users/groups matched Line: 163: incorrect codeowner organization: ghostty-org/id_ID Line: 163: no users/groups matched Line: 164: incorrect codeowner organization: ghostty-org/ja_JP Line: 164: no users/groups matched Line: 165: incorrect codeowner organization: ghostty-org/nb_NO Line: 165: no users/groups matched Line: 166: incorrect codeowner organization: ghostty-org/pl_PL Line: 166: no users/groups matched Line: 167: incorrect codeowner organization: ghostty-org/uk_UA Line: 167: no users/groups matched Line: 168: incorrect codeowner organization: ghostty-org/zh_CN Line: 168: no users/groups matched Line: 171: incorrect codeowner organization: ghostty-org/snap Line: 171: no users/groups matched
Mitchell Hashimoto 5be4b0de6b CODEOWNERS
2025-04-11 09:42:48 -07:00

172 lines
6.6 KiB
Plaintext

# This file documents the subsystem maintainers of the Ghostty project
# along with the responsibilities of a maintainer and how one can become
# a maintainer.
#
# Ghostty follows a subsystem maintainer model where distinguished
# contributors (with mutual agreement) are designated as maintainers of a
# specific subset of the project. A subsystem maintainer has more privileges
# and authority over a specific part of the project than a regular
# contributor and deference is given to them when making decisions about
# their subsystem.
#
# Ultimately Ghostty has a BDFL (Benevolent Dictator For Life) model
# currently with @mitchellh as the BDFL. The BDFL has the final say in all
# decisions and may override a maintainer's decision if necessary. I like to
# say its a BDFLFN (Benevolent Dictator For Life "For Now") model because
# long term I'd like to see the project be more community driven. But for
# now, early in its life, we're going with this model.
#
# ## Privileges
#
# - Authority to approve or reject pull requests in their subsystem.
# - Authority to moderate issues and discussions in their subsystem.
# - Authority to make roadmap and design decisions about their subsystem
# with input only from other subsystem maintainers.
#
# In all scenarios, the BDFL doesn't need to be consulted for decisions
# but may revert or override decisions if necessary. The expectation is
# that maintainers will be trusted to make the right decisions for their
# subsystem and this will be rare.
#
# ## Responsibilities
#
# Subsystem maintainership is a voluntary role and maintainers are not
# expected to dedicate any amount of time to the project. However, if a
# maintainer is inactive for a long period of time, they may be removed from
# the maintainers list to avoid bitrot or outdated information.
#
# Maintainers are expected to be exemplary members of the community and
# should be respectful, helpful, and professional in all interactions.
# This is both in regards to the community at large as well as other
# subsystem maintainers as well as @mitchellh.
#
# As technical leaders, maintainers are expected to be mindful about
# breaking changes, performance, user impact, and other technical
# considerations in their subsystem. They should be considerate of large
# changes and should be able to justify their decisions.
#
# Notably, maintainers have NO OBLIGATION to review pull requests or issues
# in their subsystem. They have full discretion to review or not review
# anything they want. This isn't a job! It is a role of trust and authority
# and the expectation is that maintainers will use their best judgement.
#
# ## Becoming a Maintainer
#
# Maintainer candidates are noticed and proposed by the community. Anyone
# may propose themselves or someone else as a maintainer. The BDFL along
# with existing maintainers will discuss and decide.
#
# Generally, we want to see consistent high quality contributions to a
# specific subsystem before considering someone as a maintainer. There isn't
# an exact number of contributions or time period required but generally
# we're looking for an order of a dozen or more contributions over a period of
# months, at least.
#
# # Subsystem List
#
# The subsystems don't fully cover the entirety of the Ghostty project but
# are created organically as experts in certain areas emerge. If you feel
# you are an expert in a certain area and would like to be a maintainer,
# please reach out to @mitchellh on Discord.
#
# (Alphabetical order)
#
# - @ghostty-org/font - All things font related including discovery,
# rasterization, shaping, coloring, etc.
#
# - @ghostty-org/gtk - Anything GTK-related in the project, primarily
# the GTK apprt. Also includes X11/Wayland integrations and general
# Linux support.
#
# - @ghostty-org/localization/* - Anything related to localization
# for a specific locale.
#
# - @ghostty-org/macos - The Ghostty macOS app and any macOS-specific
# features, configurations, etc.
#
# - @ghostty-org/packaging/snap - Ghostty snap packaging
# (https://snapcraft.io/ghostty)
#
# - @ghostty-org/renderer - Ghostty rendering subsystem, including the
# rendering abstractions as well as specific renderers like OpenGL
# and Metal.
#
# - @ghostty-org/shell - Ghostty shell integration, including shell
# completions, shell detection, and any other shell interactions.
#
# - @ghostty-org/terminal - The terminal emulator subsystem, including
# subprocess management and pty handling, escape sequence parsing,
# key encoding, etc.
#
# ## Outside of Ghostty
#
# Other "subsystems" exist outside of Ghostty and will not be represented
# in this CODEOWNERS file:
#
# - @ghostty-org/discord-bot - Maintainers of the Ghostty Discord bot.
#
# - @ghostty-org/website - Maintainers of the Ghostty website.
# Font
/src/font/ @ghostty-org/font
/pkg/fontconfig/ @ghostty-org/font
/pkg/freetype/ @ghostty-org/font
/pkg/harfbuzz/ @ghostty-org/font
# GTK
/src/apprt/gtk/ @ghostty-org/gtk
/src/os/cgroup.zig @ghostty-org/gtk
/src/os/flatpak.zig @ghostty-org/gtk
/dist/linux/ @ghostty-org/gtk
# macOS
#
# This includes libghostty because the macOS apprt is built on top of
# libghostty and often requires or is impacted by changes to libghostty.
# macOS subsystem maintainers are expected to only work on libghostty
# insofar as it impacts the macOS apprt.
/include/ghostty.h @ghostty-org/macos
/src/apprt/embedded.zig @ghostty-org/macos
/src/os/cf_release_thread.zig @ghostty-org/macos
/src/os/macos.zig @ghostty-org/macos
/macos/ @ghostty-org/macos
/dist/macos/ @ghostty-org/macos
/pkg/apple-sdk/ @ghostty-org/macos
/pkg/macos/ @ghostty-org/macos
# Renderer
/src/renderer.zig @ghostty-org/renderer
/src/renderer/ @ghostty-org/renderer
/pkg/glslang/ @ghostty-org/renderer
/pkg/opengl/ @ghostty-org/renderer
/pkg/spirv-cross/ @ghostty-org/renderer
/pkg/wuffs/ @ghostty-org/renderer
# Shell
/src/shell-integration/ @ghostty-org/shell
/src/termio/shell-integration.zig @ghostty-org/shell
# Terminal
/src/simd/ @ghostty-org/terminal
/src/input/KeyEncoder.zig @ghostty-org/terminal
/src/terminal/ @ghostty-org/terminal
/src/terminfo/ @ghostty-org/terminal
/src/unicode/ @ghostty-org/terminal
/src/Surface.zig @ghostty-org/terminal
/src/surface_mouse.zig @ghostty-org/terminal
# Localization
/po/README_TRANSLATORS.md @ghostty-org/localization
/po/com.mitchellh.ghostty.pot @ghostty-org/localization
/po/de_DE.UTF-8.po @ghostty-org/de_DE
/po/fr_FR.UTF-8.po @ghostty-org/fr_FR
/po/id_ID.UTF-8.po @ghostty-org/id_ID
/po/ja_JP.UTF-8.po @ghostty-org/ja_JP
/po/nb_NO.UTF-8.po @ghostty-org/nb_NO
/po/pl_PL.UTF-8.po @ghostty-org/pl_PL
/po/uk_UA.UTF-8.po @ghostty-org/uk_UA
/po/zh_CN.UTF-8.po @ghostty-org/zh_CN
# Packaging - Snap
/snap/ @ghostty-org/snap