6 ms·
Ask HN: I want to modify the BSD 2-Clause Open Source License to explicitly prohibit the use of the licensed software in training systems like Microsoft's Copil
by bugfix-66 4y ago
Ask HN: I want to modify the BSD 2-Clause Open Source License to explicitly prohibit the use of the licensed software in training systems like Microsoft's Copilot (and use during inference). How should the third clause be worded?
The No-AI 3-Clause Open Source Software License
Copyright (C) <YEAR> <COPYRIGHT HOLDER>
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.
https://bugfix-66.com/f0bb8770d4b89844d51588f57089ae5233bf67e8c0ace80303bfd66059a507c4 https://bugfix-66.com/f0bb8770d4b89844d51588f57089ae5233bf67...
- deleted 4y ago[deleted]
- m00x 4y agoGet a lawyer since this is nonsense.
- bugfix-66 4y agoIt's literally the standard BSD 2-Clause License, word for word, with an additional third clause: 3. Use in source or binary forms for the construction or operation of predictive software generation systems is prohibited. Hardly nonsense, but obviously you aren't equipped to judge. More about the BSD licenses: https://en.m.wikipedia.org/wiki/BSD_licenses https://en.m.wikipedia.org/wiki/BSD_licenses
- m00x 4y agoYes, that added clause is nonsense. On top of being nonsense, there is significant precedent. Remember the lawsuit of HiQ labs vs LinkedIn? Scraping, or viewing public data on a public webpage is legal. https://gizmodo.com/linkedin-scraping-data-legal-court-case-1848811335 https://gizmodo.com/linkedin-scraping-data-legal-court-case-...
- bugfix-66 4y agoIf the GPL can defeat Copilot, we need an more permissive MIT/BSD-style license to do the same.
- tptacek 4y agoThis does seem like a pretty compelling rebuttal, since the preceding comment suggests that GPL does nothing to Microsoft's ability to incorporate code into Copilot's model.
- deleted 4y ago[deleted]
- nverno 4y agoHow would you ever prove the parameters of a model were generated by specific training data? Couldn't multiple sets of training data produce the same embeddings/parameters? I imagine there could be infinite possible sets of training data that would lead to the same results, depending on the type of predictive software.
- tptacek 4y agoIs it? A similarly casual clause in the OCB license prevented OCB from being used by the military for many years (granted, it prevented OCB from being used almost everywhere else, too). I have no idea if this license language works or doesn't, but this is hardly the least productive subthread on this story. It's concrete and specific, and we can learn stuff from it.
- tedunangst 4y agoOCB is a fun case study because they later granted an exception for OpenSSL, but only for software literally named OpenSSL.
- an1sotropy 4y agoIANAL, and I'm no fan of copilot, but I wonder if this kind of clause (your #3) is going to fly: you're preemptively prohibiting certain kinds of reading of the code (when code is read by the ML model in training). But is that something a license can actually do? The legal footing that copyright gives you, on which licensing rests, certainly empowers you to limit things about how others may redistribute your work (and things derived from it), but does it empower you to limit how others may read your work? As a ridiculous example, I don't think it would be enforceable to have a license say "this code can't be used by left-handed people", since that's not what copyright is about, right?
- bugfix-66 4y agoThe license conditionally permits (i.e., controls) "redistribution and use in source and binary forms". I think we can constrain use with the third clause. My question is, how should we word that clause?
- bombcar 4y agoMany licenses have constraints, whether this wording is the best way to do it is up for discussion, but it's certainly possible to do it.
- an1sotropy 4y agoLicenses get to set terms of redistribution. But training of the ML model -- the thing described by your #3 -- is not redistribution (imho). So maybe it's as unenforceable as saying left-handed people can't read your code. The redistribution happens later, either when copilot blurps out some of your code, or when the copilot user then distributes something using that code (I'm curious which). At that point, whether some use of your code is infringing your license doesn't depend on the path the code took, does it? (in which case #3 is moot)
- bugfix-66 4y agoThe BSD license also controls "use", not just "redistribution": Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: That's word-for-word BSD license. The only change I made is adding clause 3: 3. Use in source or binary forms for the construction or operation of predictive software generation systems is prohibited.
- ilc 4y agoIf I read this right, I can't use auto-complete. No thanks.
- tedunangst 4y agoYeah, lol. New rule: code may be used for autocomplete, but only by a push down automata.
- CrazyStat 4y agoThe legal theory for copilot is that training an ML model is fair use, not that the license allows it. If it is fair use then you can't prohibit it by license, no matter what you put in your license.
- kochb 4y agoFor this clause to have any positive effect, you need to 1) be willing to pursue legal action against violators and 2) actually notice that the clause has been violated. Such language must be carefully written. What is the definition of “construction” and “operation” in a legal context? What is a “predictive software generation system”? That’s a very specific use case, you sure you covered everything you want to prohibit? You’ve inserted your clause in such a way that this dependency cannot be used in any way to build anything similar to a “predictive software generation system”, even with attribution, as it would fail clause 3. You have to consider that novel licenses make it difficult for any party that respects licenses to use your code. It is difficult to make one-off exceptions, especially when the text is not legally sound. So adoption of your project will be harmed. So if you are serious about this license, you need a lawyer.
- az226 4y agoJust don't upload your code to GitHub. Don't make it open source. Share via newsletters.