Building on top of existing open source projects

3 min read
Outline
This post is in the outline status. I'm still working on it. It's published on the page already to engage people in a discussion. Do you have an opinion to any of the raise points? I'd love to hear from you!

Are you an experienced PM/PO/Founder? Then I’d love to chat with you about:

  1. What experience do you have with using open source software to build an MVP?

I’ve heard this a couple of times already.

A founder has an idea for a new product.

And as it so happens, there’s an open source software that does 80% of the job already.

Let’s just use [project YXZ], modify it and style it in a different color.

Over my 15+ years in software development I’ve seen several of these approaches work.

And some failed.

In this post I describe the lessons I learned working with clients (for 12+ years), and why most assumptions fall short in reality.

glowing buildings

This can look attractive but is probably more expensive

Your co-founder / boss found this open-source software, where you can just “Build it on top of it” and thus save time.

And there are some examples where this actually works.

There’s this messaging system based on matrix, which is used in Germany.

Let’s have a look at their cost:

It depends what type of project you build upon

it’s a continuum, between framework and final product.

  • Generic: Called “framework”. Made to have projects build on top of it.
  • Toolkit: Domain components and prepared. It doesn’t work out of the box, but saves time
  • Built-out: A final open-source product that you now have to modify.

readiness graph

Modifying software costs more than writing it new

That’s just a general rule of software development.

The beginning is fast and easy.

Once dependencies and more features come, every change takes more time.

For startups it might work

MVP: probably won’t work.

I have a friend who built on top of an existing software. Yes, he got a lot of functionality out of the box, and the initial demo was great. But then he got stuck in much more development that he previously thought.

I talked to him, this is what he said:

Demo stage: maybe! But then you could also use a no-code system or just make up a video like dropbox.

You will be at the mercy of that project (or you fork)

Good cases: as a plugin, which follows a certain interface? Or a theme? Or an extension?

Bad cases: Overwriting existing code.

Punchline: if you do this internally as a toolkit in your company, it can work really well.


Till Carlos

I'm Till, a senior developer who started a software company. I explain software concepts for people in leading roles.