8
21 Comments

Any ideas on how to monetize my open source project? 🤔

Hi,

besides my Ph.D. I'm working as a freelance data engineer and a task that I quite commonly get is to enrich data sets with APIs. Therefore, I built an open source tool called midas (https://github.com/midas-science/midas) that helps me to automate and facilitate this process. At the moment the tool enriches static files like CSV, JSON, XSLX with data from any API that you want and takes care of the transformation and request handling (like rate limiting, throttling) for you.

Currently, I'm thinking about how to monetize this project on it's own.
Ideas I have right now are:

  • Developing additional, commercial services around it
  • Building an UI / Web service that makes the tool easier to use

Would be grateful to get any other ideas and feedback.

Regards,
Patrick

  1. 3

    The key to monetizing this project is to charge users to remove the non-differentiating manual work in using your project - build an online app to automate that data ingestion and configure pipelines, then allow them to download the results in any format your support (json, csv, xlsx) . The best part is that you can continue to keep the core project OS, while profiting from a hosted, automated, version of your tool. Basically, borrow the playbook from GitHub.

    It has been hinted at a few times here, but one of the most common blind-spots that developers, and technical people in general, have in common is the belief that "If I can do it, it is easy for everyone else to do as well". In 99% of cases this could not be further from the truth. The 99% usually falls into two different groups:

    Group 1: I can do this, but I don't/won't take the time to do it.
    This group needs a solution, but usually lacks the time to learn the tool and then spend the time setting up and maintaining a local instance. They are willing to trade a fee for your efforts spent in automation, even more so if it costs less than the relative value of their time to own these steps themselves.

    Group 2: This is exactly what I need, but I have no idea how to set up and manage this. (This will be the bulk of your audience)
    Your product targets end-user grade software (excel, spreadsheets, etc.), which is great because there are a LOT of people who use these tools. Some may be good with conditions, calculations, and functions, but by and large they will not be developers. This audience will see your automation as their entry into your world.

    Your branding is successful; clear and to the point, but the detailed readme pages will scare away all but the most dedicated and code-friendly users.

    1. 1

      Hi Chris,

      thank you very much for commenting. I think I'll get your point, making a very basic mvp web app to evaluate the idea of a SaaS sounds like a very good idea.

      Furthermore, if stuff will work out I'll include more potential data sources like databases (sql, mongo etc)

      Cheers

      1. 1

        Yes! I like that you are thinking MVP first.

  2. 3

    Hi Patrick,

    Cool project and a nice name!

    I think one possibility could be a B2C web service/tool for quickly filling in the missing parts in a spreadsheet. With common integrations already prebuilt and custom APIs available. E.g.

    1. Upload your source spreadsheet
    2. Pick a source column(e.g. "IP")
    3. Pick a provider/query (e.g. "ipgeo.city")
    4. Pick a target column
    5. Get back a spreadsheet with results filled-in

    Ideally, popular APIs should already be connected on your end, so the customer doesn't need to deal with setting up and building "enrichers", you just charge them for the usage.

    Some things may not even require API calls and rely on pre-stored data (e.g. "get capital given the country").

    You could even define a simple quasi-formula language, so when encountering e.g.

    =MIDAS(A1, "ipgeo.city')
    

    your system would know to fetch a city using the IP in the column A1 and put into the current column. A formula-like definition for custom API calls could also be devised.

    Cheers

    1. 3

      Hi Oleksiy,

      thanks for your valuable comment and the feedback, helps already a lot :)
      Do I get it right, that the direction you propose is to focus more on users who aren't developers?

      Thanks!

      1. 2

        Correct. I think targeting the developers would be tough in your case because

        a) for them your library is likely a piece of a pipeline, not a complete solution; and this is unlikely to change even if you add more features or make it more usable
        b) presumably they are technical enough to figure out how to use the library directly, and the UI improvements are unlikely to add more value to them because of a

        You could try paid consulting services, but from what I've heard and read from other OS developers, this may not be a viable business for a relatively small/niche project

  3. 2

    We launched a referral SaaS product that is a 100% free service not too long ago. We got a lot of user feedback and there were even some users who reached out to us, asking for feature(s) so they could pay for it.

    Our free product is already pretty unlimited, but we're pushing out a paid plan this month that caters to 'power' users who need a bit more (removing our company branding + access to webhooks).

    I might suggest doing the same, if you know what users are requesting :)

    1. 1

      Hi Kevin,

      thanks for your comment!

      did you launch your free product as open source or was it a free saas?

  4. 1

    Hi Patrick,
    Would you be interested in a voice chat about this topic? I'm looking for early feedback on ideas I'm developing around this question.

  5. 1

    Here's a very thorough list of many ways to find sustainable financial support for open-source projects: https://github.com/nayafia/lemonade-stand/blob/master/README.md

  6. 1

    Well, since you're already freelancing and doing similar tasks, one idea would just to put a big ole' ad at the top of the README ("Don't have time to do this yourself? Email me"). Might be a good source of consulting leads.

  7. 1

    When making money with open source there are many options. My preference is creating a SaaS: https://graphhopper.com/public/slides/2018-ppu.pdf
    A SaaS in your case can mean a 'simple' API around your library but also an end user product. Keep in mind that an end user product is much more challenging if it should not be just one button :)

    Read about more options here: https://en.wikipedia.org/wiki/Business_models_for_open-source_software

    1. 1

      Thanks for linking the paper, I'll take a look at it 🙂

  8. 1

    Hi Patrick!

    Echoing what other posters suggest, figuring out what the use cases are for a paid services are key. Who is the potential audience for the paid version? And what will they get that isn't available in the free version? If you're considering offering an enterprise version, think about offering email/chat Support for enterprise users. People might be willing to pay if they know that they can get a hold of someone to answer their questions or offer troubleshooting assistance if needed.

    1. 1

      Hi Stephanie,

      thanks for your helpful comment! I think this will be one of the toughest task to find the exact right audience for a potential saas. Currently, the idea would be to create a basic web app that let's an end user use the system to some extent without deep coding skills.

      Cheers

      1. 1

        Hi Patrick,

        GitHub actually has a guide on monetizing your open source project, and they include examples of how a few projects have done it: https://opensource.guide/getting-paid/#finding-funding-for-your-project

  9. 1

    This is from 2015 but can give you some ideas: http://www.aabri.com/manuscripts/152159.pdf

  10. 1

    First thing's first and my recommendation would be to start building an audience around the problems that you are solving.

    30x500 helped me quite a lot: https://30x500.com/academy/

    • Identify your audience and educate yourself on their problems and desires.
    • Build an email list by creating valuable content on the internet.
    • Send the email list relevant messages
    • Launch info products
    • Launch a SAAS (if desired)

    Creating training content through a service that manages the above for you is also an option. That's what we do at egghead.io.

    1. 1

      Thanks for your comment! I know egghead, really cool site :)

  11. 1

    people will pay for a service of your software where it solves the problem of

    • don't make me think

    this includes the having to install/setup your software, and the time required to know how it works/operate.

    The UI/web service sounds like the key.