These guidelines cover similar ground to the ones we have provided to Google Summer of Code applicants in the past. The new guide is an evergreen document to point any new contributor to for guidance. It covers where to start on an issue, copyright, and how to structure pull requests, and permitted use of AI tools.
AI-assisted Contributions
With AI coding tools coming into wide use, it has become very easy for potential contributors to write code without thinking, resulting in contributions that are not actually helpful. To mitigate this, the contributing guide has two guidelines regarding AI-assisted contributions specifically. Individual projects may have additional restrictions in their own contribution policies, but the below is our default expectation:
We are allowing AI-assisted coding contributions. We expect contributors to disclose when they have used such tools and be responsible for their contributions regardless of how they are coded.
We are not allowing AI-generated text for any other purpose, including pull requests descriptions, issues descriptions, replies, documentation or other prose. We expect that contributors understand their work well enough to explain it themselves.
While these tools can be used poorly, we recognize that they can be useful, especially for experts who can properly guide their output. However, to continue maintaining Typelevel projects, we need contributors who actually understand the code they are contributing. We are not interested in getting drive-by contributions from people that do not understand their contributions.
Maintainers do not have unlimited time devote to their projects. As a contributor, please respect the time they are giving you by giving them your attention when you interact with Typelevel projects, rather than handing off the interaction to an AI tool. Generating a long and wordy description of something which can be more concisely and organically expressed serves no one's best interests. Rubber stamping something done even more autonomously by an AI in your name is even less useful.
Code of Conduct Update
On the same vein, we have also made a small addition to the code of conduct, adding a new behavior to the "Our Community" section:
Using your own words. We take the time to communicate with our own thoughts and writing.
Similarly to how AI-generated text isn't permitted outside of code, we expect community members to also respect each other's time. We should put our own effort into their community interactions, not hand them off to an AI tool.
Use of Translation Tools
We do understand that LLMs are excellent tools for bridging language barriers, and as always, we strive for the most inclusive environment possible on our projects and in our community spaces. To that end, we allow the use of AI tooling as a linguistic aid when English is not your primary language. Specifically, when you are authoring your own words in your own language and then leveraging a tool to translate those words to English prior to posting in a Typelevel forum, this is considered acceptable and even encouraged behavior.
This is very different from fully autonomous authorship of long-form prose.
Technical Steering Committee The Technical Steering Committee advises the board on overall technical priorities for the Foundation, especially the designation and stewardship of Organization Projects; and curates the portfolio of Typelevel Affiliate Projects, including soliciting and reviewing applications.
Typelevel Foundation The Typelevel Foundation is a nonprofit 501(c)(3) public charity. Our mission is to maintain Typelevel projects, advance research and education in functional programming, and grow our community.