Š—Š²ŠµŠ·Š“Š° ŠŠ»ŃŒŃ‚Š°Šøр

We use Airtable quite a bit at $work for building static websites. It provides a very well designed no-code or low-code environment for creating and maintaining databases. It has an easy to use, beautifully documented, API which makes it simple to use your data in many different settings, and also to update the data programmatically, if thatā€™s needed.

Airtable is a product, which means there is polished documentation, videos, user support, and helpful people keeping the lights on. But Airtable also have a fiendishly inventive marketing and sales department who are quite adept at designing their pricing scheme with the features that will get you in the door, and the features that will act as pressure points to drive you to start paying them money ā€¦ and then more money.

Of course, itā€™s important to pay for services you use on the webā€¦it helps sustain them, which is good for everyone. But tying a fundamental part of your infrastructure to the whims of a company trying to maximize its profits sometimes has its downsides, which normally manifest over time.

Wouldnā€™t it be nice to be able to pay for a no-code database service like Airtable that had more of a platform-cooperative mindset, where the thing being sustained was the software, the hardware and an open participatory organization for managing them? I think this approach could have real value, especially in academia and other non-profit and activist organizations, where the focus is on meaningful impacts, not endless growth and profits.

Iā€™ve run across a couple open source alternatives to Airtable and thought I would just quickly note them down here for future self in case they are ever useful. Caveat lector: I havenā€™t actually tried either of them yet, so these are just general observations after quickly looking at their websites, documentation and their code repositories.

nocodb

nocodb is a TypeScript/Vue web application that has been designed to provide an interface for an existing database such as MySQL, PostgreSQL, SQLite, SQLServer, etc. I suspect you can also use it to create new databases too, but the fact that it can be used with multiple database backends distinguishes it from the next example. The idea is that you will deploy nocodb on your own infrastructure (using Docker or installing it into a NodeJS environment). They also provide a one click Heroku installer. It has token based REST and GraphQL APIs for integration with other applications. All the code is covered by a GNU AGPL 3 license. It seems like nocodb is tailored for gradual introduction into an already existing database ecosystem, which is good for many people.

baserow

baserow is a Python/Django + Vue + PostgreSQL application that provides Airtable like functionality in a complete application stack. So unlike nocodb, baserow seems to want to manage the database entirely. While this might seem like a limitation at first I think itā€™s probably a good thing, since PostgreSQL is arguably the best open source relational database out there in terms of features, support, extensibility and scalability. The fact that nocodb supports so many database backends makes me worry that it might not take full advantage of each, and it may be more difficult to scale. Perhaps the nocodb folks see administering and tuning the database as an orthogonal problem to the one they are solving. Having an application that uses one open source database, and uses it well seems like a plus. But that assumes that there are easy ways to import existing data.

While the majority of the baserow code is open source with an MIT Expat license, they do have some code that is designated as Premium with a separate Baserow Premium Edition License that requires you to get a key to deploy. Itā€™s interesting that the premium code appears to be open in the GitLab, and that they are relying on people to do right by purchasing a key if they use it. Or I guess itā€™s possible that the runtime requires a valid key to be in place for premium features? Their pricing also has a hosted version if you donā€™t want to deploy the application stack yourself, which is ā€œfree for nowā€, implying that it wonā€™t be in the future, which makes sense. But itā€™s kind of strange to have to think about the hosting costs and the premium costs together. Having the JSON and XML export be a premium feature seems a bit counter-intuitive, unless itā€™s meant to be a way to quickly extract money as people leave the platform.

Governance?

Anyway these are some general quick notes. If I got anything wrong, or you know of other options in this area of open source, no-code databases please let me know. If I ever get around to trying either of these Iā€™ll be sure to update this post.

To return to this earlier idea of a platform-coop that supported these kinds of services I think we donā€™t see that idea present in either nocodb or baserow. It looks like baserow was started by Bram Wiepjes in the Netherlands in 2020, and that it is being set up as a profitable company. nocodb also appears to be a for profit startup. What would it look like to structure these kinds of software development projects around a co-operative governance? Another option is to deploy and sustain these open source technologies as part of a separate co-op, which is actually how I found out about baserow, through the Co-op Cloud Matrix chat. One downside to this approach is that all the benefits of having an participatory decision making process accrue to the people who are running the infrastructure, and not to the people designing and making the software. Unless of course there is overlap in membership between the co-op and the software development.