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?
- "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
Let's be honest, most of our projects will never be successful enough for the license to matter. On the other hand, nobody can predict when a project blows up. OpenSSL started because some dude wanted to study long integer arithmetic. Linux started because some dude wrote a terminal emulator for his 386, and he even thought himself that it would never become anything big. So you never know.
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
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.