njms.ca

This software is a gift

Published on 2023-08-24


Take [name]'s story, for instance. It's yours. Do with it what you will. Make it the topic of a discussion group at a scholarly conference. Put it on the Web. Forget it. But don't say in the years to come that you would have lived your life differently if only you had heard this story.

You've heard it now.

Thomas King, The Truth about Stories (43)

This software is a gift.

You may use it, you may explore its source code, you may extend it and you may hack it into some wildly new creation. It's yours now. But when you accept this gift, know that I offer it to you because I trust you, and with my trust comes a set of responsibilities.

I give this gift to you for free out of love. I expect you will share it with others, and when you do, you will share it in the same spirit with which I share it with you.

You will not use my gift to hurt people, any living creatures, or the planet. If you intend to use my gift to cause harm, then I am not giving this gift to you.

When I give this gift for you, I'm inviting you to build a relationship with me. All software is a relationship, after all. I have made this gift for you, and in as much as you are able, you will help me make it better for all those with whom we share it.

If, for whatever reason, you are in a position where you need to interpret the above text as a formal license or legal agreement, the following replaces everything you've just read:

Copyright 2023 Nat Scott. All rights reserved.

Why?

FLOSS is dead. Free software has failed.

Far from the utopia we were promised, today, we are living in what can only be described as a cyberpunk dystopia.

I'm just a regular person, and while I do work to surround myself with loving people, I realize that I am merely a speck of dust in the face of the powers that be. The more I think about it, the more I realize how silly it is that I'm spending time stressing over which OSI or FSF or whatever-approved license to choose for my latest toy project. I've tacked some version of the GPL onto every software project I've released over the last three years and I'd be lying if I said I even really know what that means.

The software I make in my free time was never intended for corporations, or really anyone who'd need to pour over its license with their legal team. I make software for my friends. This is a software license for friends, written in friendly language, and if you're looking for "gotchas" or loopholes, you're either missing the point or not someone I want to share my work with.

I've been thinking a lot about The Nonviolent Public License, and recently I was reminded of the existence of The JSON License. I think the NPL and the JSON license try to solve the same problem in two wildly different ways. The NPL tries to tackle the subject of "evil" very rigorously, attempting to legal-ify "evil" with the same ferocity the Free Software Foundation tries to spread freedom like a virus. If I apply the NPL to my project and someone tries to use it in an "Act of War" or to facilitate child labour, then I can take them to court over it and have at least some ground to stand on. The JSON license, on the other hand, takes what must be the most permissive license in the industry and tacks on a clause that means a lot to me, but absolutely nothing to lawyers:

The Software shall be used for Good, not Evil.

Crockford even has the audacity to spell Good and Evil with capital letters without giving them definitions! It's so beautifully ideological. It feels like he's looking IBM dead in the eye, saying, "you know you're evil, you just don't have the guts to admit it."

I like what both of these licenses are trying to do, but I don't think that either specifically reflect what matters to me the most.

I think this "license" is suitable for people like me who like the idea of the GPL (you may modify and distribute the code, as long as you share the source and preserve the terms) but don't expect they'll ever have the time or money to take someone to court over it. I want people to know that they're more than welcome to use my software, but I want anyone who's likely to get picky over the conditions to feel unsafe wading through legally grey waters. And if they don't care, well what difference does it make? Does dropping gpl-3.0.txt into my repo really change anything if I don't have the legal resources to prove bad actors are violating the terms of our agreement? If they've gone as far as to act out now, why should I expect they'll behave any better if I take them to court?

The "you will not use my gift to hurt people" line is especially important, because it makes this text meaningless as a license. Hurt people? Ask ten lawyers how to interpret that and they'll give you ten unsatisfactory answers. Ask me, and I'll give you only one answer. As I stressed before, when I give people gifts, I'm inviting them to form a relationship with me, and part of that is going to involve understanding what I think it means to cause harm. If someone wants to use my software but they're not willing to try and understand how much it hurts to be misgendered, for example, then I'm not sure I want to share my gifts with them!

And, of course, most of the stuff I build isn't really all that novel. I'm sure for every project I release, there's ten other people willing to offer you the same thing under the MIT license.

But only one of them is me. My projects matter to me a lot. While I'm happy to share them with you, I only ask you use them with kindness.

Comment on this article

If you want to share your thoughts on this article, click here to compose and send your response via email . If you want your comment published, please say so and know it'll be reviewed beforehand. If you say something mean, you may successfully hurt my feelings.