Say a company has created a software product all by itself and decides to open-source it. As long as the contributions to the product are done by the company, the intellectual property of the the product belongs to the company. AFAIK (but correct me if I am wrong), this implies the company is free to change the license of future versions of the product, even make it proprietary.
Now the question is that if a developper external to the company commits new functionnality to the product:
- Does the company remain automatically the sole owner of the product?
- Or does it has to be written somewhere?
- If it needs to be written and it is indeed written, then is it compatible with the open-source license?
- In the case the external developper does not become co-owner of the product, is he still the owner of the isolated code he added? If so, it would mean that the code is owned twice: once in isolation by the developper (or its company), and once as part of the product by the first company.
- Do these answers depend on the country?