Open edX AI Contribution Policy

Hi everyone,

A quick note to all contributors - please review the Open edX AI Contribution Policy. This policy is broken into two sections:

For Contributors

Covers all guidelines for GitHub contributions, including pull requests and creation of issues. Non-code contributors should also review this guide and practice responsible disclosure when using AI in other artifact creation, such as designs, product requirement documents, and bug reports.

For Reviewers

Covers guidelines for reviewers, including how to handle low-quality contributions or contributions where the author doesn’t engage appropriately.

Maintainer Note

If you’d like to add a link to this policy in your repo’s README, please follow the pattern from this openedx-platform PR. You may tag me, @sarina, for review & merge.

This was very much needed, thanks a lot @sarina

but only the following tools:

  • Microsoft Copilot (all models and versions)
  • Anthropic Claude (all models and versions)
  • OpenAI (all models and versions)
  • Amazon Web Services (AWS) (Kiro and all other models and versions)
  • Google (all models and versions)

This feels a bit restrictive. All of these are commercial and mega-corp run services. LLMs have been made a commodity by the release of open-weight models by multiple companies - Meta, Google, Mistral, DeepSeek, Alibaba to name a few. They can be run on consumer hardware locally or via a 3rd party hoster like OpenRouter.

Why can’t we use them? The policy states

We only allow the use of listed tools because they have a sufficient reputation
for proper training.

What does it mean “proper training”? Is it specialized training around “AI Safety”? While that’s a valid concern for general LLM use, the impact on code contributions and review are minimal. Especially when we follow

Review all AI-generated output before submitting.
Verify the accuracy of AI-generated material.

Hi @arunmozhi ,

Thanks for the question! I’d like to start by acknowledging that the landscape of AI tools is moving incredibly quickly, and we’re committed to reviewing and updating this list and our Policy generally as often as practicable.

I’d be happy to elaborate on our position. As noted on the Open edX website, the Open edX project is stewarded by Axim Collaborative, a US-based company. Axim seeks to comply with applicable US laws and regulations in its stewardship of the Open edX platform. This includes the use of AI tools and the output they generate. We steward the platform so that the software is usable by organizations around the world.

If you are interested in proposing an AI tool for review, you may contact oscm@axim.org, as described in the AI Contribution Policy.

We hope that the community continues to engage with us during this exciting, fast-moving time in software development!

FYI there is also a related internal discussion on this topic on the OpenCraft forums; it is public as per our open-first policy, I link to here for additional context:

@arunmozhi will be submitting additional models for inclusion in the policy’s list, and post more general considerations about LLM usage restrictions here soon too.

Thanks for the push @antoviaque. I am sharing the email I sent to Axim as-is here. As I didn’t ask for consideration for a specific model or a company’s models, I don’t feel there is anything in the email that should be considered private. I also didn’t want to spend time paraphrasing the same things suitable for the discussion format here. So, apologies if someone feels some social contract is broken.

Now the email:


Hi,

I ask the following models to be added to the list of “approved models” under the Open edX’s AI Contribution Policy

  • Qwen 3.6
  • DeepSeek V4 Pro & Flash
  • Google Gemma 4 family of models
  • Zed’s Zeta family

They are released as “open weights” and some variants of them can be hosted by consumer hardware like laptops with 64GB of RAM and run using tools like LM Studio, Llama.cpp, Ollama ..etc., They are also hosted by 3rd party inference providers like OpenRouter or could be hosted on the cloud by teams that look to save on inference costs. Adding these to the official policy would be in line with the Open Source ethos of the project and the community.

Notes on safety and model usage

Even though I have a list of models, that I would like to see included, I think the approach of allowing specific AI tools & models as approved for contribution is flawed. There are many reasons for that and I would like to outline a couple of them.

1. Lack of Provenance

There is literally no way to prove a specific model was used for generating a specific piece of code. Any model can be claimed as any other model and the proof relies solely on the trust we place on the contributor.

2. Lack of real thread model

The policy currently states that, the AI Tools/models are currently vetted for proper training, and in our internal discussion at OpenCraft, it was also mentioned “currently approved ones have guarantees in case someone sues over the use of content produced by their LLMs”.

These seem irrelevant for the nature of work we do - Open Source code generation. Concerns like Intellectual Property theft and Credential leak are either not a concern (due to source being free for anyone) or doesn’t apply for the project (credentials are at best issues of the providers and infra teams and not the application developers). So, I am really uncertain as to what “vetted for proper training” and what “guarantees” mean in this context.

Possible misalignment?

The policy has clearly written with certain use cases & scenarios in mind where restricting tools/models made sense. However, I think, it has missed a few of them. For example:

  • Use of code auto-completion in Zed editor uses the Zeta2 Open Weight model. There is no chat interface, no logs to share.
  • Using Claude or Codex to come with a detailed solution in “plan” mode, and switching to DeepSeek v4 Flash for implementation in “build” mode in OpenCode, involves multiple models.
  • Using Pi harness or AmpCode harness to automate co-ordination between multiple models and using features like “auto” or “smart” modes. They can use multiple models that are dynamically chosen under the hood that might optimized for cost, speed ..etc.,

As the models grow smarter & “harness engineering” becomes sophisticated a whole spectrum of use cases emerge. They present us with a future where approving specific models starts to feel like approving specific text editors.

So, I advocate for complete abandoning approval of models & tools and let the developers choose whatever tools they prefer. As an open source project we place the trust on the community - the people and we should continue to do so. The policy very clearly what’s expected of the contributors in both code generation and review stages of development. That in itself is a sufficient guideline.

Thank you.

Hi Arunmozhi,

Thank you so much for this thoughtful and detailed message. It’s clear you’ve put real thought into the policy’s implications, and we genuinely appreciate that kind of engagement.

Regarding the specific request to add additional models, we’ll review the suggestions using the lens of our policy and respond to the specific requests in due course.

I want to address one point that I think contains a common misconception that’s really the heart of the matter here, and gets to why our policy exists the way it does.

You wrote that IP matters are “not a concern (due to source being free for anyone)” in an open source context. This is understandable intuition, but it’s actually a misconception about how intellectual property works in open source. Open source licenses, including AGPLv3 and Apache 2.0, which the Open edX project uses, grant specific types of permissions to use, modify, and distribute code, but the underlying copyright still exists and still matters. Our CLAs exist to ensure that contributors can contribute the code they do to us, so we can, in turn, make it available to the world under the terms of the project’s licenses.

To make it tangible, if an AI model was trained on code in a way that violates that code’s license or others’ copyrights, content generated by that model may carry latent IP issues that might pass downstream to the Open edX platform and its users. The fact that our project is open source doesn’t mean IP is disregarded.

This is precisely what the language in the policy is getting at. It’s about respecting IP and ensuring that contributions to the Open edX project don’t inadvertently introduce code with unclear provenance. Our CLA reinforces this: contributors represent that their contributions are their original work and that they have the right to submit them.

I hope this clarifies why the policy reads as it does. In a nutshell, in order to give the code to the world to use with our open source platform and community, we seek to ensure we have the appropriate permissions to do so. Being open source doesn’t mean free of obligation or that IP doesn’t exist. Rather it means we’ve put appropriate mechanisms in place that allow the IP to be made available to anyone who will adhere to the requirements of the licenses that govern the IP.

Thanks again for engaging so carefully with this, we really appreciate it.

Hi Ed,

Thanks for taking the time to consider the opinion and getting back with an amazing response. Especially,

This was very useful in understanding the situation well.

If whitelisting tools & models is unavoidable, I just want to ask that we also consider open-models and self-hostable ones as we move forward.

Thanks for explaining the reasoning @e0d, it’s useful to be able to understand the decision.

It is definitely a current legal problem with LLMs, their training is opaque and many likely use copyrighted material, and it’s not clear how this will be resolved legally. But given how pervasive the use of LLMs is, it’s unlikely to end up requiring to have to stop using code produced by LLMs - too many people and projects would be affected by that.

Imho, since copyright law is a compromise in the first place to encourage creation, it will hopefully end up with LLM training being some type of fair use. After all, it’s not like humans don’t also need training, or create in a vaccum without inspiration.

In any case, I understand the caution, but I would argue that the risk here has to be weighted against our responsibility as an open source project to be accessible and open. Accessible, because some might not get access to the LLMs listed, for example because of cost or citizenship. And open, because we stand for being able to run or modify our code the way we want. I agreed wholefully with one of @arunmozhi 's arguments:

the models are almost like sophisticated text editors at this point. It’s like trying to limit development to VS Code and Eclipse IDE because they are produced by trusted American companies.

As an open source project, we should be encouraging everyone to run or customize LLMs as they see fit, not deciding for developers which tool provider to use. I understand that the legal uncertainty pulls the other way, but we still have a responsibility in protecting this right.

Ultimately, we trust that the developers who contribute have reasonably ensured that their work is original and theirs to contribute - the licenses and the CLA are there for that. But here by mandating specific LLMs, the policy also goes a bit into micromanaging what the contributors do to respect IP laws.

It’s not like we have never taken that type of risk. Before LLMs, most developers would copy&paste code from sites like StackOverflow or Google search - that hasn’t made us mandate specific Q&A sites or search engines.