The Yarn Spinner Public License (YSPL) is a new license developed by us for trial in some of our new product releases. It shares many of the same permissive, free, open source conditions as the MIT License our existing tools are licensed under, but with two key areas of difference:
- Using our code to train generative AI models.
- Repackaging our code into a competing commercial dialogue tool.
On this page, you can find answers to key questions:
- Why the change to YSPL?
- What is allowed in YSPL?
- What can I do and not do with AI in YSPL?
- What can I do and not do with competing tools in YSPL?
- Can I get this code under a different license?
- Are you still open source?
Why the change to YSPL?
When the first version of Yarn Spinner was made public in 2016, it was a hobby project one member of our team worked on sometimes in his free time. It had been developed for Night in the Woods and was made public afterwards so that a few people online could tinker with it. It was just one small part of a broader ecosystem of Yarn-based tools which were maintained by others.
In the decade since, we have inherited the maintenance of (and usually completely re-created) several other Yarn-based tools—including the Yarn language and compiler. Our user base has grown to many thousands, our offering of products and features continues to grow, and Yarn Spinner today is usually a full-time job for three people.
Yarn Spinner is monetised in small ways: users can choose to buy a copy of the Unity plugin (instead of using the free one) and this includes some extra features for ~AU$75, mostly targeting larger studios for whom a commercial license is more palatable than free software off the internet. We also have a Patreon that makes just over ~AU$100 a month. So doing this work costs about 3x as much money as it earns on a good sales month. The rest, we cover; by working twice as much to be able to pay ourselves a salary. This works for now, but for the project to be sustainable, those earnings need to go up not down.
Enter: genAI. AI Companies want to scrape code from open source repositories like ours and pay nothing. AI Users want to recreate or rebrand and sell our work and pay nothing. The general public’s perception of how much value software has and how much work goes into it is being destroyed. Yarn Spinner won’t survive that if we don’t do something.
Some of our peers in the tools development scene have gone closed-source, rescinded free versions, or closed shop entirely. We don’t want to. So this is what we’re doing.
Note that our existing tools remain under the MIT License; only these newer product offerings have changed to the YSPL. And we do not rule out returning all our projects to MIT if other protections like International Copyright Law manage to step up in the future.
What is allowed in YSPL?
Except for the two ways listed, YSPL allows pretty much anything MIT does. You can use the code, ship it in software and games, charge money for what you’ve made with it, and license those things however you like. The terms in the license ask for nothing but the same minimal requirements MIT does: appropriate attribution of the code and its license.
We do politely ask that users who valued our work tell us about any games they release with Yarn Spinner via our form and include our tool in their credits. But these are not a requirement to use our tool, it’s just nice to do.
What can I do and not do with AI in YSPL?
You cannot use the code to train an AI model. For AI companies, this means you can’t scrape our code and include it in an initial training corpus. For individual users, this means not feeding our code into AI models in a way they incorporate for future reference.
This does not prevent you using AI in your development of a game or writing your scripts, just that the model should not feed back our code to the server in a way that it gets to keep.
For example, if you are using Copilot to assist you in your development in a way that it would read our code files, you can go into the settings and turn off user analytics and opt out of using your conversations for model training.
Will we know if you do this? Probably not. But we’ll know if large genAI models keep regurgitating our code, and this license condition gives us some defence if it ever comes to a lawsuit.
What can I do and not do with competing tools in YSPL?
You cannot include Yarn Spinner’s code in a competing tool. There are a few key parts here, so let’s break it down…
Including code means our code has been inserted in your software via some mechanism that gives it to your end users directly rather than them getting it from us. Let’s look at two examples:
- You make a tool that can support or extend our software. When a user installs your tool, it tells them to also install our tool, either downloading from our repository or buying from an asset store. This is allowed. We love this.
- You make a tool that is effectively just our code with small additions, or relies on our code for the core of your functionality, and you sell our source code inside yours directly to users. This is not allowed. Make your own thing.
A competing tool means software or services which do something like Yarn Spinner does, legally defined as…
"(a) branching dialogue or conversation systems; (b) non-linear or interactive narrative systems; (c) narrative scripting tools or editors; (d) dialogue tree or conversation editors; (e) interactive fiction, visual novel, or text adventure authoring tools; (f) a compiler, runtime, or interpreter for the Yarn language or any substantially similar language."
…where that tool is public, not just for your own use and not part of a game or similar software.
Examples of things that are permitted by these exemptions are:
- A tool made for internal use at a company.
- A tool made for a particular project and shared with contractors on that project.
- A tool for teaching in a university course.
- A game UI which allows authoring dialogue that then plays in that game
- A tool made to support modding new dialogue into a particular game.
- A public repository fork where you’ve modified our code to make it easier for you to use.
This part of the license might seem long and scary. What we would have liked to say is ‘you can make whatever you like with our code but you can’t sell it if it’s not substantially changed’ but many of these concepts do not have a legal definition, and allowing someone to do something as long as they don’t make money from it is very unclear in Australian law. This is as close as we could get.
Can I get this code under a different license?
Absolutely you can! You can either a) submit a ticket to us, or b) buy a paid license to the product from a storefront.
We know that the appeal of MIT is that it’s the license that allows whatever. And any additional conditions you impose on what people can and can’t do with your software, there will always be some hypothetical good thing which would be prohibited despite the intention of the rule.
We believe in the spirit of the law, not the letter, but licenses don’t work that way. So the YSPL has explicit provisions for us to be able to grant alternative licensing conditions to anyone we want.
Also, in the situation where one of our tools is free on GitHub under a YSPL license and also available on an asset store for money, the paid version is offered under the license conditions of that storefront. These are typically very permissive, as an extra incentive to pay for these tools upfront.
Are you still open source?
In the sense that our code is still out there for people to use as they like with almost no restrictions, yes: we are still ‘open source’. But to many, Open Source means ‘available under an OSI-approved license’ where the OSI is an organisation that blesses certain licenses. A condition for that is that you ‘discriminate against no fields of endeavour’, so by saying there is a thing you can’t do with our code (train AI or sell it as a similar dialogue tool) we do not comply.
Having been a part of the Open Source community for our entire adult lives, we did not do this lightly. Much of our values around offering free software and working so hard on it came from spending time in IRC chats and at conferences like OSCON and LCA with people who strongly believe open software is a key part of levelling the playing field and empowering regular people in today’s tech-centric world. We really value the OSI and what they stand for, but their refusal to stand against genAI will kill projects. We refuse to be one of them.
In the long process of developing this license, our own Paris Buttfield-Addison literally did a law degree, and we consulted heavily with experts across legal and Open Source fields. We are especially grateful for the advice and support of leading business & Open Source strategist, VM (Vicky) Brasseur, who we are lucky to call a close friend.
