I Migrated Away From Airtable for the Open Source. Then the Licence Changed.

Twelve months ago I wrote about open source alternatives and developer sovereignty. Then NocoDB relicensed, and I got to test my own advice from the receiving end.

Share
I Migrated Away From Airtable for the Open Source. Then the Licence Changed.
Photo by ostudio / Unsplash

Last July I published a piece about open source alternatives and developer sovereignty. I still agree with most of it. It was also written from the comfortable middle of a decision, which is the easiest place in the world to be certain about something.

Take Back Control: Open Source Alternatives for Developer Sovereignty
Discover the best open-source alternatives to popular developer tools—self-host, protect your privacy, and take back control of your tech stack. Explore replacements for ChatGPT, Postman, GitHub, Notion, Firebase, and more, with a clear comparison table highlighting why switching empowers your sover

Twelve months later, one of the tools I recommended changed its licence underneath me.

So this is the follow-up, and it's less tidy than the original.


Why I left Airtable in the first place

I was a heavy Airtable user, and the automations were really the point. Forms came in through Typeform, later Tally, and n8n did the wiring in between.

What sat on top of that was a slightly ridiculous spread: organising queer parties in Luxembourg, managing a talent roster, running the non-profit, plus a pile of inventories and project databases that never existed anywhere else. None of it was exotic. All of it was load-bearing, in that if it broke on a Friday I'd hear about it on Saturday.

For a few years Airtable was the best thing in its category and nobody was close.

Then a few things went wrong at the same time.

The pricing kept finding new surfaces to meter. Seats, then records, then automation runs, then API calls, then attachment storage. Each cap was defensible on its own. Together they meant I couldn't tell you what a project would cost by the time it was finished, which is a bad property for a tool you're building on.

The product also kept moving. Forms got rebuilt. The interface builder changed shape more than once. And AI showed up early, well before it was any good, and then showed up again in every panel and every field menu and every empty state. I don't want a copilot for a table. I like doing this part myself, poking at it, getting the schema wrong twice and finding the right shape on the third go. That's most of the fun, honestly, and it kept getting interrupted by a suggestion box I hadn't asked for.

Meanwhile every hour I put in made leaving harder. Not out of malice on their part. That's just what a good SaaS is: somewhere your work piles up and stays.

So I did the thing I'd been telling other people to do. I moved to NocoDB, self-hosted on YunoHost, on my own box. AGPLv3, my data, my server.

It felt like getting my keys back.


What Airtable became while I was gone

Fairness first, or the rest of this is worthless.

Airtable didn't stagnate. It went hard in the direction everyone went. Omni is a conversational builder that generates bases, tables, interfaces, automations and AI field agents from a prompt. Building with it is free; running AI operations across your data eats into a monthly credit allowance. It falls over on complicated relational schemas and anything with specific formula logic, so it's an accelerator rather than an architect. But the demo isn't a lie, and I say that as someone who wanted it to be.

Where the plans sit in 2026:

FreeTeamBusiness
Price per seat / month$0$20$45
Records per base1,00050,000125,000
Editors5 maxunlimited (billed)unlimited (billed)
Revision history2 weeks1 yearunlimited

That first column is where it actually hurt, and I know because I hit it. One of my tables reached a thousand records. I pruned it, archived what I could, told myself I was being disciplined. It filled up again within a few months, the way useful tables do. In the end I moved it somewhere else entirely. Nobody enforced anything. The decision just got made for me, one row at a time, over about a year.

A thousand records is a shopping list. That's deliberate, and it's the same logic that pushed me out.

I'll be blunt about the uncomfortable bit though: if what I wanted today was to ship something AI-shaped by Sunday, Airtable would win and it wouldn't be close.


The part where the ground moved

From version 0.301.0 onward, NocoDB left AGPLv3 for a source-available "fair-code" licence, the same model n8n uses. Not OSI approved. Not open source by the definition most of us actually use.

Their reasoning is public and it isn't stupid. Companies were taking the code, reselling it, and keeping their own modifications private in ways the AGPL was meant to prevent and couldn't practically enforce.

And this isn't really a NocoDB problem. It's the structural problem of open source, and it's got a lot worse in the last two years. Cloning someone's product used to take a team, a roadmap and a year. Now a decent model will read a codebase, explain the architecture back to you, and help you reimplement or rebrand the thing in a fraction of that. The gap between "we published the source" and "someone is selling your work back to your users" has more or less closed. Licences written for a slower world are being asked to hold a line that doesn't hold any more.

So the maintainers did what maintainers keep doing lately, and framed the switch as being more generous to people using the project honestly and less useful to everyone else. Having read a few of these announcements now, I recognise a real problem behind it. Keeping infrastructure software alive on goodwill is brutal, and "just enforce the AGPL" is advice given almost exclusively by people who've never paid a lawyer.

So no, nobody betrayed me. A company protected itself.

The trouble is that I didn't pick NocoDB for its features. I picked it for its licence. As far as my decision went, the licence was the product. So when it moved, it wasn't a footnote in a changelog, it was the whole reason I was there.

And the marketing still says open source in most of the places you'd look first. That part I won't be diplomatic about. It's a lie. Not a nuance or a positioning choice or an interesting debate about definitions. The term has a meaning, the licence stopped meeting it, and using the word anyway is trading on trust the project has stopped earning. Change the licence if you need to. Change the copy the same day.


What it costs once you read the fine print

The relicense is the headline. The feature ladder is what you actually live with.

Credit where it's due: Community Edition is genuinely generous on the axis I originally cared about. Unlimited rows, unlimited storage, unlimited seats, the full API, all the view types, your own Postgres, your own backups. That's real and I don't want to skate past it.

Here's what sits above the line:

Community (self-hosted, free)Business self-hosted ($24 / editor / month)
Rows, storage, seatsunlimitedunlimited
Views, REST API, webhooksyesyes
Scripts and workflowsnoyes
Dashboardsnoyes
Interfaces (new in 2026.08, beta)noyes
SSO, field and table permissionsnoyes

The free self-hosted edition is an excellent database with a very nice grid on top. Complex automation, which is precisely the thing I found too expensive at Airtable, is on the paid side, at a price that lands within spitting distance of Airtable Business. I didn't escape the bill so much as change who I'd be paying it to.

Then there's the one that actually stopped me. Straight from their docs:

Community Edition includes a default workspace, and it does not allow the creation of additional workspaces.

One workspace, permanently. I run a non-profit alongside my own projects and I wanted them separated the way anyone would: different space, different members, different mental drawer. Can't.

There are ways around it. Set people to No Access at workspace level and invite them per base, since base roles override workspace roles. Or run a second container with its own database behind the same reverse proxy. Both work fine. Both are me doing sysadmin to route around a business model.


So why haven't I left?

I did look, properly, and the options are decent.

Baserow is the obvious move: MIT core, unlimited rows and workspaces when you self-host, and that 3,000 row cap everyone quotes is a cloud billing limit and nothing else. It solves my exact blocker. The catch is the install. Its YunoHost package is still marked "development" and wants something like 5 GB of RAM to build from source, though the official all-in-one Docker image skips all of that. Grist is Apache 2.0 with Python formulas and is quietly excellent. Teable is AGPL and feels closest to Airtable.

Any of those is a defensible destination. I still haven't moved, for three reasons I'm not especially proud of.

The first is that migration is a tax you pay in evenings. Not the data, the data is a CSV export and an afternoon. It's the automations, the n8n flows pointing at specific endpoints, the muscle memory, the little scripts that quietly assume a schema. Every migration I've done has cost me roughly three times what I estimated, and I've already spent one batch of weekends leaving Airtable.

The second is that a licence is a promise, not a lock, which is the genuinely uncomfortable lesson here. MIT today doesn't guarantee MIT tomorrow. The copyright holder can relicense whenever they like; the release you already have stays free and everything after it might not. Moving to Baserow wouldn't buy me immunity, it'd buy me a different company's current intentions. If I move every time a vendor's incentives shift, migrating becomes the hobby.

The third is just that it works. Nothing broke. My data is on my disk, in a Postgres database I control, and I could get it out this afternoon. What I was really buying with all that sovereignty talk was never a licence badge, it was the ability to leave without asking anyone. I've still got that. It's less principled than it was, but it's intact.

That's not loyalty. It's a lease I haven't found a reason to break.


What I'd tell myself a year ago

The post I wrote back then asked the right question, who controls your data?, and then stopped one question too early.

Here's roughly what I run through now, and almost none of it is about features.

Who owns the copyright? One company can relicense at will. A foundation, or a project with distributed copyright, structurally can't. That's not a vibe, it's governance, and it's usually findable in ten minutes.

How does this make money? If you can't answer that, you're the part that hasn't been monetised yet. Not cynicism, just arithmetic: software costs money to build.

Which features sit above the paid line, and which way is that line moving? Watch it across two or three releases rather than one. Lines tend to drift in a single direction.

What's my real exit cost? Not "can I export", everyone can export. How many hours until I'm running somewhere else? If you don't know the number, you don't have sovereignty, you have a nice feeling about your hosting.

And the one I'd have needed most: am I choosing the licence or the product? If it's the licence, you've made a bet on a company's future intentions, and you should size it like a bet.

The conclusion I keep landing on is that self-hosting bought me less than I thought and more than nothing. It didn't make me sovereign. It made me portable. I used those two words interchangeably for a year and they aren't the same thing at all.

So here's where I actually am. One instance, one workspace, the non-profit and my own projects sharing a drawer they were never meant to share, because the alternative is running infrastructure I don't want to run. If I ever need to give someone else access I'll reach for the No Access trick and invite them base by base. It'll work. It'll also be a workaround I'm performing on behalf of a pricing page.

That's not a migration plan. It's a note to myself about what I'm currently willing to put up with, written down so I notice when the answer changes.


The Tally link in this post is a referral link, flagged where it appears. Nothing else here is sponsored, and no vendor saw this before you did.