Developing freemium which involves open source software (OSS) is not a trivial task. From one side, you need to prevent premium code from working in your free modules, and do it gracefully – without errors and performance degradation. From other side, your OSS core must be easily accessible to the premium modules.
Partial public availability of the code and unified continuous delivery process for two different versions of the product is also challenging. This presentation discusses Artifactory, which successfully combines OSS and Pro versions by heavily relying on flexible dependency injection mechanics, available in Spring. We will talk about developing, building, testing and releasing hybrid freemium application and will review the existing approaches, discussing pros and cons of each of them.