mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-04-12 10:48:39 +03:00
172 lines
6.6 KiB
Plaintext
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
|