forgejo/governance
40
34
Fork
You've already forked governance
35

Add the AI agreement #325

Merged
Gusted merged 4 commits from gusted-patch-1 into main 2025年09月14日 16:22:30 +02:00

Resolves forgejo/discussions#366

forgejo/discussions#366 (comment) was agreed upon.

The rationale, remarks, aim and current situation is not copied, only the agreement and terminology.

Per feedback I expanded the terminology section to cover all relevant terms in the agreement section.

Resolves https://codeberg.org/forgejo/discussions/issues/366 https://codeberg.org/forgejo/discussions/issues/366#issuecomment-5897575 was agreed upon. The rationale, remarks, aim and current situation is not copied, only the agreement and terminology. Per feedback I expanded the terminology section to cover all relevant terms in the agreement section.
Resolves forgejo/discussions#366
forgejo/discussions#366 (comment) was agreed upon.
The rationale, remarks, aim and current situation is not copied, only the agreement and terminology.
Per feedback I expanded the terminology section to cover all relevant terms in the agreement section.
Beowulf approved these changes 2025年08月29日 23:30:08 +02:00
Dismissed
earl-warren requested changes 2025年08月29日 23:41:32 +02:00
Dismissed
AIAgreement.md Outdated
@ -0,0 +13,4 @@
## Agreement
1. If content was made with the help of AI, you must convey that this is the case. This includes content that you authored but was motivated by a suggestion of AI.
2. If at any point you used AI's work in your contribution you must demonstrate that you can submit this under the license of the repository.
Contributor
Copy link

The DCO covers that already, in a way that is reasonably manageable. Such a requirement would be better as a reminder in the first part (e.g. "A gentle reminder that when you publish content generated by an AI in Forgejo, you are legally responsible for any copyright violation.").

The DCO covers that already, in a way that is reasonably manageable. Such a requirement would be better as a reminder in the first part (e.g. "A gentle reminder that when you publish content generated by an AI in Forgejo, you are legally responsible for any copyright violation.").
Author
Owner
Copy link

Same as the other point, make sense as it would be in a better place.

Same as the other point, make sense as it would be in a better place.
Author
Owner
Copy link

Legally responsible for any copyright violation isn't the same as the need to demonstrate that you can submit it under the license, one is deferred while the other has to be done before a PR is merged. Not needing to defer was specifically done for AI as the legal situation is unknown and I want to avoid that unknown in the Forgejo space. Mentioning that the person is legally responsible for any copyright violation wasn't agreed upon as a solution (although I trust your judgement that legally this would already be the case without any agreement).

Legally responsible for any copyright violation isn't the same as the need to demonstrate that you can submit it under the license, one is deferred while the other has to be done before a PR is merged. Not needing to defer was specifically done for AI as the legal situation is unknown and I want to avoid that unknown in the Forgejo space. Mentioning that the person is legally responsible for any copyright violation wasn't agreed upon as a solution (although I trust your judgement that legally this would already be the case without any agreement).
Contributor
Copy link

To be clear: I understand there was a consensus to add this requirement in the discussion. I did not raise any concern on that particular point. Nor did anyone else. So it will stand.

The question is not if it stands, it is on the implementation only.

Not needing to defer was specifically done for AI as the legal situation is unknown and I want to avoid that unknown in the Forgejo space

There are two ways to that. In a non binding way (in the first chapter, as a reminder) or in a binding way (as it is currently worded, as one of the required points). The first way is definitely possible. However I don't see how the second way can be implemented.

Legally responsible for any copyright violation isn't the same as the need to demonstrate that you can submit it under the license, one is deferred while the other has to be done before a PR is merged.

For the sake of theoretical field testing that requirement from the point of view of a contributor, could you describe a realistic scenario that they could get inspiration from on how to make such a demonstration in a convincing way?

To be clear: I understand there was a consensus to add this requirement in the discussion. I did not raise any concern on that particular point. Nor did anyone else. So it will stand. The question is not if it stands, it is on the implementation only. > Not needing to defer was specifically done for AI as the legal situation is unknown and I want to avoid that unknown in the Forgejo space There are two ways to that. In a non binding way (in the first chapter, as a reminder) or in a binding way (as it is currently worded, as one of the required points). The first way is definitely possible. However I don't see how the second way can be implemented. > Legally responsible for any copyright violation isn't the same as the need to demonstrate that you can submit it under the license, one is deferred while the other has to be done before a PR is merged. For the sake of theoretical field testing that requirement from the point of view of a contributor, could you describe a realistic scenario that they could get inspiration from on how to make such a demonstration in a convincing way?
Author
Owner
Copy link

@earl-warren wrote in #325 (comment):

For the sake of theoretical field testing that requirement from the point of view of a contributor, could you describe a realistic scenario that they could get inspiration from on how to make such a demonstration in a convincing way?

I'm currently aware of https://osai-index.eu that indexes AI models based on their openness and provide a clear overview. The current top model, https://osai-index.eu/model/OLMo, shows that the tooling and data used for the creation of this AI model is available, crucially the dataset is licensed under https://opendatacommons.org/licenses/by/1-0/ which would need to be checked if derivative content can be licensed under MIT or GPL and which terms and conditions needs to be complied with.

I wouldn't mind a contributor deferring this demonstrating to what the provider of the AI says, although the contributor would still be legally responsible if it ends up being a copyright risk.

I think if we combine the two this would be the most pragmatic way to solve it. Have the gentle reminder in the DCO and have the user demonstrate the DCO requirement as a soft requirement. For most AI models I think it would be rather easy to see that the provider says something that they don't claim any copyright over it and you're responsible for that part (which means the licensing is unclear and wouldn't pass the DCO requirement) and with a model like mentioned before it would be rather easy to show that it looks very open and that the license of the dataset is complied with can be licensed under MIT/GPL. If it ends up being wrong then the DCO reminder would still have effect, but at least there was a best-effort to avoid it (which is okay with me).

@earl-warren wrote in https://codeberg.org/forgejo/governance/pulls/325#issuecomment-6808459: > For the sake of theoretical field testing that requirement from the point of view of a contributor, could you describe a realistic scenario that they could get inspiration from on how to make such a demonstration in a convincing way? I'm currently aware of https://osai-index.eu that indexes AI models based on their openness and provide a clear overview. The current top model, https://osai-index.eu/model/OLMo, shows that the tooling and data used for the creation of this AI model is available, crucially the dataset is licensed under https://opendatacommons.org/licenses/by/1-0/ which would need to be checked if derivative content can be licensed under MIT or GPL and which terms and conditions needs to be complied with. I wouldn't mind a contributor deferring this demonstrating to what the provider of the AI says, although the contributor would still be legally responsible if it ends up being a copyright risk. I think if we combine the two this would be the most pragmatic way to solve it. Have the gentle reminder in the DCO and have the user demonstrate the DCO requirement as a soft requirement. For most AI models I think it would be rather easy to see that the provider says something that they don't claim any copyright over it and you're responsible for that part (which means the licensing is unclear and wouldn't pass the DCO requirement) and with a model like mentioned before it would be rather easy to show that it looks very open and that the license of the dataset is complied with can be licensed under MIT/GPL. If it ends up being wrong then the DCO reminder would still have effect, but at least there was a best-effort to avoid it (which is okay with me).
Contributor
Copy link

Instead of "must demonstrate" it could be "should make an effort to verify". It is more binding than if it was in the preamble. But it is also not a hard requirement to provide a demonstration that may not be possible in all cases.

I would be ok with that.

Instead of "must demonstrate" it could be "should make an effort to verify". It is more binding than if it was in the preamble. But it is also not a hard requirement to provide a demonstration that may not be possible in all cases. I would be ok with that.
Author
Owner
Copy link
  1. If at any point you used AI's work in your contribution should make an effort to verify that you can submit this under the license of the repository.

would work with me. The moderation team (although I also would likely be interested in this and ask it myself) could ask what this effort was.

> 2. If at any point you used AI's work in your contribution should make an effort to verify that you can submit this under the license of the repository. would work with me. The moderation team (although I also would likely be interested in this and ask it myself) could ask what this effort was.
Contributor
Copy link

Yes, if it comes to a point where a contribution feels like AI generated and possibly originating from somewhere else, that would be relevant.

Yes, if it comes to a point where a contribution feels like AI generated and possibly originating from somewhere else, that would be relevant.
earl-warren marked this conversation as resolved
@ -0,0 +16,4 @@
2. If at any point you used AI's work in your contribution you must demonstrate that you can submit this under the license of the repository.
3. The accountability of using AI in a contribution lies with the person that makes that contribution.
4. All communication, that includes: commit messages, pull request messages, documentation, code comments and issues (and comments on issues/pull requests), that is intended to be read by people to understand your thoughts and work must not have been generated with AI. We exclude machine translation and tooling that helps with grammar and spelling check.
5. Using general AI for review is forbidden. If the change contains changes to the UX it has to be approved by a human reviewer.
Contributor
Copy link

If the change contains changes to the UX it has to be approved by a human reviewer.

I propose to remove this sentence since it is implied by the first sentence.

> If the change contains changes to the UX it has to be approved by a human reviewer. I propose to remove this sentence since it is implied by the first sentence.
Author
Owner
Copy link

The intention was that when AI is used for very specific problems (narrow AI) it still may not be used for UX related changes, as AI would otherwise dictate what people should experience.

The intention was that when AI is used for very specific problems (narrow AI) it still may not be used for UX related changes, as AI would otherwise dictate what people should experience.
Member
Copy link

Using general AI for review is forbidden.

What is your intention here? I guess you mean, that no AI bot is allowed that is doing the review?

What about a human reviewing and using AI during the review process, e.g. AI that helps them to look for related pieces, analyses the context, etc.?

> Using general AI for review is forbidden. What is your intention here? I guess you mean, that no AI bot is allowed that is doing the review? What about a human reviewing and using AI during the review process, e.g. AI that helps them to look for related pieces, analyses the context, etc.?
Contributor
Copy link

Here is how I undestand it: no AI at all is involved because the review value is in having a human grasp the proposed change, think about it, figuring out why and how it makes sense, think of border cases. If a human needs an AI at any point of that process, they are welcome to comment but it means they do not have the required skills to review and either approve or request changes.

Here is how I undestand it: no AI at all is involved because the review value is in having a human grasp the proposed change, think about it, figuring out why and how it makes sense, think of border cases. If a human needs an AI at any point of that process, they are welcome to comment but it means they do not have the required skills to review and either approve or request changes.
Gusted marked this conversation as resolved
AIAgreement.md Outdated
@ -0,0 +18,4 @@
4. All communication, that includes: commit messages, pull request messages, documentation, code comments and issues (and comments on issues/pull requests), that is intended to be read by people to understand your thoughts and work must not have been generated with AI. We exclude machine translation and tooling that helps with grammar and spelling check.
5. Using general AI for review is forbidden. If the change contains changes to the UX it has to be approved by a human reviewer.
6. It is not allowed to use AI in an autonomous-looking way to contribute in Forgejo. This also applies when someone engages in 'vibe coding' or uses so-called 'agent mode'.
7. Upon violation of the aforementioned agreements it is up to the discretion of the moderation team to handle it like a violation of [Forgejo's COC](https://codeberg.org/forgejo/code-of-conduct).
Contributor
Copy link

I propose to remove this in favor of the following, which allows the moderation team to intervene.

The following is added to the Code of Conduct.

modified README.md
@@ -32,6 +32,8 @@ community include:
 
 Examples of unacceptable behavior include:
 
+* Using AI in a way that goes against the [Forgejo AI Agreement](...)
 * The use of sexualized language or imagery, and sexual attention or advances of
 any kind
 * Trolling, insulting or derogatory comments, and personal or political attacks
I propose to remove this in favor of the following, which allows the moderation team to intervene. The following is added to the [Code of Conduct](https://codeberg.org/forgejo/code-of-conduct/src/commit/c4e1d428922ecf1f4e3b8e193fe4ee2ca471fa79/README.md). ```diff modified README.md @@ -32,6 +32,8 @@ community include: Examples of unacceptable behavior include: +* Using AI in a way that goes against the [Forgejo AI Agreement](...) * The use of sexualized language or imagery, and sexual attention or advances of any kind * Trolling, insulting or derogatory comments, and personal or political attacks ```
Author
Owner
Copy link

This makes sense, will do that. In the end it's the same agreement but in a better place.

This makes sense, will do that. In the end it's the same agreement but in a better place.
Author
Owner
Copy link
https://codeberg.org/forgejo/code-of-conduct/pulls/25
Gusted marked this conversation as resolved
Contributor
Copy link

To clarify my requests for change. Now that there is a general consensus on how the agreement should be implemented, my changes are not on the substance of the agreement but on the fine details, in summary:

  • Where should it be mentioned that the moderation team has cause for action when the agreement is not respected?
  • Where and how should the legal implications be mentioned?
  • Clarify possible ambiguous / difficult to understand statements

If you feel that my request for changes are not in line with how the discussion went, please say so and I'll amend accordingly 🙏

To clarify my requests for change. Now that there is a general consensus on how the agreement should be implemented, my changes are not on the substance of the agreement but on the fine details, in summary: - Where should it be mentioned that the moderation team has cause for action when the agreement is not respected? - Where and how should the legal implications be mentioned? - Clarify possible ambiguous / difficult to understand statements If you feel that my request for changes are not in line with [how the discussion went](https://codeberg.org/forgejo/discussions/issues/366#issuecomment-5897575), please say so and I'll amend accordingly 🙏
This is agreement is handled via forgejo/code-of-conduct#25 
Gusted dismissed Beowulf's review 2025年08月30日 00:36:28 +02:00
Reason:

New commits pushed, approval review dismissed automatically according to repository settings

wetneb approved these changes 2025年08月30日 08:33:13 +02:00
Dismissed
viceice approved these changes 2025年09月01日 10:32:56 +02:00
Dismissed
Gusted dismissed wetneb's review 2025年09月05日 21:55:17 +02:00
Reason:

New commits pushed, approval review dismissed automatically according to repository settings

Gusted dismissed viceice's review 2025年09月05日 21:55:18 +02:00
Reason:

New commits pushed, approval review dismissed automatically according to repository settings

AIAgreement.md Outdated
@ -0,0 +13,4 @@
## Agreement
1. If content was made with the help of AI, you must convey that this is the case. This includes content that you authored but was motivated by a suggestion of AI.
2. If at any point you used AI's work in your contribution should make an effort to verify that you can submit this under the license of the repository.
Member
Copy link
+you
```diff +you ```
Author
Owner
Copy link

Good catch, thank you!

Good catch, thank you!
mahlzahn marked this conversation as resolved
Contributor
Copy link

The title of the agreement should be different. It conveys the wrong message. It is not "An agreement to use AI" it is rather "Responsible use of AI in Forgejo" or something.

https://tabletop.social/@mxfraud/115153466564788641 reaction suggests the reader stopped at the title.

The title of the agreement should be different. It conveys the wrong message. It is not "An agreement to use AI" it is rather "Responsible use of AI in Forgejo" or something. https://tabletop.social/@mxfraud/115153466564788641 reaction suggests the reader stopped at the title.

@earl-warren wrote in #325 (comment):

The title of the agreement should be different. It conveys the wrong message. It is not "An agreement to use AI" it is rather "Responsible use of AI in Forgejo" or something.

https://tabletop.social/@mxfraud/115153466564788641 reaction suggests the reader stopped at the title.

I didn't read it that way. That person's stance is "no AI at all".

We put a lot of restrictions on it, but we do allow contributions made with AI in a form greater than "none". A more defensive title alone wouldn't make that person happy.


But I do like that title better, irrespective of that post.

@earl-warren wrote in https://codeberg.org/forgejo/governance/pulls/325#issuecomment-6961502: > The title of the agreement should be different. It conveys the wrong message. It is not "An agreement to use AI" it is rather "Responsible use of AI in Forgejo" or something. > > https://tabletop.social/@mxfraud/115153466564788641 reaction suggests the reader stopped at the title. I didn't read it that way. That person's stance is "no AI at all". We put a lot of restrictions on it, but we do allow contributions made with AI in a form greater than "none". A more defensive title alone wouldn't make that person happy. --- But I do like that title better, irrespective of that post.

Currently there is no title on the document (like also for the PR agreement) and I think AIAgreement.md is the correct path inside the governance repository.

But, for the yet to be compiled blog post (maybe?), your proposed title sounds like a good option, where this responsible use can be explained.

Currently there is no title on the document (like also for the [PR agreement](https://codeberg.org/forgejo/governance/src/branch/main/PullRequestsAgreement.md)) and I think AIAgreement.md is the correct path inside the governance repository. But, for the yet to be compiled blog post (maybe?), your proposed title sounds like a good option, where this responsible use can be explained.
@ -0,0 +14,4 @@
1. If content was made with the help of AI, you must convey that this is the case. This includes content that you authored but was motivated by a suggestion of AI.
2. If at any point you used AI's work in your contribution you should make an effort to verify that you can submit this under the license of the repository.
3. The accountability of using AI in a contribution lies with the person that makes that contribution.
Member
Copy link

For outside observers: Please observe 2 and 3.

For outside observers: Please observe `2` and `3`.
0ko approved these changes 2025年09月13日 15:21:06 +02:00
0ko left a comment
Copy link

This is a sensible agreement.

This is a sensible agreement.
Gusted referenced this pull request from a commit 2025年09月14日 16:22:30 +02:00
Gusted deleted branch gusted-patch-1 2025年09月14日 16:22:32 +02:00
Sign in to join this conversation.
Labels
Clear labels
[Decision] Building proposal(s)
We're in a decision-making process, buiding one or more proposals to address the shared aim based on the criteria
[Decision] Collecting stakeholders
We're in a decision-making process, figuring out the relevant stakeholders and bringing them into the process
[Decision] Documenting and implementing
We finished a decision-making process, now documenting and/or implementing the decision
[Decision] Gathering advice
We're in a decision-making process, waiting for people to add their feedback
[Decision] Gathering criteria
We're in a decision-making process, gathering criteria, considerations and needs
[Decision] Integrating concerns
We're in a decision-making process, working with a proposal, trying to integrate concerns and create modifications/support such that the proposal works for everyone
[Decision] Phrasing shared motive
We're in a decision-making process, phrasing the shared question/problem/issue we want to tackle
Membership
Process of appointing a person as a team member.
Moderation
Moderation actions in Forgejo spaces
Money
Accounting, day to day management of money
Scheduled chores
Tasks that need to be done at a scheduled date in the future (paying the bills, renewing certificates, etc.)
User research - Accessibility
Requires input about accessibility features, likely involves user testing.
User research - Blocked
Do not pick as-is! We are happy if you can help, but please coordinate with ongoing redesign in this area.
User research - Community
Community features, such as discovering other people's work or otherwise feeling welcome on a Forgejo instance.
User research - Config (instance)
Instance-wide configuration, authentication and other admin-only needs.
User research - Errors
How to deal with errors in the application and write helpful error messages.
User research - Filters
How filter and search is being worked with.
User research - Future backlog
The issue might be inspiring for future design work.
User research - Git workflow
AGit, fork-based and new Git workflow, PR creation etc
User research - Labels
Active research about Labels
User research - Moderation
Moderation Featuers for Admins are undergoing active User Research
User research - Needs input
Use this label to let the User Research team know their input is requested.
User research - Notifications/Dashboard
Research on how users should know what to do next.
User research - Rendering
Text rendering, markup languages etc
User research - Repo creation
Active research about the New Repo dialog.
User research - Repo units
The repo sections, disabling them and the "Add more" button.
User research - Security
User research - Settings (in-app)
How to structure in-app settings in the future?
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
11 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
forgejo/governance!325
Reference in a new issue
forgejo/governance
No description provided.
Delete branch "gusted-patch-1"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?