{"id":20225678,"url":"https://github.com/purescript/governance","last_synced_at":"2026-03-07T06:31:00.210Z","repository":{"id":40492399,"uuid":"236657519","full_name":"purescript/governance","owner":"purescript","description":null,"archived":false,"fork":false,"pushed_at":"2024-07-01T19:02:16.000Z","size":33,"stargazers_count":21,"open_issues_count":4,"forks_count":2,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-10-28T06:27:15.040Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/purescript.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-01-28T04:29:18.000Z","updated_at":"2025-05-26T11:00:38.000Z","dependencies_parsed_at":"2024-11-07T19:25:55.278Z","dependency_job_id":"9fb3a685-0cef-49a8-895b-3fa504366c20","html_url":"https://github.com/purescript/governance","commit_stats":{"total_commits":24,"total_committers":8,"mean_commits":3.0,"dds":0.5833333333333333,"last_synced_commit":"910e0022e0207e2c6a7f13c38df3d2ea304e26cf"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/purescript/governance","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/purescript%2Fgovernance","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/purescript%2Fgovernance/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/purescript%2Fgovernance/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/purescript%2Fgovernance/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/purescript","download_url":"https://codeload.github.com/purescript/governance/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/purescript%2Fgovernance/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30209084,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-07T05:23:27.321Z","status":"ssl_error","status_checked_at":"2026-03-07T05:00:17.256Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-14T07:14:19.959Z","updated_at":"2026-03-07T06:31:00.184Z","avatar_url":"https://github.com/purescript.png","language":null,"readme":"# PureScript governance\n\n## Purpose\n\nThe core PureScript GitHub organization (\u003chttps://github.com/purescript\u003e)\nexists to maintain and develop:\n\n*   The PureScript language (as defined by the implementation in the compiler\n    repository, `purescript/purescript`), and the compiler itself\n*   The PureScript core libraries (that is, the libraries under the\n    `purescript` org on GitHub)\n*   The PureScript website infrastructure (purescript.org, Try PureScript,\n    Pursuit)\n*   Documentation\n*   Package Sets\n\n## Project Values\n\n*   PureScript is industrially focused; it is not a vehicle for programming\n    language research. Consequently, stability is a high priority. Feature\n    requests which have a large impact on downstream code are unlikely to be\n    accepted.\n*   Prefer fewer, more powerful features to many special-purpose ones. With a\n    smaller feature set, things are easier to document, the implementation is\n    easier to understand and work with, and features are less likely to\n    interact poorly with one another.\n*   Prefer to move slowly and consider decisions carefully, especially if they\n    are likely to have a long-term impact.\n*   If it is possible to adequately solve a need downstream of the compiler\n    and/or core libraries, we are unlikely to add features for solving that\n    need inside the compiler and/or core libraries.\n\n## Roles\n\n### Core Team Members\n\nThe core team leads the development of the language, compiler,\nand core libraries. Since the language is defined by its implementation, the\ncompiler project and associated responsibilities are what largely shape its\ndirection and development.\n\nThe core organization team members are:\n\n*   Gary Burgess ([@garyb](https://github.com/garyb))\n*   Liam Goodacre ([@LiamGoodacre](https://github.com/LiamGoodacre))\n*   Christoph Hegemann ([@kritzcreek](https://github.com/kritzcreek))\n*   Hardy Jones ([@joneshf](https://github.com/joneshf))\n*   Nathan Faubion ([@natefaubion](https://github.com/natefaubion))\n*   Cyril Sobierajewicz ([@kl0tl](https://github.com/kl0tl))\n*   Fabrizio Ferrai ([@f-f](https://github.com/f-f))\n*   Verity Scheel ([@MonoidMusician](https://github.com/MonoidMusician))\n*   Thomas Honeyman ([@thomashoneyman](https://github.com/thomashoneyman))\n*   Nicholas Wolverson ([@nwolverson](https://github.com/nwolverson))\n*   Ryan Hendrickson ([@rhendric](https://github.com/rhendric))\n*   Justin Garcia ([@PureFunctor](https://github.com/PureFunctor))\n*   Mike Solomon ([@mikesol](https://github.com/mikesol))\n\nCore team members have demonstrated a long-term commitment to maintaining\ncentral components of the ecosystem such as the compiler, core libraries,\ntooling, or documentation resources, as well as engaging with the community as\na whole.\n\nCore team members are expected to use their privileges responsibly, in order to\nguide the development of the language, compiler, and core libraries in a way\nthat they feel best serves the community as a whole.\n\nCore team membership is not predicated on responding to issues or pull requests in\nany given timeframe; core team members may choose to involve themselves in the\ndevelopment of the language, compiler, and libraries to whatever extent they\nwish to. The reasoning for this is that we don't want any given maintainer to\nfeel pressured to do things that their life and schedules don't permit.\n\n### Core Collaborators\n\nCore team members may extend commit access on a project basis to those that have\nexpressed interest in maintaining a subset of the organization. Collaborators\ninclude:\n\n*   Alex Berg ([@chexxor](https://github.com/chexxor)) - Documentation, Infrastructure\n*   Justin Woo ([@justinwoo](https://github.com/justinwoo)) - Package Sets\n*   [@btrepp](https://github.com/btrepp) - Spago\n*   Dennis Gosnell ([@cdepillabout](https://github.com/cdepillabout)) - Spago\n*   Gareth Smith ([@Dretch](https://github.com/Dretch)) - Spago\n*   Eric Ahlberg ([@eahlberg](https://github.com/eahlberg)) - Spago\n*   Elliot Davies ([@elliotdavies](https://github.com/elliotdavies)) - Spago\n*   Eric Thul ([@ethul](https://github.com/ethul)) - Core libraries\n*   Jan Hrcek ([@jhrcek](https://github.com/jhrcek)) - Spago\n*   Vladimir Kalnitsky ([@klntsky](https://github.com/klntsky)) - Spago\n*   Steve Baker ([@stkb](https://github.com/stkb)) - Spago\n*   Valtteri Pajunen ([@vapaj](https://github.com/vapaj)) - Spago\n*   Colin Wahl ([@colinwahl](https://github.com/colinwahl)) - Registry, Spago\n*   Miles Frain ([@milesfrain](https://github.com/milesfrain)) - Book\n\nCollaborators are encouraged to help out with maintenance in any of the\nfollowing ways (or however else they see fit):\n\n*   Merging PRs if they are ready to be merged (see below)\n*   Managing the issue tracker (labelling, closing, or otherwise tidying up\n    issues)\n*   Discussing proposed features or bug reports\n*   Sending PRs\n*   Reviewing PRs\n\n### Role Changes\n\n*   Core team members may choose to step down and become core collaborators, or choose to leave the organization entirely, at any time.\n*   Core collaborators may be promoted to core team members at the discretion of the rest of the core team members.\n\n#### Onboarding checklist\n\nChecklist of things that will need to happen when a new Core Team member is inducted:\n- Add them to the Core Team on GitHub\n- Add them to the Core Team on Discord\n- Open a Pull Request to this document to add them to the list\n- Announcement on Discourse\n\n## Making Decisions\n\nMost decisions which directly concern the language, compiler, or core libraries\nshould receive the approval of the core team members. For example, this would apply\nto:\n\n*   Feature requests\n*   Concerns raised during pull request review\n*   Adding new collaborators\n*   Promoting collaborators to core team members\n*   Changes to governance\n\nFor a decision to be made, it should receive the approval of all core team members\nwho choose to participate in the discussion. In essence, every core owner has a\nveto (which they are expected to use responsibly).\n\nNot all core team members are required to participate in every discussion -- it is\nexpected that most discussions will only involve a subset of the core team members.\nBefore any particular decision is finalized, sufficient time should be given so\nthat people have an opportunity to object, especially for decisions which would\nbe difficult to reverse later. In general, the length of time that is\nconsidered \"sufficient\" depends on the magnitude of the decision, and core\ncore team members are expected to use their judgement. If a month has passed since the\nfirst approval by a core owner, and no other core team members have objected in that\ntime, a decision can always be considered to have been approved.\n\nCore team members have the final say in decisions, although they are expected to be\nreceptive to the needs of the wider community.\n\n## Internal Discussions\n\nNon-public privacy-respecting discussions can be found via the following team-based discussion boards:\n- [Core Team Discussions](https://github.com/purescript/core-team-discussions/discussions)\n- [Infrastructure Team Discussions](https://github.com/purescript/infra-team-discussions/discussions)\n- [Compiler Team Discussions](https://github.com/purescript/compiler-team-discussions/discussions)\n\n## Pull Requests\n\nBefore merging, pull requests on the compiler and core library repositories\nshould receive two approving code reviews: either from two core team members, or\nfrom one core team member and one compiler/core libraries collaborator (as\nappropriate, depending on the repository). If the PR submitter is a core team\nmember or compiler/core libraries collaborator, they can be assumed to have\napproved it, and so the PR would only need one more approval before it could be\nmerged.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpurescript%2Fgovernance","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpurescript%2Fgovernance","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpurescript%2Fgovernance/lists"}