4 ms·
I figured that the license doesn't really matter for now, since I don't expect anyone to actually use this for production code (there are still quite a few bugs
by robertelder 11y ago
I figured that the license doesn't really matter for now, since I don't expect anyone to actually use this for production code (there are still quite a few bugs, and it is not very user friendly). A couple people have brought up the licensing, so I may give that some attention. I was considering Apache 2.0. Any opinions?
If you want, you can subscribe your email on
http://recc.robertelder.org/ http://recc.robertelder.org/
and I'll update you when the license has changed.
- david-given 11y agoRight now the license forbids anyone from looking at the code, which is publicly available on github, so everyone who has ever looked at your github page --- I'm guessing, every commenter here --- is violating it. That's not good. I'd strongly recommend that you change it ASAP. The main two options are: - The 'I just don't care' license: BSD 2-clause. This allows anyone to do anything with it, other than claim they wrote it. It's the most open of the licenses. http://opensource.org/licenses/BSD-2-Clause http://opensource.org/licenses/BSD-2-Clause - The 'One true way' license: GPLv3. This is the classic copyleft license. It requires any modifications to the program to also be GPLv3'd. This requires quite a lot more thought, because if your compiler runtime is also GPLv3'd it means your compiler can't be used to produce distributable non GPLv3'd binaries, which is bad; so you'll have to license your runtime differently. GPLv3 also makes it really hard to use your program commercially (you may consider this a positive or negative quality). http://opensource.org/licenses/gpl-3.0.html http://opensource.org/licenses/gpl-3.0.html Most other licenses are basically just variations on the them. Also, writing your own license, particularly a more restrictive one ('this software can only by used for education', say) will basically kill any use of your program. And it'll probably be invalid, too. Writing licenses is hard. ... A cautionary tale follows: there is a C compiler called vbcc (http://www.compilers.de/vbcc.html http://www.compilers.de/vbcc.html). It's incredibly small, fast, and produces great code. It's easy to port. But it's released under a look-but-don't-touch license which forbids distribution of modified archives. This means that if I, say, modify it to include a compiler backend for Infocom's Z-machine, which I did (http://cowlark.com/vbcc-z-compiler http://cowlark.com/vbcc-z-compiler), then I cannot distribute a version of vbcc which contains that backend! Instead I have to distribute the unmodified archive and a patch. This makes it way too hard to develop for, and additionally means that no software distributor will touch it. When vbcc's author finally gets hit by a bus, vbcc will die. Which is a shame; it's really nice. Please don't do that!
- robertelder 11y agoI don't think the license as stated prohibits people from looking at the code, and if it does I would clarify to anyone who is interested that I'm totally ok with you taking a look at what I've been working on. I appreciate your feedback, although my experience has taught me that those of us in the HN crowd have a completely different and disconnected understanding of software licensing compared to what lawyers think. I worked at a couple IP heavy companies and my impression is that any license that leans toward the Richard Stallman way is a huge red flag for businesses. I recall that GPL v3 is much better than v2. I'm also of the understanding that both BSD and MIT are discouraged now because the license is so thin, and they don't say anything about patents, while Apache 2.0 does. I invite anyone to contribute more to this discussion, because it happens to be one of those political things that can be more important than the code itself.
- david-given 11y agoWell, you _do_ say: "This software is not currently available under any license." I know that's not what you _mean_, but it's what you _say_. My personal and uninformed option is that you should probably change this to something along the lines of: "This software may be studied but not modified, and copies not be redistributed", which is more explicit. I am not, personally, a fan of the GPL (it makes things too complicated) and tend to release all my software as MIT or BSD-2 because I like the simplicity. But Apache-2 is a perfectly decent license. Nobody will complain about that. Ah, here's a good bullet-point comparison: http://choosealicense.com/licenses/ http://choosealicense.com/licenses/
- pvg 11y agoThe 'looking at' part is explicitly covered by the Github ToS you've agreed to so you're all set for that. Although if you're concerned about un- or poorly defined behaviour, it also gives others the right to fork your repo on Github, whatever that implies. This is their ToS blurb: However, by setting your pages to be viewed publicly, you agree to allow others to view your Content. By setting your repositories to be viewed publicly, you agree to allow others to view and fork your repositories.
- 11y ago
- vog 11y agoWhat about the ISC license? It is slightly more liberal than Apache 2.0, and really short. https://en.wikipedia.org/wiki/ISC_license https://en.wikipedia.org/wiki/ISC_license
- robertelder 11y agoI'll give it consideration, although I believe more descriptive licenses are actually better since they say what happens in every given situation and don't leave room for 'undefined behaviour'. As you've probably read before, when a compiler encounters 'undefined behaviour' it gives the compiler the green light to do anything it wants. Similarly, undefined behaviour in a contract can give lawyers the green light to claim whatever ridiculous thing they want to.