Hey +Almar Klein
Thanks for your comments. There is no magic secret. You have two code-bases and you have to patch each one separately. Of course that motivates you to keep them in sync with each other or (as we usually do) have the second code-base be an add-on module to the first code base so patches either go in one or
For this to work well, I think the open-source code base has to provide a value-proposition on its own and be a project that people contribute to independently. The biggest risk
is that people contribute code that actually just re-implements the code you are charging for but in a different way. If people can do this easily, then it's time to stop charging for that feature and move that feature into the open source world.
There is no sliver bullet. It's finding good people and giving them time to work on cool things. At Continuum we have other revenue models not just this one. We also support NumFOCUS which provides Technical Fellowships to sponsor the creation of open source code directly from well-mentored graduate students. This is an effective approach as well, I think for many projects. I would love to see companies with paid developers who are mentors for "apprentices" who are transitioning from the world of academia to the world of software development. That is the vision of the Technical Fellowship which we are following with NumFOCUS.