This is just hypothetical at this point. So just doing some ground work to understand, if this is even possible. If yes, which licensing model is most appropriate?

Our company has several units. In many cases, type of technology work done also overlaps. However, each unit does its own thing. So I feel that is there is lot of duplicate work being done.

So I want to propose a common open source model (just within the company), when developing new idea/product, where anyone from any unit can contribute towards the development/enhancement of the product. I am also okay with the product being used by the unit for other purposes within their unit, without any cost. But if they were to make any customization, I want it to be contributed back to main repo. Will I be able to legally enforce this, just internally?

These units also have their own clients that they service. However, I also want to allow these units be able to sell the product based on their billing model (either for services, support or license itself). When they use it at their respective client location, I still want the software to be deemed as proprietary from company perspective.

Now, please suggest, if this is even possible. If yes, what kind of licensing model that would be more appropriate?

  • 1
    "But if they were to make any customization, I want it to be contributed back to main repo." No open source license will include terms that let you demand this. And under work-for-hire law you probably can't demand your internal company code be licensed any particular way. – curiousdannii Jul 14 at 13:38

Open source style collaboration within a company or group of companies is called inner source.

Within a legal entity, no special licensing is needed. Collaboration can be based on (non-binding) internal policies. But between legal entities (e.g. subsidiaries), custom licenses can be useful to establish boundaries of use and contractual obligations. E.g. DB Systel has developed an inner source license (German only). Normal open source licenses should not be used here.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.