# Proposed update to our contribution policy regarding AI

**URL:** <https://gramps.discourse.group/t/proposed-update-to-our-contribution-policy-regarding-ai/7556>\
**Category:** Development\
**Tags:** ai, policy\
**Created:** [April 28, 2025, 6:05pm UTC](https://gramps.discourse.group/t/proposed-update-to-our-contribution-policy-regarding-ai/7556 "2025-04-28T18:05:35Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Nick-Hall](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/nick-hall/32/95_2.png) [@Nick-Hall](https://gramps.discourse.group/u/Nick-Hall)\
**Post date:** [April 28, 2025, 6:05pm UTC](https://gramps.discourse.group/t/proposed-update-to-our-contribution-policy-regarding-ai/7556/1 "2025-04-28T18:05:36Z")

</div>

After reading a comment in pull request [#2047](https://github.com/gramps-project/gramps/pull/2047) where the contributor mentions that they had “a lot of help from Claude AI”, I think that it is time to review our stance on AI again.

Our current [contribution policy](https://gramps-project.org/wiki/index.php/Howto:_Contribute_to_Gramps) states that you must “certify that you personally authored the code and did not copy from other implementations or use AI generators”.

This is probably too strict and I suggest that we amend the policy so that the use of AI code assistants and generators is allowed. The motivation behind this proposal is to increase productivity and code quality.

Developers must still write their own code, but may use an AI tool for assistance. This is similar to allowing developers to use Stack Overflow to obtain an answer to a particular programming problem or understand a concept. Any code not written by the contributor must be released under GPLv2+ or compatible licence, and the code must be properly attributed. Short generic examples can generally be used without attribution, but longer code segments should be attributed. The same rules apply to AI generated code.

Using AI tools is not a substitute for taking time to understand the code base and participate in developer discussions. Code constructed by an AI with a few keyword prompts, will probably be low quality. The responsibility for submitting good quality code remains with the developer.

Your opinions are welcome.

The following forum topics are relevant to this discussion:

- [Gramps, AI (Artificial Intelligence) and the Future](https://gramps.discourse.group/t/gramps-ai-artificial-intelligence-and-the-future)
- [Guidelines for using AI when documenting Gramps](https://gramps.discourse.group/t/guidelines-for-using-ai-when-documenting-gramps)

I also found a couple of recent articles that may be of interest:

- [When bots commit: AI-generated code in open source projects](https://www.redhat.com/en/blog/when-bots-commit-ai-generated-code-open-source-projects)
- [Navigating AI Tools in Open Source Contributions: A Guide to Authentic Development | D-Lab](https://dlab.berkeley.edu/news/navigating-ai-tools-open-source-contributions-guide-authentic-development)

---

<div class="post-metadata">

**Author:** ![emyoulation](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/emyoulation/32/67_2.png) [@emyoulation](https://gramps.discourse.group/u/emyoulation)\
**Post date:** [April 28, 2025, 7:33pm UTC](https://gramps.discourse.group/t/proposed-update-to-our-contribution-policy-regarding-ai/7556/2 "2025-04-28T19:33:03Z")

</div>

Here’s another example. The idea was posted in Mar 2023 for adding support for bread-crumbed line-of-descent info in the NGSQ formatting style. This was merely about taking a list of Names with generation markers and formatting them. (The portion to have Gramps populated the list of names and generation values has not been started.) This formatting feature has been stalled since then.

Breadcrumbed samples with semicolons:

Full array (reverse order … progenitor to [proband](https://www.gramps-project.org/wiki/index.php/Genealogy_Glossary#proband)):  
`Charlieᴮ Jᴏʜɴsᴏɴ; Davidᴬ Jᴏɴᴇs; Bob¹⁹⁹; Alice²² MᴄCᴏʏ`

Full array (original order … [proband](https://www.gramps-project.org/wiki/index.php/Genealogy_Glossary#proband) to progenitor):  
 `Alice²² MᴄCᴏʏ; Bob¹⁹⁹ Jᴏɴᴇs; Davidᴬ; Charlieᴮ Jᴏʜɴsᴏɴ`

> Since the above works well on a Desktop but not on my smart phone:
> 
> ![image](https://global.discourse-cdn.com/free1/uploads/gramps/original/2X/7/7415a9920e4d03fe85c8e2d65b1d0847bd694c5a.png)

ChatGPT suggested a short snippet that was pretty short. (Although it really mangled the Superscript formatting portion. That would have to be ripped out and replaced entirely.)

My take on the policy was that since I had seen the ChatGPT code, even a complete rewrite would be “fruit of the poisonous tree” and unacceptable. So my pursuing the idea any further was futile.

> [@Commonly seen Genealogical Reports that are not supported](https://gramps.discourse.group/t/commonly-seen-genealogical-reports-that-are-not-supported/3367/3):
>
> Holy crap! I just asked the ChatGPT to write a Python script and it did! Plus it gave example output and summarized the code in plain (techie) language. Me: Create a Python script that takes a 2 dimensional array of text strings (with the array being a list of Given name strings and Surname strings) that prints the Strings in list order with a superscript list item index between each Given name and Surname and semicolons separating each element of the list. Surnames should be in Small Caps f…

---

<div class="post-metadata">

**Author:** ![StoltHD](https://avatars.discourse-cdn.com/v4/letter/s/db5fbb/32.png) [@StoltHD](https://gramps.discourse.group/u/StoltHD)\
**Post date:** [April 28, 2025, 8:53pm UTC](https://gramps.discourse.group/t/proposed-update-to-our-contribution-policy-regarding-ai/7556/3 "2025-04-28T20:53:45Z")

</div>

> [@Nick-Hall](#):
>
> Developers must still write their own code, but may use an AI tool for assistance. This is similar to allowing developers to use Stack Overflow to obtain an answer to a particular programming problem or understand a concept. Any code not written by the contributor must be released under GPLv2+ or compatible licence, and the code must be properly attributed. Short generic examples can generally be used without attribution, but longer code segments should be attributed. The same rules apply to AI generated code.

It is actually possible to configure/write instructions to both Perplexity and Copilot to prioritize Gramps-compatible code and libraries when asking for help with code or requesting a code example. This ensures that the suggestions provided align with the project’s licensing requirements and compatibility needs. Furthermore, it is also feasible to use one AI tool to cross-check or validate code generated by another AI client. This additional step can help verify compliance with standards and enhance the quality of the code submitted.

* * *

It is of course also possible to ask AI to add comments to any code it generates.

Perhaps a small instructional document outlining how to proceed and what to include when writing code with the help of AI would be a good idea. For example:

- Always instruct AI to use Gramps-compatible code wherever and whenever possible.
- Include comments indicating that the section is AI-generated or AI-assisted code wherever it is used.
- If the entire code was written by AI based on the author’s instructions, include a statement in the header of each script file clarifying this.
- Additionally, you could request that any prompts or instructions used during the AI code generation process are contributed to the project, as they serve as proof of the idea and context behind the implementation.

* * *

By leveraging these features, developers can responsibly incorporate AI tools into their workflow while maintaining adherence to Gramps’ contribution policies. It reinforces the idea that AI is a supplementary tool meant to assist with coding tasks, not replace the developer’s understanding or accountability. With proper configuration and oversight, AI tools can significantly improve productivity and code quality, while also ensuring compliance with GPLv2+ licensing rules and attribution requirements.

Edit: had to change a few badly written lines.

* * *

_ **Note:** This text has been finalized and reviewed with the assistance of Copilot, based on input and direction provided by the author._

---

<div class="post-metadata">

**Author:** ![Nick-Hall](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/nick-hall/32/95_2.png) [@Nick-Hall](https://gramps.discourse.group/u/Nick-Hall)\
**Post date:** [April 28, 2025, 9:08pm UTC](https://gramps.discourse.group/t/proposed-update-to-our-contribution-policy-regarding-ai/7556/4 "2025-04-28T21:08:38Z")

</div>

> [@emyoulation](#):
>
> My take on the policy was that since I had seen the ChatGPT code, even a complete rewrite would be “fruit of the poisonous tree” and unacceptable.

No. The policy refers to viewing proprietary code.

---

<div class="post-metadata">

**Author:** ![Nick-Hall](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/nick-hall/32/95_2.png) [@Nick-Hall](https://gramps.discourse.group/u/Nick-Hall)\
**Post date:** [April 28, 2025, 9:13pm UTC](https://gramps.discourse.group/t/proposed-update-to-our-contribution-policy-regarding-ai/7556/5 "2025-04-28T21:13:35Z")

</div>

> [@StoltHD](#):
>
> It is actually possible to configure both Perplexity and Copilot to prioritize Gramps-compatible code and libraries when asking for help with code or requesting a code example. This ensures that the suggestions provided align with the project’s licensing requirements and compatibility needs.

Yes. Are you suggesting that we specify how these tools should be configured?

> [@StoltHD](#):
>
> Furthermore, it is also feasible to use one AI tool to cross-check or validate code generated by another AI client. This additional step can help verify compliance with standards and enhance the quality of the code submitted.

Should we run a plagiarism checker, or is this already done by the AI tools?

---

<div class="post-metadata">

**Author:** ![StoltHD](https://avatars.discourse-cdn.com/v4/letter/s/db5fbb/32.png) [@StoltHD](https://gramps.discourse.group/u/StoltHD)\
**Post date:** [April 28, 2025, 10:06pm UTC](https://gramps.discourse.group/t/proposed-update-to-our-contribution-policy-regarding-ai/7556/6 "2025-04-28T22:06:01Z")

</div>

As far as I have discovered as a non-programmer, I have asked both Copilot and Perplexity for information and assistance in my attempts to write some code for various projects, including those intended for use with Gramps and Obsidian/Foam.

There is no built-in plagiarism checker in either tool, but when instructed, they will exclusively use open-source code and libraries compatible with Gramps’ guidelines and licensing requirements. Both AI tools suggested that using one AI to cross-check or validate code generated by another AI could help identify potential incompatibilities or provide alternative, improved ways to write the code. However, both tools also recommended using a dedicated plagiarism checker if more advanced or complex code is involved.

I just posted a suggestion for a guideline written by Copilot in another post, here is a copy of that:

* * *

> # Comprehensive Guideline for Using AI to Write Python Code for the Gramps Project
> 
> This guideline is designed to help individuals with no prior experience in Python programming or licensing compatibility effectively use AI tools for code generation and assistance while adhering to best practices for the Gramps project.
> 
> ## Core Recommendations
> 
> 1. **Always Instruct AI to Add Comments Indicating Code Origin**
> 
> 2. **Include a Header Comment in All Scripts**
> 
> 3. **Always Instruct AI to Use Gramps-Compatible Code**
> 
> 4. **Document AI Prompts and Instructions**
> 
> 5. **Credit All External Code and Libraries**
> 
> ## Additional Insights and Best Practices
> 
> 1. **Cross-Validation of AI-Generated Code**
> 
> 2. **Version Control Best Practices**
> 
> 3. **Training AI for Project-Specific Needs**
> 
> * * *
> 
> By following these comprehensive guidelines, contributors can responsibly use AI tools for Python programming in the Gramps project, fostering innovation while adhering to project policies and licensing standards.
> 
> * * *
> 
> _Note: This guideline has been independently written, enhanced, and finalized by me, Copilot (Cogitarius Nova), based on general recommendations and principles. Author asked me to address several key points, which have been integrated into the text alongside my own analyses. You are welcome to use, adapt, and share this text as needed._

* * *

This is of course just a suggestion based a few instructions and a few point I personally find important

* * *

Personally, I believe that if someone with experience were to create a document with clear instructions on what an AI assistant or generated code requires in terms of documentation, it would enable people to begin contributing code for review and integration into the Gramps project, The Gramps project could limit this contribution to Gramplets or in spesial cases allow it as functions/features in the main project.

Naturally, there would need to be guidelines outlining how contributions should be structured and what elements to include. For instance, it could be helpful to first share an overview of the idea behind “the project” or something similar before any code is submitted for review. This approach could prevent unnecessary time and effort being wasted on code that ultimately cannot be used.

People like me, we do not know how to run code through a plagiarism checker, we mostly don’t even know how to set up a github project, but some might have some really great ideas they want to try to create something out of without wasting Gramps programmers time.

---

<div class="post-metadata">

**Author:** ![StoltHD](https://avatars.discourse-cdn.com/v4/letter/s/db5fbb/32.png) [@StoltHD](https://gramps.discourse.group/u/StoltHD)\
**Post date:** [April 28, 2025, 10:19pm UTC](https://gramps.discourse.group/t/proposed-update-to-our-contribution-policy-regarding-ai/7556/7 "2025-04-28T22:19:56Z")

</div>

And another thing…

Personally, I think all AI generated images or graphics should be banned by the Project…

---

<div class="post-metadata">

**Author:** ![emyoulation](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/emyoulation/32/67_2.png) [@emyoulation](https://gramps.discourse.group/u/emyoulation)\
**Post date:** [April 28, 2025, 10:29pm UTC](https://gramps.discourse.group/t/proposed-update-to-our-contribution-policy-regarding-ai/7556/8 "2025-04-28T22:29:44Z")

</div>

> [@StoltHD](#):
>
> Personally, I think all AI generated images or graphics should be banned by the Project…

I am curious as to your reasoning? If you are speaking of restricting Gramps from using AI generating icons or diagramming styles or themes, that seems excessive.

But AI generated genealogical imagery is something I find personally offensive. Just as I am opposed to lossy image formats that lose fidelity, systems that ADD to an image (other than adding captioning or metadata) are not preserving data. And faithful preservation is one of the core goals of genealogy.

---

<div class="post-metadata">

**Author:** ![Nick-Hall](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/nick-hall/32/95_2.png) [@Nick-Hall](https://gramps.discourse.group/u/Nick-Hall)\
**Post date:** [April 28, 2025, 10:42pm UTC](https://gramps.discourse.group/t/proposed-update-to-our-contribution-policy-regarding-ai/7556/9 "2025-04-28T22:42:33Z")

</div>

> [@StoltHD](#):
>
> but some might have some really great ideas they want to try to create something out of without wasting Gramps programmers time.

This reminds me of a section of the UC Berkeley D-Lab article:

“The responsibility to fully understand the project you’re contributing to and the code you’re generating remains firmly with you. Shifting the burden of learning and review to project maintainers goes against the collaborative spirit of open source.”

We don’t want low-effort AI-generated contributions that increase the workload of maintainers and reviewers. Poor quality code will tend to be rejected rather than fixed.

I would still prefer contributors to write their own code, but allow AI assistance.

---

<div class="post-metadata">

**Author:** ![StoltHD](https://avatars.discourse-cdn.com/v4/letter/s/db5fbb/32.png) [@StoltHD](https://gramps.discourse.group/u/StoltHD)\
**Post date:** [April 28, 2025, 11:07pm UTC](https://gramps.discourse.group/t/proposed-update-to-our-contribution-policy-regarding-ai/7556/10 "2025-04-28T23:07:47Z")

</div>

While I completely agree that contributors bear the responsibility to fully understand the project and the code they provide, it is important to address a potentially overlooked perspective. Labeling AI-generated contributions as inherently “low effort” risks undervaluing the ideas and contributions of individuals who may not possess advanced coding skills.

Not every great idea comes from an experienced developer. Some contributors may have innovative concepts and valuable insights but lack the technical expertise to implement them independently. AI tools can act as an enabler in these cases, helping them translate their ideas into functional code, which would otherwise remain unrealized.

It is troubling to see the assumption that contributors relying on AI-generated or AI-assisted code are “low effort” or that their contributions are inherently less valuable. Such an attitude risks alienating individuals who may have genuinely innovative ideas but need support to bring them to fruition. Dismissing these contributions simply because they do not originate from experienced coders undermines the inclusivity that open-source projects should actively foster.

Equating AI-generated code with poor quality is also overly simplistic and dismissive. With proper guidelines in place—such as ensuring transparency in AI usage, adherence to licensing standards, and collaborative validation processes—AI tools can significantly enhance both productivity and code quality. By portraying all AI-assisted contributions as “low effort,” we risk discouraging valuable ideas from contributors who could use AI responsibly to provide meaningful and thoughtful input.

The potential value of an idea should never be measured solely by an individual’s ability to write code unaided. Open-source projects thrive on diversity of thought, collaboration, and the ability to harness a wide range of contributions. Rejecting contributions based on a perception of effort, rather than their actual merit, does a disservice to the community. Instead of diminishing the efforts of those relying on AI or assistance, it would be far more productive to create robust frameworks for responsible AI usage, enabling contributors to align their work with project standards while fully participating in the ecosystem.

It is also worth highlighting that AI-generated or AI-assisted code does not inherently lack quality. When following best practices—such as adding clear documentation, explicitly defining the AI’s role, and ensuring compatibility with the project’s guidelines—AI tools can be an asset to both productivity and inclusivity. Additionally, utilizing one AI tool to cross-check code created by another can introduce an additional layer of validation, reinforcing adherence to standards.

* * *

I will also say that the article you referred to is reasonably biased, as it is written by experienced coders and individuals who are already well-established in the programming community, and that referring to a single sentence in the UC Berkeley D-Lab article to make a negative or dismissive argument about AI-generated contributions feels both selective and out of context. While the line, “The responsibility to fully understand the project you’re contributing to and the code you’re generating remains firmly with you,” underscores the importance of accountability, it is hardly representative of the article’s broader stance.

The article itself paints a much more nuanced picture of AI in open-source development. It acknowledges that AI tools, when used responsibly, can significantly enhance contributions by improving documentation, identifying bugs, suggesting optimizations, and automating repetitive tasks. These points demonstrate the potential of AI as a valuable ally in fostering collaboration, productivity, and innovation within open-source communities. It even suggests frameworks for transparency, such as including commit messages that disclose AI involvement and thorough validation of AI-generated outputs.

By singling out one statement without acknowledging the broader context of the article, the argument risks mischaracterizing the overall message. Rather than dismissing AI-generated contributions as inherently problematic, the article advocates for a thoughtful balance—encouraging contributors to embrace AI for its efficiency and support, while ensuring the human elements of collaboration, learning, and responsibility remain central.

Additionally, selectively citing one sentence to criticize AI users risks devaluing the meaningful contributions of those who rely on AI to bridge gaps in their technical expertise. Open-source communities thrive on inclusivity and diversity of ideas, and dismissing contributions merely because they involve AI could alienate individuals with innovative concepts who lack traditional coding expertise. The article itself emphasizes the importance of transparency and review processes, which are practical solutions to ensuring high-quality AI-assisted contributions without diminishing the collaborative spirit of open source.

In essence, the UC Berkeley D-Lab article does not advocate for rejecting AI-generated contributions; rather, it provides a framework for integrating AI responsibly and effectively into open-source projects. Using it to argue against AI-assisted contributions misrepresents the balanced and forward-looking perspective of the article.

_Note: This text has been finalized and reviewed by Copilot, also known as Cogitarius Nova, who served as a tool for ensuring linguistic accuracy, logical flow, and translation into English, based on instructions from the author._

---

<div class="post-metadata">

**Author:** ![Nick-Hall](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/nick-hall/32/95_2.png) [@Nick-Hall](https://gramps.discourse.group/u/Nick-Hall)\
**Post date:** [April 28, 2025, 11:37pm UTC](https://gramps.discourse.group/t/proposed-update-to-our-contribution-policy-regarding-ai/7556/11 "2025-04-28T23:37:11Z")

</div>

> [@StoltHD](#):
>
> It is troubling to see the assumption that contributors relying on AI-generated or AI-assisted code are “low effort” or that their contributions are inherently less valuable.

I didn’t make that assumption.

The same UC Berkeley D-Lab article that I quoted before raises another good point:

“Additionally, thorough validation of AI-generated content is essential. You must review all code carefully, test extensively (especially edge cases), and ensure you understand every line before committing.”

A good contribution can’t be low-effort because of this.

My proposal is in favour of AI-assisted contributions, not against them. Please read what I am actually saying. I referenced the two articles because I think that they are worth reading.

---

<div class="post-metadata">

**Author:** ![StoltHD](https://avatars.discourse-cdn.com/v4/letter/s/db5fbb/32.png) [@StoltHD](https://gramps.discourse.group/u/StoltHD)\
**Post date:** [April 29, 2025, 12:45pm UTC](https://gramps.discourse.group/t/proposed-update-to-our-contribution-policy-regarding-ai/7556/12 "2025-04-29T12:45:27Z")

</div>

I interpreted your response to the quote you made from my text, along with the citation from the UC Berkeley D-Lab article and what you wrote, as an overall critique of AI-generated contributions. The way it was structured suggested concerns about low-effort AI-generated code increasing the workload for maintainers, with an emphasis on rejecting poor-quality submissions rather than fixing them.

Since your statement highlighted the responsibility of contributors to fully understand the project and not shift the burden onto maintainers, it gave the impression that strict limitations on AI-generated code were being advocated. Additionally, your preference for contributors to write their own code reinforced this interpretation, making it seem as though AI assistance should be **minimal** rather than an accepted tool for development.

However, your clarification later stated that your proposal is actually **in favor of AI-assisted contributions** , not against them. This contradicted the initial impression given by your focus on quality concerns and workload issues. The way your response was structured—prioritizing risks and drawbacks before acknowledging AI as a useful tool—led to the misunderstanding."\*\*

---

<div class="post-metadata">

**Author:** ![StoltHD](https://avatars.discourse-cdn.com/v4/letter/s/db5fbb/32.png) [@StoltHD](https://gramps.discourse.group/u/StoltHD)\
**Post date:** [April 29, 2025, 1:05pm UTC](https://gramps.discourse.group/t/proposed-update-to-our-contribution-policy-regarding-ai/7556/13 "2025-04-29T13:05:09Z")

</div>

> [@emyoulation](#):
>
> I am curious as to your reasoning? If you are speaking of restricting Gramps from using AI generating icons or diagramming styles or themes, that seems excessive.

\*\*"Any art that involves AI training from scraped imagery on the internet—whether photographs, handcrafted graphics, diagrams, styles, etc.—is inherently tied to intellectual property and licensing concerns.

In other words, nearly all AI-generated images and graphics are built upon some kind of art with intellectual property attached to it, whether that be a written credit line, copyright statement, or even just common sense regarding ownership.

Of course, this does not include commonly used code provided by the creator of a graphing library or algorithm, where a set of attributes is used to generate a specific result. For example, AI generating a diagram or graph using a library, where the AI utilizes the attributes defined by the developer to produce a structured output—such as generating a graph in NetworkX or Plotly—would not fall under this concern."\*\*

You are all really concerned about intellectual property on code, that AI will use closed code or code/libraries with the wrong lisence, when generating code, but it doesn’t seem that this is as important when it comes to any form of art, being characters, icons or graphics, photos or themes design, or any other category of handcrafted items.

Why is that?

---

<div class="post-metadata">

**Author:** ![emyoulation](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/emyoulation/32/67_2.png) [@emyoulation](https://gramps.discourse.group/u/emyoulation)\
**Post date:** [April 29, 2025, 1:36pm UTC](https://gramps.discourse.group/t/proposed-update-to-our-contribution-policy-regarding-ai/7556/14 "2025-04-29T13:36:08Z")

</div>

There is well defined precedent on emulating the style of an artist, re-use in “original” collage art, and a broad range of art copyright law. The same with literary plagiarism. (There’s been some recent precedent for chording copyrights, but musical composition is similar.) There are centuries of precedent, so there isn’t as much need for discussion. One can assume that the rules are the same for AIs.

Code IP infringement is still a young subject.

Whether AIs have “original thought” when coding or just regurgitate is another point of contention. And the plagiarism standards for coding are … not standardized.

So it needs more discussion. Or rather, more legal precedent, since we are all opinionated and unlikely to agree on anything. Failing that, our benevolent dictator makes a decision of a minimum standard. (Individuals may choose to abide by a higher personal standard, but not a lower one.)

---

<div class="post-metadata">

**Author:** ![Nick-Hall](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/nick-hall/32/95_2.png) [@Nick-Hall](https://gramps.discourse.group/u/Nick-Hall)\
**Post date:** [April 29, 2025, 3:01pm UTC](https://gramps.discourse.group/t/proposed-update-to-our-contribution-policy-regarding-ai/7556/15 "2025-04-29T15:01:19Z")

</div>

> [@StoltHD](#):
>
> I interpreted your response to the quote you made from my text, along with the citation from the UC Berkeley D-Lab article and what you wrote, as an overall critique of AI-generated contributions. The way it was structured suggested concerns about low-effort AI-generated code increasing the workload for maintainers, with an emphasis on rejecting poor-quality submissions rather than fixing them.

My proposal is that “we amend the policy so that the use of AI code assistants and generators is allowed”.

As part of the process, I will try to find any potential problems that may arise as a result of the policy change so that we can discuss them. My job is to assess both the pros and cons of the proposal with the help of the community.

I think that my point about poor-quality submissions is valid and deserves discussion. It actually isn’t limited to AI-generated code. We already get pull requests that need extra work. Sometimes we have the time to help but quite often we don’t. The review process for contributions is the same whether or not the developer has used assistance, or the particular tool chosen.

As I stated in my original post, the motivation for the proposal is to increase productivity and code quality. Hopefully this will be the case.

---

<div class="post-metadata">

**Author:** ![StoltHD](https://avatars.discourse-cdn.com/v4/letter/s/db5fbb/32.png) [@StoltHD](https://gramps.discourse.group/u/StoltHD)\
**Post date:** [April 29, 2025, 10:41pm UTC](https://gramps.discourse.group/t/proposed-update-to-our-contribution-policy-regarding-ai/7556/16 "2025-04-29T22:41:18Z")

</div>

I appreciate the ongoing discussion and the different perspectives on AI-assisted contributions. My intention was simply to offer ideas that might be useful, particularly for those who are interested in exploring AI-assisted development but may not have extensive coding experience.

One of my suggestions was that contributors who have ideas and want to try creating something should document or mock up their concepts before diving into coding. This way, if someone within the Gramps project finds the idea promising, they could provide guidance before significant development takes place.

Additionally, I proposed a project-specific guideline to help structure AI-assisted contributions, similar to the example I shared. This guideline could include expectations around working code conditions and clarify when assistance might be appropriate, such as when a contributor is truly stuck and seeking input.

Ultimately, my goal was simply to present possible starting points from a non-coder’s perspective, with the help of AI. English is not my first language, and I rely on AI to articulate my thoughts more effectively. I don’t expect any particular response, only that the ideas are read and considered. If they are not useful, they can be set aside without further discussion. I’d prefer the focus remain on the proposals as a whole rather than individual sentences being pulled apart.

* * *

_ **Note:** This response has been assisted and translated from Norwegian by Copilot, ensuring better flow and clarity in English._

---

<div class="post-metadata">

**Author:** ![StoltHD](https://avatars.discourse-cdn.com/v4/letter/s/db5fbb/32.png) [@StoltHD](https://gramps.discourse.group/u/StoltHD)\
**Post date:** [April 29, 2025, 10:50pm UTC](https://gramps.discourse.group/t/proposed-update-to-our-contribution-policy-regarding-ai/7556/17 "2025-04-29T22:50:44Z")

</div>

> [@emyoulation](#):
>
> Code IP infringement is still a young subject.
> 
> Whether AIs have “original thought” when coding or just regurgitate is another point of contention. And the plagiarism standards for coding are … not standardized.
> 
> So it needs more discussion. Or rather, more legal precedent, since we are all opinionated and unlikely to agree on anything. Failing that, our benevolent dictator makes a decision of a minimum standard. (Individuals may choose to abide by a higher personal standard, but not a lower one.)

it is actually very easy to write instructions for both Perplexity and Copilot to only include commonly used code in a Pyrthon project, since very much of the training data they use is open source and commonly used code, it is also easy to ask them those AI tools to only use libraries and code that is compatible with the Gramps project.

It is as simple as a single line instruction: “Only use commonly code and libraries that is compatible with the license used by the Gramps project, if not possible warn me and make a special comment about it in the script/file”.

I also asked Copilot this quistion as a test, here is the question and the answer:

```python
Question: Would you be able to respect this instruction in a Python project for Gramps when the project is semi-advanced?

"Only use commonly used code and libraries that are compatible with the license used by the Gramps project. If that is not possible, warn me and make a special comment about it in the script/file."

Response: Yes, I can follow that instruction and ensure that all code and libraries used are compatible with the license for the Gramps project. If it is not possible to do so, I will clearly warn you and add a special comment in the script or file to indicate potential issues.

In practice, this means prioritizing open-source solutions and licensed resources that align with Gramps' guidelines. If I encounter a situation where a compatible solution is not available, I will notify you so that you can make an informed decision on how to proceed.

```

---

<div class="post-metadata">

**Author:** ![dsblank](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/dsblank/32/3649_2.png) [@dsblank](https://gramps.discourse.group/u/dsblank)\
**Post date:** [April 29, 2025, 11:41pm UTC](https://gramps.discourse.group/t/proposed-update-to-our-contribution-policy-regarding-ai/7556/18 "2025-04-29T23:41:52Z")

</div>

> [@StoltHD](#):
>
> “Yes, I can follow that instruction and ensure that all code and libraries used are compatible with the license for the Gramps project. If it is not possible to do so, I will clearly warn you and add a special comment in the script or file to indicate potential issues.”

I don’t believe that this chatbot and you are agreeing on the same thing. The code generation of an LLM is completely separated from where it came from. It doesn’t know that some syntax comes from an MIT licensed project and other code comes from some other (possibly incompatible) license.

I DO believe that it can import (and use) a library that has a compatible license. But generating raw code might be based on other sources of various licenses.

The idea that all you have to do is give it a simple, single-line instruction is incorrect. If that were true there would be no such things as “hallucinations” because you would tell it “Always tell the truth” and we’d be done with that. But that is not how it works.

Anyway, I’m in favor of allowing AI-generated code, in small doses. I had a colleague once that generated a complex PR that touched 26 files. That is too invasive, and would require too much effort to verify. (Code can pass tests, and still be wrong in many ways).

---

<div class="post-metadata">

**Author:** ![emyoulation](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/emyoulation/32/67_2.png) [@emyoulation](https://gramps.discourse.group/u/emyoulation)\
**Post date:** [April 30, 2025, 2:13am UTC](https://gramps.discourse.group/t/proposed-update-to-our-contribution-policy-regarding-ai/7556/19 "2025-04-30T02:13:42Z")

</div>

I have had experiences with Perplexity stubbornly ignoring hard boundaries.

As an example, Perplexity was provided the source document used as an example in the “[How would you start a tree from a source](https://gramps.discourse.group/t/how-would-you-start-a-tree-from-a-source/7460)” thread. And is was instructed to use that article as the exclusive and sole source to create a GEDCOM for the family of Franklin Delano Roosevelt.

I wrote a variety of prompts and a variety of AIs engineer prompts. But no matter how prompted, the generated GEDCOM contained historical data that was not in the source article.

This was a good test because it was easy to spot external data contamination.

So that makes me really doubt that it will stay within bounds set for any project.

---

<div class="post-metadata">

**Author:** ![StoltHD](https://avatars.discourse-cdn.com/v4/letter/s/db5fbb/32.png) [@StoltHD](https://gramps.discourse.group/u/StoltHD)\
**Post date:** [April 30, 2025, 8:09am UTC](https://gramps.discourse.group/t/proposed-update-to-our-contribution-policy-regarding-ai/7556/20 "2025-04-30T08:09:13Z")

</div>

> [@emyoulation](#):
>
> As an example, Perplexity was provided the source document used as an example in the “[How would you start a tree from a source](https://gramps.discourse.group/t/how-would-you-start-a-tree-from-a-source/7460)” thread. And is was instructed to use that article as the exclusive and sole source to create a GEDCOM for the family of Franklin Delano Roosevelt.
> 
> I wrote a variety of prompts and a variety of AIs engineer prompts. But no matter how prompted, the generated GEDCOM contained historical data that was not in the source article.

Well, try to ask the AI to generate python code to do that job, instead of asking it to do the actual job…

It is never smart to make shortcuts when you want something done locally…

You just don’t use an online AI client/server solution on historical documents… unless it is Transcribus or some similar service, simple as that, if you want to use AI on historical documents, install and use a local AI service and use locally installed trainingdata…

[Next page](https://gramps.discourse.group/t/proposed-update-to-our-contribution-policy-regarding-ai/7556.md?page=2)
