When I started the ReplPad, I went with a GPL License. It's "strict" in terms of saying that whatever you do with it, you have to share the source. Not much of a problem for today's usage, since it's all being delivered over the web anyway. And it's nothing to do with Rebol scripts that you're running...just the support for the console itself. e.g. if you make an improvement to the undo mechanism, you can't keep source for that to yourself...you have to publish it.
I'm a believer in Stallman-style philosophy of Why Software Should Not Have Owners. And so I don't really see why anyone should reasonably feel entitled to box up all the work of what the ReplPad may become, and not give anything back. Publishing their source code is not too much to ask. And I'm not worried about "losing customers"--if someone adds a great undo feature to open source software or fixes a bug and doesn't want to tell the people who made it, that person can take a hike.
Of course, it's had all of one contributor--me. So between Giulio and I that means we can pick whatever license we want. So, which one?
Using the same license for both means not having to worry about moving code between one and the other. It looks like we'll be doing a lot of it, and that should not be a hassle.
I'm going with LGPL 3.0
The LGPL says that if you make a closed source program that uses the thing as a library...you aren't obligated to release the source to the program. But if you modify the library itself, you have to publish/provide those modifications. So basically if you change
Stallman argues that open source developers shouldn't pick this more liberal form of GPL license unless non-GPL solutions provide equivalent functionality. There's really only one "competitor" in the form of libRed, but they don't have any restrictions on commercial use (and have disappeared down a non-open-source hole for some of their work: see "Red Pro", where they have made the "community branch" a second class citizen, and you have to pay them to get 64-bit support, or whatever...
Given my FSF biases, this is more liberal than I may like for the ReplPad. I certainly don't like the idea of someone boxing it up in an Electron app, linked to proprietary software...aren't we done with these bad ideas? But LGPL works for a lot of projects--Qt for instance. And it's too inconvenient to think of worrying about moving code between the projects otherwise.
Stallman may disrecommend the LGPL, but he still made it. So at one point he thought it was a reasonable compromise. Can't be too bad, then.
The code is still small, but that's why deciding now is important.
Making a big deal about the license now might seem dumb. Some might say "it's too small to worry about, just make it MIT/BSD/Apache, why make it inconvenient for people?"
But that's exactly why now's the time. Once it gets larger--and contributions are accepted--it will be too late to change our mind. People will have committed bits and say they don't want it re-licensed. Or even if they would be willing to re-license, you'd have to track them all down to ask (I've seen projects have to do this).
So what I'm proposing as a contributor agreement is that everyone agree that it can be re-licensed more liberally in the future, but that no "dual licenses" will be given. So a company can't pay for a special arrangement for them to use and adapt the code, while it's still LGPL for everyone else. But there could be a KickStarter and people could donate to fund some development contingent on relicensing as BSD (or whatever)...but the code is released under the new license for everyone, donor or not.
Anyway--maybe it won't matter in the scheme of things for this project. But I think at minimum, it's important for developers to be having this conversation regularly. Carl and Rebol asked people to try and get back to using their common sense about complexity. Stallman and GPL asks people to get back to their common sense about where control and power should be when it comes to software.