I've been reading a bit about software licenses, and I'm having trouble getting my head around the idea of what happens when one wants to change the license.  I've read a couple of questions here on the topic and it clarifies things some, but there are still a couple of areas that are unclear to me.One example:  Suppose I have a project hosted on github with no license specified.  If someone contributes a patch to my code base and I merge it in, does that patch still belong to them?  If so, would I need their permission to change the license on my project?Another example:  Suppose I have my software under some permissive open source license.  I understand that I am allowed to change the license on my software at will (barring conflicts with contributors), but does that effect existing copies of the software out there?  If I decide to close source my project, do existing copies of the source with packaged OS license remain open source and distributable according to the previous license?I like the idea of working together with others on projects in a flexible manner, and unless a project actually starts to pick up it seems like unnecessary overhead to go about deciding on an appropriate license.  It would be nice to be more aware of the potential conflicts that could crop up, though.
What happens when a project switches to a different license?
licensing
Sounds like a legal question and I'm not a lawyer, but I do have to read up on all this so that my projects don't get into trouble when I use free open source code.  I don't think it works the way you hope it does. Imagine if people could change license terms after the fact.  Nobody could really ever use open source code along with their own code or else they would risk having the rights to it revoked at any moment.  So I think the way it works is that whenever somebody gives up some of their legal rights to software by stating they do so under a license, they can not take those rights back.If you fully own the software you can later release it under another license, but you can't take back anything you gave away already.If anyone contributes anything to your code and you have no agreement otherwise, I believe you can't change the license without the consent of every last contributor (whether you can find them or not).  So a lot large open source projects make people agree to give up ownership before they can contribute.  Usually they do so in part because of a promise the code will be available under one or more specified licenses.  So in your github example you might have a problem, yes.Working in a flexible manner is nice, but you may find after the fact that everyone did not have the same assumptions about licenses, ownership, etc.  So it isn't a bad idea to spell it out anyway, even if the law didn't push you in that direction.