Skip to content
This repository has been archived by the owner on Jan 20, 2022. It is now read-only.

Latest commit

 

History

History
87 lines (60 loc) · 3.64 KB

sustainability_program.md

File metadata and controls

87 lines (60 loc) · 3.64 KB

The ultimate goal for this program is to provide ways for the user community to ensure the long-term sustainability of the development and maintenance of some Typelevel libraries.

Based on the Cats ecosystem community survey 2018 results, as well as feedback from potential donors, we adopted the following principles for the program:

Principles:

  • Paid maintainers focus on supporting the community contributors. In another sentence, paid maintainers’ first task is to maintain the community-driven development. More detailed responsibilities are listed below.
  • Main obligations to sponsors (individual or corporate) are limited to
    • The existing license remains unchanged.
    • Timely security patches and mission critical bug fixes.
    • Financial contributions will NOT grant contributors extra influence over the development.
    • Financial contributors can influence how their contribution is distributed among projects.
  • The program is governed by an independent committee.
  • As part of our community, sponsors hold values compatible with the Scala Code of Conduct.

Responsibilities for paid maintainers

Based on these principles, we established the following three main goals and relevant tasks for paid maintainers.

Goal 1: Provide guidance for community contributors

Relevant tasks:

  • Create/maintain contribution guidance documentation
  • Review PRs in a timely fashion
  • Create friendly issues for first-time contributors
  • Provide real-time tech support for contribution related topics

Goal 2: Relieve community contributors from most fastidious, ingrate tasks

Relevant tasks:

  • Maintain/improve infrastructure, e.g. build, tests, linting etc.
  • Plan and manage releases
  • Backports to support of old Scala version
  • Create documentation

Goal 3: Ensure the ecosystem is unblocked

Relevant Tasks:

  • Fix mission-critical bug
  • Address security vulnerabilities
  • Enforce compatibility guarantees
  • Take on initiatives that require a significant amount of effort usually too large for casual contributors to take on, e.g. complete Scala 2.13 migration; merging in typelevel/algebra; integration with Scala 3.0 std library, etc.

Funding source

We'll be relying on donations from corporation and individual users of the OSS libraries. Aside from monetary assistance, companies can support us by:

  • Providing computing resources/tools such as CI systems, communication platforms, development tools, etc.
  • Paid employees' time for code contributions
  • Sponsor events such as free training, conferences, by providing the venue, food, etc.
  • Donation of training/support services or coupons that we can then exchange for monetary contributions.

Perks for sponsoring companies include

  • Branding on our sponsors' list (at $200 per month or 100 paid employee hours per year)
  • Job posts (at $500/month level)
  • Training / Technical support (if we receive such donations)

We reserve the right to respectfully decline sponsorship offers.

Typelevel libraries in the program

  1. Cats and its external modules projects including
    • cats-effect
    • cats-mtl
    • mouse
    • kittens
    • cats-tagless
    • Cats-collections
  2. Shapeless
  3. Spire

We are in the process of enlisting more Typelevel libraries into the program based on their maintainers’ as well as sponsors’ interests.

Please don't hesitate to reach out with questions. Our contact Email is [email protected]

Thank you for reading this and considering supporting us.

OpenCollective