I want to make an app that is going to have a public non-commercial instance a-la Wikipedia. This app will rely on a community and therefore I want its source to be open, and I hope it will enjoy some network effect: hopefully the community will prefer it over commercial competitors and thus protect its value.<p>OTOH, I want to offer companies etc to buy a private version of the product, where they could use it internally without giving access to the rest of the world, and enjoy more business oriented features, integrations etc.
The commercial product should also help fund and develop the non-commercial one.<p>I was trying to figure if the core product shouls use a GPL style license or a more permissive one like MIT.
I think a permissive license will make it easier to include functionality from the open version.<p>Im afraid that if I use GPL I will need to have contributors sign a copyright waiver or something like in Emacs if I want to include their code in an extended closed source version.<p>Sometimes companies use GPL for their products to prevent competitors from taking their code without contributing back, but I think that in this type of product the community could be the differentiating value so there is less worry about this kind of risk.<p>Does it make sense?
Is there a different license/model I should consider?