[HN Gopher] Ask HN: Founders who offer free/OS and paid SaaS, ho...
       ___________________________________________________________________
        
       Ask HN: Founders who offer free/OS and paid SaaS, how do you manage
       your code?
        
       I am curious as to how do you solve the problem of maintaining
       different offerings of your product.  1) Do you have two separate
       codebases for free and paid? Or do you have some sort of standard
       workflow where you have two different branches? 2) How do you
       handle updates to your product? 3) How about employee access?
       Thanks in advance!
        
       Author : neya
       Score  : 21 points
       Date   : 2024-05-13 08:39 UTC (14 hours ago)
        
       | throwaway11460 wrote:
       | Base platform with extension support, core functionality as well
       | as paid additions are extensions.
        
       | anonzzzies wrote:
       | Many of these products are fully source-available, just different
       | directories live under different licenses. That seems the easiest
       | way.
        
       | ezekg wrote:
       | I have a single code base [0] for the self-hosted editions and
       | for the SaaS. I split features up across two editions: community
       | edition (CE) and enterprise edition (EE), and then also two
       | modes: singleplayer and multiplayer (single- vs multi-tenant).
       | The switching is done via environment variables, KEYGEN_EDITION
       | and KEYGEN_MODE. The SaaS offering actually runs the EE edition
       | in multiplayer mode, and is right now the only instance of the EE
       | edition in multiplayer mode (other EE customers are entitled to
       | singleplayer only).
       | 
       | I've been running this set up for about a year [1] and it's
       | working well. Having a single code base was a requirement before
       | I made the project fair source [2]; the fair source ELv2 license
       | lets me add feature gates to facilitate this, while protecting me
       | from forks giving away EE features for free (while still allowing
       | forks).
       | 
       | Updates are pushed to the SaaS offering daily. I cut self-hosted
       | releases bi-annually unless it's for a critical fix.
       | 
       | [0]: https://github.com/keygen-sh/keygen-api
       | 
       | [1]: https://keygen.sh/blog/all-your-licensing-are-belong-to-you/
       | 
       | [2]: http://fair.io/
        
         | scottcha wrote:
         | Couple of questions: 1. You link to fair.io but it seems there
         | isn't a latest license there only a legacy version. Do you know
         | what the current status is on what seems like a pending version
         | update?
         | 
         | 2. Your project repro actually links to the elastic license. Is
         | there some relation between the two? Do you prefer the
         | fairsource license over the elastic license>
        
       | peignoir wrote:
       | on our end the core is open sourced, we keep the saas backend
       | closed.
        
       | elieskilled wrote:
       | You can have open source and still charge for it. For example,
       | getinboxzero.com or posthog.com or cal.com. Many others too.
       | 
       | Projects use different licenses for enterprise and regular
       | features. Cal does that for example.
       | 
       | Novu doesn't commit their enterprise features to their codebase.
       | And they symlink those features in. Their project is all MIT
       | because of this.
        
       | mickael-kerjean wrote:
       | The option I use is to design the entire software in a modular
       | way managed via plugins. The base software is all open source but
       | the SAML, OIDC, LDAP, audit and many other enterprise plugins are
       | kept behind closed doors
        
       ___________________________________________________________________
       (page generated 2024-05-13 23:00 UTC)