Why I made SQL Schema Explorer open source
Published: 2020-04-14 10:24:25

---
title: Why I made SQL Schema Explorer open source
published: true
date: 2019-10-08 00:00:00 UTC
tags: 
canonical_url: https://timwise.co.uk/2019/10/08/why-i-made-schemaexplorer-open-source/
---

# What is SQL Schema Explorer?

It’s a database schema & data browser that can follow foreign keys and drawdiagrams that I spent years building because I wanted it to exist and I thoughtit might make a good first product.

# Why charge?

I’m pretty busy these days but I like working on software and building thingslike this, to justify the amount of time that goes in I can no longer just haveit as a time-consuming hobby. I’ve also been learning about entrepreneurship asa possible extension or next step from time-for-money contract-programmingservices.

The idea was that if I could get enough yearly subscribers to the software thenI could get balsamiq-like success and focus on making it better and better forthe people using it.

# Why open source now?

I got plenty of interest and interactions by my standards, more than I’ve everhad for something I’ve published; but I never got more than one good friend paidup beyond a generous trial. The conversations I had with people were full ofenthusiasm for the idea but not for parting with money to buy it. Oneparticular conversation was very positive until the idea of putting thetheoretical purchase in front of the manager was raised and then suddenly itdidn’t seem viable at all; which I think speaks volumes. Useful, but not usefulenough to risk any political capital to get it, even for a pretty insignificantamount of money. I then had a coaching call with [JustinJackson](https://justinjackson.ca/) and as part of that he suggested putting itto one side. Up to this point I’d been unable to leave the idea alone; it hadbeen something I really wanted to exist. I’ve always worked with relationaldatabases, and this seemed like a painful gap. At this point I had finallyadded every feature that I’d ever dreamed it should have, and the intrinsicmotivation to just build for the sake of building was waning, and without thedemands from paying users for more features it’s hard to justify continuing topour hours in even if it is on the train.

At this point there were 100 people on the mailing list (drip sent my firstbill!), one paying user/fan (Hello David! Many thanks!), and zero MRR (monthlyrecurring revenue). I’d spent a bit of money on hosting (I’m still payingdigital ocean to keep the [demo site](http://demo.schemaexplorer.io/) up).

I didn’t want to let down the few people who had really liked it by having itjust vanish into the ether like so many failed startups. Fortunately this isdownloadable and installable software, not a SaaS that would have to be shutdown. I’ve always liked the open-source ethos, and given this was no longer adirect financial opportunity it made sense to me to give it away freely under acopyleft license.

It feels like having this as a portfolio piece given I sell coding for a livingwon’t do me any harm, and it makes it easier to take with me to clientprojects, where I can use it to help them improve their database.

# Schema Explorer for client work

Here’s some things I’ve been using schema explorer for to help my contracting clients

- Finding missing foreign keys without looking up complex `pg_schema` queries
- Analysing data in tables and sharing screenshots with the teams
- Sharing screenshots of the generated diagrams to improve team understanding
- Using it as a tool for discussing database design
- Finding records needed for troubleshooting and debugging
- Improving my mental model of the database structure

# Tell me more

It’s now [A-GPL](https://en.wikipedia.org/wiki/Affero_General_Public_License)which requires sharing any modified source code even if you are just lettingusers access the generated site. If I’m giving my years of hard work for free,I think it’s only fair to require people to contribute their improvements backto the community.

You can find the source code at [https://github.com/timabell/schema-explorer](https://github.com/timabell/schema-explorer)

# Feedback

Please do get in touch if this sparked a thought or interest. Just a simpleemail will do [tim@timwise.co.uk](mailto:tim@timwise.co.uk)

Thanks for listening.