koszkonutek

My new license

For quite some time I've been wondering what conditions I should be releasing my code under. Was it just about pratical matters, I would be a GPL advocate. However, I happen to against the copyright law. I would have no heart to sue someone, even if that person utilized my code in a bad way. And if I am not going to sue anyone, I am also not going to pretend otherwise and stick onto my code a license I would not be executing anyway. What to do then? Release my code as public domain? That's exactly what I've been doing for some time. Licenses I've been using are Unlicense, 0BSD and CC0.

Dual-licensing

For some time, aside from public domain, I've been using GPL in parallel. At first glance it might seem weird. It there a purpose in releasing a program under two such licenses at the same time? Why, if public domain is compatible with the GPL anyway? I explain:
  1. By additionally using the GPL I am showing that even though I don't want to use copyleft myself, I do nevertheless sympathize with GNU and FSF.
  2. Some are afraid of using public domain code (perhaps because in some jurisdictions public domain is not recognized). It might happen someone will decide to utilize my code only when there is some other license on it.
  3. GPLv3 gives users protection against patent tricks. Actually, if I own no patents, it should not matter at all. However, someone who doesn't trust me might feel safer thanks to the GPL.

New idea

For a long time I've been under impression using public domain makes me look bad in the eyes of copyleft proponents. I wanted to replace it with something, still without giving myself the opportunity to sue someone. And I eventually came up with something suitable. Something seemingly stupid, yet not completely nonsenseful. To replace public domain with a license that officially allows me to call the licensee an asshole. And that's what I did. I decided to call my creation "Asshole license", marked with version 1.0.

Lawsuit protection

I once read about Facebook using a license that forbade suing it. It's a bit unusual application of copyright, although this doesn't mean it's not practical. While I didn't really like that (no longer used) Facebook's practice, it is that very case that inspired me to do something similar but in a slightly different form - to use the license to forbid suing me for calling licensee an asshole. I deemed this condition good, because even though I did utilize the copyright law, it was only to protect myself against lawsuits, still withough threatening to sue others myself.

Permission for reverse-engineering

I was about to finish with the conditions above when one more idea came to my mind. Given that I am already creating my own, humorous software license and I can put whatever I want in it, why should I restrict myself? So, in what other cases am I currently afraid of lawsuits? Reverse enginnering. Hence I added a condition requiring the licensee not to sue me in connection with my reverse-engineering and not to execute DMCA against my programs. At the same time I was trying not to make my requirements too absurdly demanding.

Execution of the idea

Knowing what I want, what I had left to do wast the writing. I used BSD licenses as a template and replaced the usual conditions with my own. I spent a bit of time choosing the best wording, eventually sticking to what simply seemed safe. I didn't care about it much because the bigger half of the license was going to be non-serious anyway and the main goal were not legal benefits, but rather discouraging people from doing something bad with my code. At the end I even thought about adding a patent grant, but I was too lazy to do so.

Final result

Asshole license 1.0

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. You agree that you're an asshole.
2. You agree for the copyright owner of this software/work to call you an
   asshole, both privately and publicly.
3. You agree and promise not to sue the copyright owner of this
   software/work nor anyone acting on behalf of the copyright owner of this
   software/work for calling you an asshole.
4. You agree and promise not to sue the copyright owner of this
   software/work, nor anyone acting on behalf of the copyright owner of this
   software/work, in relation with reverse-engineering actions performed on
   your software/products.
5. You agree and promise not issue DMCA claims against any software
   developed and/or distributed by the copyright owner of this
   software/work or anyone acting on behalf of the copyright owner of this
   software/work. Should such claims happen regardless, they will be
   automatically void.

THIS SOFTWARE/WORK IS PROVIDED BY THE REGENTS 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 REGENTS 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/WORK, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
I admit I am content. Perhaps some devoted GPL proponents won't like this idea, but since I am not able to make everyone happy anyway, I'd like to make happy at least myself 😉 The license is formulated in a way it should be suitable for both software and other works. I am going to use it in both cases, together with the GPL and CC BY-SA, respectively. Now, there's one more unpleasant task I should do - update the license of everything I've ever written 😕

Future plans

Honestly, my license is not fully serious and some of its conditions might be unenforceable in practice. Nonetheless, this is not a big problem as my initial goal was not to gain lawsuit protection, but rather to discourage those considering GPL-incompliant use of my code.
Perhaps one day I will use the help of someone experienced in this topic in order to create a no longer humorous license that will build upon the ideas of this one. We would then get rid of everything regarding calling someone "asshole". Instead, perhaps it would make sense to add some other conditions, similar in style to those regarding reverse engineering.

On calling others names

I am beginning to think this license idea might make me look bad. But the truth is, threatening to call someone asshole is just a humorous way of countering some problems. Just because I formulated the license this way doesn't mean I would actually like to call someone names or that I support such thing. In fact, I would rather anyone using my code made use of permissions resulting from the GPL. But if this doesn't happen... Well, I still consider my approach less violent than that of those using exclusively a copyleft license. They, in case of violation of that copyleft, threaten to sue, while I only threaten to call the violator an asshole 😊
Nonetheless, to avoid awkward situations I shall refer to my creation as the "A" license.