Hacker News new | past | comments | ask | show | jobs | submit login

There are a bunch of projects dual licensing, such as "MIT or Apache 2.0"; I'd love feedback on the legal aspects of this.

That is, does a downstream user have option to choose either license ever, or would best practice be to announce which license you default to on usage?




A downstream user gets to choose which license applies. That's the whole point. If I publish something that's dual-licensed, I'm giving you two licenses and you can pick whichever one you prefer for your usage.


And the magic pixie dust of dual-licensing appears to be that you don't need to immediately select one license or the other: you can simply assume a superposition of both licenses until such time as someone decides to sue you for license-related reasons (which is to say, you remain in this superposition for basically eternity), at which point you could just point to one and say, "aha, look, we've been using this one all along". It's the sort of thing that feels like it shouldn't fly, but yet I don't think it's ever been challenged and at least Mozilla (which tri-licenses Firefox) appears to be fine with it.


None of those licenses put restrictions on use of the software, only redistribution. So if someone makes Firefox derivative and distributes it they will have to either collapse the license wave function by choosing one, or they can offer their users the same multiple-license. At least that's the way I think it works. They can't redistribute without stating their terms to the recipients.


Use is one thing, but what about contributions?

It is confusing for me. If the project has GPL and MIT license I can't contribute GPL code to it, can I? Because it has to be also MIT.

Generally more restrictive license is more important in case of contributions. More permissive license is more important in case of use and modifications not contributed back. It is a fork welcoming licensing.




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

Search: