Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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/

and I'll update you when the license has changed.



What about the ISC license? It is slightly more liberal than Apache 2.0, and really short.

https://en.wikipedia.org/wiki/ISC_license


I'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.


Right 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

- 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

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). 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), 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!


An "All rights reserved" license statement doesn't make it unlawful for readers to view code. Why would this license statement be different?

I'm going to go out on a limb here and say this it's just false that his current license statement prohibits reading the code on Github. I don't think that's a "right" controlled by copyright.


You can submit path to vasm/vlink/vbcc authors and they would applt to his toolchain. They are very friendly to any improviment. On this way, We got a full macro assembler and linker for TR3200 cpu. Also, we have a SmallerC back end for TR3200. We only need to add some stuff for relocatable code on vasm tr3200 back end, and and write or adapt a libc to have a full C toolchain working.

Also, I think that is time to put our virtual computer here...


Oh sure --- I'm not saying there's anything wrong with it technically. But I can't use any kind of open development process. So, no github or Bitbucket. And the distributions still won't touch it. And there's still a single point of failure revolving around Volker Barthelmann; I can't rely on vbcc continuing to exist.

A similar thing happened to lcc, which was a perfectly good if quite simple compiler that simply stopped being relevant because distributing was too hard.


Why not we ask him about changing their license model? VASM and VLINK are modular. I think that if there is a problem about changing the license model, would be on these modules, not on the core of VASM and VLINK.

I would be more happy if vasm/vlink/vbcc resides on GitHub or at least on a public subversion repository.


I have, on several occasions. It's probably worth trying again, but TBH it would probably sound better coming from someone else.


I 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.


The '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.


Well, 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/




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: