140,000 lines of code: why we built our own licensing system

leaddev.com
5 min read
fairly easy
Exploring the tug of war between build and buy
An incredible amount of work has gone into these products, but behind them, invisible to an outsider, there is often just as much code buried in internal systems and 'supporting' projects.

Here's what this looks like for us: our product 'Tower' is a desktop GUI for Git. It helps over 100,000 users in companies like Apple, Amazon, and Google work more productively with the Git version control system. The codebase for the macOS version alone has over 300,000 lines of code.

But in the background, we have another major internal 'product': our licensing system. It controls everything from licenses, plans, and subscriptions all the way to discounts, sales offers, and custom orders. It's fair to say that these 140,000 lines of code are vital for our business – but largely invisible to the outsider.

Build or buy: a tough decision

Almost eleven years ago, when we started developing Tower, we instantly saw the need for this licensing system. But it took us quite some time to decide if we should build or buy it. Finally, as you already know, we went ahead to build our own custom system.

At the time, the following considerations lead us to build (instead of buy):

Choice of third-party systems. The market, at that time, didn't offer much choice. There were only a few systems that did what we wanted, and they seemed awfully expensive.

The market, at that time, didn't offer much choice. There were only a few systems that did what we wanted, and they seemed awfully expensive. Existing skills. We knew we had all the necessary skills to build it with our own team. We wouldn't have to learn new technologies or hire new people for this.

We knew we had all the necessary skills to build it with our own team. We wouldn't have to learn new technologies or hire new people for this. Manageable effort. We were pretty confident that we'd be able to build our own, custom-tailored system without too much effort.

Surprises along the way

It goes without saying that the reality of…
Read full article