1
5 Comments

Packaging and selling a Node.js app

https://docs.emailengine.app/packaging-and-selling-a-node-js-app/

In this blog post, I cover the process of packaging and selling a Node.js application (EmailEngine).

submitted this linkon June 19, 2023
  1. 1

    this is good, selling package looks interesting business idea. curious to see your journey

  2. 1

    I remember discovering nodemailer a few years ago (I think I discovered it through the GitHub trending page). It's great to now hear about EmailEngine, congrats!

    Still, EmailEngine is not completely closed, as all source code is hosted publicly in GitHub. So anyone who wishes can audit [...]

    Was EmailEngine a public repository from the beginning, or did you receive feedback from users and decide to 'opensource' it at a later point? If it's the latter, I'm curious to know if it helped in finding new customers. Were you not worried about users using your software without a license? (I suppose one can tweak the code to bypass the license key verification check.)

    I'm also building a tool for devs, and I am considering opening the repository to the public; trying to weigh the pros and cons.

    Thanks for your post, it was a great read!

    1. 1

      It was public from the start and at first it was an actual open source project. It even gained 1k stars on Github as such. My first business model for about a year and a half was to provide it for free under AGPL license and sell subscriptions for a MIT licensed version. During that 1.5y period I managed to sell to 3 customers and made 750€ revenue in total. Luckily I had mandated CLA signing from the beginning (due to the double licenseing) and there weren’t any other major code commiters beside myself anyway so I was able to pivot and move away from the open source license. Those old releases are still freely available, though.

      1. 1

        I managed to sell to 3 customers [...]

        oh wow, pivoting from the open source license definitely paid off!

        I hate the most are the 10+ step setup [...] With EmailEngine, I wanted to provide the easiest solution possible.

        May I ask, why did you choose to distribute an executable that users have to self-host? It seems at first that it's not the easiest or most convenient solution compare to a SaaS. Sorry if that's a dumb question (I'm not sure how EmailEngine works and whether it would be even possible to have a single connection for N email accounts).

        Thanks again for the insights !

        1. 2

          Each email account added to the system requires a persistent TCP connection and an IMAP session with overhead of a few MBs. Some users have thousands of such email accounts or more, so for a SaaS it would mean managing hundreds of thousands or millions of such persistent sessions. Doable but not for a one-person company.