Also, I have a regular person's understanding of the difference between GPL/BSD/Apache (as far as commercial use is concerned).
Hmm, what is difference between Apache and BSD and MIT Licenses?
I think I'll keep working on this project for quite a while, because it's interesting to me, and I am using it personally. So, I suppose I will be maintaining this work myself at least in the foreseeable future.
I am not quite certain what the implications of letting people see code which is as yet unlicensed. I know there is a distinction between copyright and licensing, and I know that it's NOT OK for somebody to just fork your work and license it as they see fit, but isn't it safer if I nail the license before I release the code?
Until you explicitly license it under any license, your work is under "all rights reserved", afaik. But if somebody would copy it, and you would notice that, what would you do? Do you have a layer? If you put it under GPL, I think the FSF would help you. They do employ layers. Theoretically, not that it matters in this case. ;-)
If I'm totally wrong on that one and it makes absolutely no difference, then I'll let everyone see the code, naturally. If there is an argument to be made for licensing first, then I'll do that instead. It's a 10 minute thing to actually put the license in once the type of license has been decided. Please tell me your thoughts on that.
If this was a bootloader, or a new init-daemon, I'd definitely advise GPL. But it ain't, so I see no need to push for it. I have no further advice, and it remains totally your call.
I personally am leaning toward GPL rather than the BSD/Apache license types, mainly because I don't see why a commercial entity cannot make use of code, augment it, and *still* release the code that they've written.
The other thing about the "more free" licenses, it about size. As long as you have a huge community, and only minor commercial contributors, there is really no big difference to the GPL regarding to the result. Future development will remain open and free, and only little modules or side projects may be done closed. No big deal.
BUT if it is the other way around, one huge commercial contributor and independent contributors only in small portions, that is imo a problem, because the huge commercial contributor could any day decide to do the further development closed and the rest would be left stranded with a half-done product/software. Yes, with enough manpower you could do a fork, and go on, but without, and if time is of the essence, the commercial contributor would gain a major advantage on the market. Also, the bad guy, could take your new code (if under the same "free" license) and re-use it, but not the other way around. Now he payed for most of the development anyway, but he payed neither for testing and debugging nor for further ideas from the community nor for the publicity.
Hm, didn't such a maneuver lead to the invention of the GPL?
With at least the libraries under the LGPL, such maneuvers are less likely.
This mechanism is precisely what allowed us to have OpenWrt in the first place. I'm a fan of that.
Yes! But this doesn't automatically mean, that everything has to be under the GPL. Think your options through, and make a decision!
The License can be a necessity (be able to sell a product, or prevent others from doing exactly that), a strategic thing (libraries under LGPL or even GPL to strengthen the standing point of "free software" (in the sense of keeping it free, see LibreOffice (LPGL) vs. OpenOffice (Apache License))) or it can even simply be a statement.
Like if I put some tiny little program under GPL, probably nobody is gona give a fuck, and reuse code in proprietary programs, and I would never notice it. So the actual license would not make any real difference in the result. But it would still be a statement as: "I want code to remain free " or "One more program under GPL" etc.