my license
So I thought about it for a long time, back when I started writing
software, and I didn't really like the "shareware"-type licenses, which
were largely about passing around compiled binaries for free, and kinda
tended to contribute to the spread of viruses and the like.
I certainly didn't like "Buy Me!" type licenses, where you weren't
allowed to do pretty much anything with the software, and absolutely
nothing without buying it.
This was before I'd heard of the GPL and LGPL and all the other
variants, so I made my own. Prepare yourself, here's the wordy beast:
Distribute unmodified.
Damn, did you read it all? I know it's a hairy legal bastard of a
license, same as the rest, but thanks for taking the time to read it
all.
I call it "The Two-Word License", which, funnily enough, gives it a
name one and a half to two times longer than the license itself,
depending on if you call a hyphen a word seperator, which I do.
rationale
The only thing that worried me with respect to my code is that people
might go and alter it to do naughty things, and then send it around,
and people would come after me because I wrote the original, sane
version of the software. So I wrote my license as a sort of "passing
the buck" to the evil bastard that sent them the evil (modified)
version of my code.
I don't disclaim warranty and liability like pretty much everyone out
there, because I do actually care about my software's functionality,
and I will make efforts to fix bugs if they happen. If my software
causes you problems, I'll apologize profusely, and do my best to make
it right.
You can't really expect to sue me for grandiose amounts of cash,
though, as:
1. I have none
2. my software costs nothing more, and generally far less, than the "I
Agree" EULAs, and you get what you pay for
So later in my hacking life, I sat down and considered the GPL and LGPL
and its variants, and I came to this decision:
I like my license. A lot.
I never really considered the full impact of my license when I wrote
it, but here's some of the unexpected benefits of it:
* You can use my software whenever, whereever, and however you like.
* You can modify it, so long as you don't send people modified
versions.
* You can send people patches for it, but they'll probably wind up
asking "what's this patch do?", a very wise question in my opinion.
* You can learn from it.
* You can use parts of the code, my routines, etc, in your projects
(although unfortunately, without attribution. Sometimes it sucks to
be magnanimous).
* You can use the whole thing in your project, but you have to use
original source, or not include it at all, and instead tell them
where to get it.
In short, you can do pretty much whatever the fuck you like with it, so
long as you don't change it or add to it and then give it away.
Bit of a tangent...
ownership
When Thomas Jefferson set the steamroller of the United States Patent
and Trademark Office (USPTO) into motion in (very) early 1790, he
wasn't trying to set up stupid shit like intellectual property and
software patents, he was trying to protect the buyers, and people's
names. There's a quote on my quotes page from the man himself about
how ideas cannot be owned.
The only thing you can own is your reputation, and not allowing people
to manufacture and sell knock-off, sub-standard "Official Eli Whitney
Cotton Gin"s, saves the good Mr. Whitney's reputation. Eventually,
however, the people that actually care about your product have started
buying it in such quantity that you've become a rich man (or woman),
and you have shops all over with skilled craftsmen and artisans, and a
distribution network, and people know where to go to get the good
stuff, and anyone buying bootleg goods knows good and well that if it
breaks (either itself, or whatever they were using it on), it's their
own damned fault, because it was three cents on the dollar what it
should have cost.
What it did was protect the inventor's reputation, and to a lesser
extent, the buyer. Anyone caught selling a knock-off "Official Eli
Whitney Cotton Gin" could be arrested, imprisoned, shot, god knows
what, and let's face it, that's just not good business.
It's simpler, and safer, in the end, to just take your name, and slap
it on your knock-off, and sell it as a cheaper alternative, trying to
undercut the good Eli Whitney. However, if your product sucks, then
your buyers are going to talk, and your reputation (and your product)
goes down the tubes, and you lose business.
The alternative to that, is that you leave names out of it, and just
sell bootleg items, unbranded, and caveat emptor, the buyer gets what
he pays for. Maybe it'll work for what they need, maybe not. Either
way, it's their own fault for being cheapasses.
When people bought bootleg tapes of concerts and whatnot, they knew
good and well what they were paying for. Some of those bootlegs are now
worth a lot of money. Crappy bootlegs aren't among those, usually. The
audio cassette and the CD burner, and the VHS tape player didn't hurt
the big guys, because people who actually like the content tend to buy
official merchandise to support their favorite musician, actor, etc.
Not because it's the law. Not because the RIAA or the MPAA threatens to
sue.
KISS figured out that people liked bootlegs and guess what they did.
They recorded their own concerts. And what happened? Those recordings
sold.
Nowadays, if you try to take a car design that Ford has created, and
build your own car in the same exact design, with the same exact
specifications, leave brand names off it, and sell it, proclaiming it
to be "an independently manufactured vehicle, conforming to the same
design as the FordŽ Taurus(TM), but manufactured by Juan Valdez of
Albuquerque New Mexico", you wind up getting sued for some upside down
and backwards patent violation.
You didn't use their trademark except in comparison to your product.
That's done all the time in car ads ("$3,000 cheaper than the FordŽ
Taurus(TM)!", for example), so you can't be blamed for that. You didn't
steal anything from them, as their design is out there for the world to
see (and reproduce with perfection if you've got the skill). You didn't
commit fraud by trying to pass your bootleg product off as the genuine
article. Who did you harm? What laws did you break?
The answer is that conceptually you harmed Ford Motor Company. There's
no way in hell you'd be able to actually hurt their profit margin
selling one car at a time, as fast as you alone can make them, in your
garage. If you can undercut them, more fucking power to you, I say. If
you can do that, Ford is ripping off everyone and deserves to go down.
Materials and fabrication are costly, and if you in your garage can
beat Ford Motor Company's prices and productivity enough to beat them
at their own damned game, holy shit, man, that's damned impressive.
Wow, I had no idea I'd ramble on that tangent for so long. I sincerely
apologize, and will one day write a more complete rant on the
corruption of the USPTO. Back to my license.
back on track
Using my name on software you wrote (my "brand") is fraud, so I don't
have to cover that in my license. Nobody does, really. Fraud is fraud.
Altering my software and sending it out might be a problem, since it's
based on something I wrote, and therefore isn't really fraud to say "by
Pegasus Epsilon" if I wrote the original. Therefore I cover that in my
license.
I don't care how or where or for what purpose you use my software.
I don't care if you use my software. I wrote it for myself. If you like
it and use it, that's great. If you don't, whatever, I just don't care.
I don't care what you do to or with my software, so long as you don't
change it and send it around.
These are all designed into my license as I intended from the
beginning. However, there are a few unexpected implications.
The main unexpected implication of my license is that You can't "fork"
my software. You have to write your own. I like this, as I like to keep
my code. It's mine. You don't have to like it, you can write your own
and GPL it for all I care. I like mine, I'll keep it for myself. If I
stop maintaining my software, you CAN write patches for it and send
those around. Those patches are YOURS, you wrote them, you can do what
you like with them, you can license them how you like, and it's up to
the end user to merge them with my software, and the liability for
merging incompatible licenses (GPL and Microsoft, for a nice
incompatible example) is on them, but the original code (my last
official version) must remain as it is.
You can also donate patches to me. If I like them, I'll add them to my
official version, and give you a credit in the changelog. You control
what you do with your patches, and I'll control what I do with my
software. That way, you donate a patch that you'd like to see merged,
with the condition that you be given credit for the changes, and if I
like it enough to do that, I will. If I don't like it that much, or you
want more than credit for your input, you're still welcome to
distribute your patch, and even charge money for it, as it belongs to
you, and you can do whatever you like with what you own.
Be warned, blossoming monopolist, that if you charge for your patch,
I'll probably end up rolling my own version of it, adding the
functionality that your patch provides, to my official version, just to
be a dick. I'll likely do this even if you try and restrict the
functionality of your patch from emulation or duplication by the
license, as I'll never click "I Agree" on a license like that. Fair
warning. Share or be assimilated.
See? We each have our rights, and generally they work just fine
together. I'd call it "Creative Commons", but I'd probably get sued.
Let's go with the less trademarkable, and more accurate, "Creative
Cooperation".
Now for the fun, unexpected implication. Insert evil grin here. In
order to use my software, you must distribute it. I never considered
that when I came up with this license, but god damn that's neat. You're
perfectly allowed to just paste a URL to it whenever someone asks you
specifically for it, as that's a form of distribution, but you can't
just use it in a closed environment and never share. The license
doesn't say "if you give it to someone, give them the original", it
says "Distribute unmodified." In other words, if you intend to use it,
you have to do what the license says, and it says to give it to people.
And if I vanish, and you keep using it, you've got to have an original
version to give to someone when they ask. As long as my software is
used, it will be free for everyone to use. Even if you just use it to
learn from it, you have to be prepared to link someone to it when they
ask. For example, "how do you display the source like that on your
webpage?" "I use this script I wrote, based on what I learned from..."
Cue the evil laughter.
Now honestly, I'll probably never hold anyone accountable for FAILING
to distribute my software when they use it, but I will hold them
accountable for:
1. Claiming to be the author of my software (usually by changing it to
say "by Juan Valdez". I wrote it, I hold intrinsic copyright on my
work, and I choose to keep it, not donate it to the FSF.)
2. Claiming that their solution to the questioned problem is NOT my
work, when it is (Usually by claiming that the solution is
proprietary and they can't have it, for example.).
The first one is a copyright thing. I wrote it, don't go claiming it's
yours, write your own. The second is just wrong. Share share share, you
stingy fuckers.
Now. Some might say that my license is incompatible with the GPL. I
disagree, I don't care if you link my stuff with GPL stuff, or use them
together somehow. I just don't want you to go ripping my stuff off,
being stingy with it, or using it to do evil. The GPL guys might care,
they're kinda nazi viral guys, just ask Microsoft (that's a joke, son),
but seriously, they do like to have everything under their umbrella, if
they can.
Well, they can't have my software. I wrote it. It's mine. And I intend
to keep it. But they can play with it, learn from it, and use it. So
long as they distribute it -- unmodified.