Top
Best
New

Posted by deesix 1 day ago

Show HN: VillageSQL – A Fork of MySQL with Extensions(villagesql.com)
We built VillageSQL because we love MySQL, but we’ve watched the ecosystem stagnate while PostgreSQL flourished with extensions like pgvector and pg_textsearch. We wanted to give MySQL that same extensibility so teams don’t have to migrate databases just to keep building nowadays. VillageSQL is an open-source, tracking fork of MySQL that is a drop-in replacement and adds a true extension framework.

How it works: +It’s a drop-in replacement

+We added an interface to load external shared libraries (.so files) as extensions.

+You define custom data types and functions (with indexes coming soon) that run natively inside the engine.

+We are launching with a few proof-of-concept extensions: vsql-ai, vsql-uuid, vsql-crypto, vsql-network-address. We’re currently in alpha.

We know forking MySQL is a big swing, but we believe the community needs a way to innovate on the core engine without waiting for Oracle and in a way that is easier to use than plug-ins.

The code is open source here: https://github.com/villagesql/villagesql-server

We’d love your feedback. Happy to answer any questions about the implementation!

11 points | 2 comments
eatonphil 1 day ago
It's great to see paths forward for the MySQL community! Exciting to see this become public.

Does the GPL2 license here mean that anyone writing extensions for VillageSQL must license extensions as GPL2? If so that's still quite far from the Postgres ecosystem where plenty of companies are built largely around being proprietary extensions.

deesix 16 hours ago|
Founder and CEO here. Great question. Right now, since you are linking MySQL files that means that all the extenions need to be GLPv2 or compatible license. In the future, we are hoping to have a stable SDK that is indepedent of the MySQL files so that if you run it out of process, that would give more licensing options to folks. There is a proof of concept of an out-of-process mode for the extensions in the alpha, but we haven't spent much time on proving it out.