HACKER Q&A
📣 bugfix-66

License to prohibit training of systems like Microsoft Copilot


We want to modify the BSD 2-Clause Open Source License to explicitly prohibit the use of the licensed software in the training of systems like Microsoft's Copilot. We also want to prohibit use during inference.

Question: How should the third clause be worded, below?

  The No-AI 3-Clause Open Source Software License

  Copyright (C)  

  All rights reserved.

  Redistribution and use in source and binary forms, with or without
  modification, are permitted provided that the following conditions
  are met:

  1. Redistributions of source code must retain the above copyright
     notice, this list of conditions and the following disclaimer.

  2. Redistributions in binary form must reproduce the above copyright
     notice, this list of conditions and the following disclaimer in
     the documentation and/or other materials provided with the
     distribution.

  3. Use in source or binary forms for the construction or operation
     of predictive software generation systems is prohibited.

  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The above is a verbatim (word-for-word) copy of the BSD 2-Clause Open Source License, except for its title and the addition of a third clause:

  3. Use in source or binary forms for the construction or operation
     of predictive software generation systems is prohibited.
Thanks!


  👤 josephcsible Accepted Answer ✓
That license is neither free nor open source, so you'd be stooping to Microsoft's level by using it. And it wouldn't help anyway, since they're claiming fair use, which if true, means they don't need a license. (And if false, then they're in violation of the existing licenses anyway.)

👤 waste_monk
From what I vaguely understand, part of the GitHub terms of service is granting GitHub / Microsoft various rights to store, index, etc. the contents of your repositories. That is, in addition to whatever license you choose to use for your project, you are granting GH/MS additional rights on top of that (if they are not already granted by the project license).

While I am not a lawyer / licensing expert, I would be very surprised if the terms of service did not include rights or some other loophole allowing it to be used for training machine learning systems[1]. So the actual license you'd use is probably irrelevant while it's hosted on GitHub.

[1] A paragraph from section D4 here https://docs.github.com/en/site-policy/github-terms/github-t... states:

"We need the legal right to do things like host Your Content, publish it, and share it. You grant us and our legal successors the right to store, archive, parse, and display Your Content, and make incidental copies, as necessary to provide the Service, including improving the Service over time. This license includes the right to do things like copy it to our database and make backups; show it to you and other users; parse it into a search index or otherwise analyze it on our servers; share it with other users; and perform it, in case Your Content is something like music or video."

I'd guess CoPilot would be covered by either the parsing or improving the service provisions.


👤 ronsor
These AI systems are all riding on fair use anyway (at least for now), so it doesn't matter what license you choose because they're never accepting it in the first place.

👤 dpifke
The problem with making up your own license clause is that responsible companies now need to pay their lawyers to review it if they want to use your software. This is going to exclude a lot of users who don't want to pay for that review, rather than just the ones who'd use it for purposes you want to prohibit.

👤 kazinator
What you're trying to do is pointless and wrongheaded; putting this license on your software will cause distributions to treat it as radioactive.

The conditions of the two-clause BSD license already prohibits the uses that you're trying to ban, because those uses do not "retain the above copyright notice, this list of conditions and the following disclaimer".

Suppose that your software were mangled by AI, in a way that conforms to the two-clause BSD license: the copyright notice and all are there. What would be wrong with it?

Until you explain what the actual problem is, it's impossible to advise you on licensing.

For instance, are you concerned that even if some AI preserves your copyright notices, your name is then being associated with gibberish?

People could cause that problem, too; some human could take your two-clause-BSD-licensed program, and make garbage modifications to it which make it look like unprofessional crap, without indicating that the program has been modified. The result carries only your copyright notice, making it look like you wrote it that way.

If that possibility makes you uncomfortable, finds some existing license which requires modified works to be clearly indicated as modified.


👤 xenophonf
Why not hired a licensed lawyer in your jurisdiction, ideally one with expertise in copyright law, and ask them? If there are licensed lawyers here, they know better than try to give you legal advice (a) for free, (b) anonymously, and (c) without knowing where you are, and anyone else is unqualified to answer your question.

You can't just wing this stuff, dude.


👤 gshdiwuehdhwu
agpl3

they will have to open source all code and data that produced the derivative work.

why reinvent the wheel?


👤 lasereyes136
What problem is this meant to address? How is this making OSS better?

👤 davidherrero
Testing for uni work jeje