nullplan's little licensing guide
Posted: Sun Oct 01, 2023 11:37 pm
Hi all,
just a thing that's been rolling around in my head for a while now. Sometimes people ask what license they should give their project. My approach is to ask myself: Assuming someone comes along, copies the code, changes it, and tries to pass it off as their own, what does make you feel?
Another thing: You only get copyright on your original expression. If you write a memcpy() function like this:
There is only a very thin copyright attaching to this, if any at all. The function name is not original, nor is the ABI or the CPU architecture this runs on. The only creative choice was to only use the byte-based loop. Someone else can come along and invent the same function independently, and there is nothing you can do about it. Copyright only cares about actual copying (patent law would also protect you if someone else were to make the same invention independently, but software is not patentable).
I don't even know where I am going with this.
just a thing that's been rolling around in my head for a while now. Sometimes people ask what license they should give their project. My approach is to ask myself: Assuming someone comes along, copies the code, changes it, and tries to pass it off as their own, what does make you feel?
- "Burn the heretic!" Well, then maybe Open Source isn't for you.
- "I want them to send the patches." GPL, LGPL
- "At least an acknowledgment would be nice." BSD license in its million varieties
- "I don't care at all." Public domain, CC-0, WTFPL
Another thing: You only get copyright on your original expression. If you write a memcpy() function like this:
Code: Select all
memcpy:
movq %rdi, %rax
movq %rdx, %rcx
rep movsb
retq
I don't even know where I am going with this.