
DuckDB, an open source database manager for data analytics, has added a notebook-style local web UI (user interface). The local web UI is not open source, sparking debate about whether the project is moving towards a proprietary model for some future features.
Version 1.2.0 of DuckDB was released last month and includes new features including improved compession methods, the ability to add a primary key to an existing table, Latin-1 and UTF-16 encoding support (previously only UTF-8), faster CSV (comma-separated values) parsing, prefix aliases for more concise and readable SQL, a new C-style API for extensions, and more. Version 1.2.1, delivered two weeks ago, was presented as a bug-fix release, though the release also now includes support for the local UI.

The new UI is based on a local web server and has an interactive cell-based design similar to a Jupyter Notebook. Features include the ability to attach databases, including in-memory and file-based databases; view statistics, execute SQL commands and queries, and summarise results.
Support for the local web UI is implemented as an extension. The user experience is that simply typing the command:
duckdb -ui
will open the local UI in a web browser. However the UI is not built into the DuckDB binary. The way this works is explained by a DuckDB maintainer, who said that “the work we did was add the -ui command to the shall. This executes a SQL query CALL start_ui …the ui extension is automatically installed and loaded when the start_ui function is executed – similar to other trusted extensions we distribute.”
The way it is implemented is important as it allows the DuckDB project to remain open source while actually using an extension that is not open source, but instead comes from the venture-capital funded MotherDuck company.
The local UI feature has been welcomed by developers but has also raised questions like this one about “what this collaboration means for the future of DuckDB’s no-cost and commercial usage.”
The official post about the feature states that “the repository does not contain the source code for the frontend, which is currently not available as open-source. Releasing it as open-source is under consideration.”
MotherDuck is a company founded in late 2022 to create a serverless cloud analytics platform based on DuckDB, initially funded by $47.5 million of venture capital. According to the original announcement the non-profit DuckDB Foundation governs the DuckDB project and safeguards its open source status under the MIT license. Another company, Duck DB Labs, employs the core contributors to the project and is in partnership with MotherDuck. MotherDuck contracts DuckDB Labs for development work.
DuckDB was created by Dr Mark Raasveldt & Prof Dr Hannes Mühleisen. A Why DuckDB article states that the project began when its main developers were “public servants in the Netherlands” and adds that “we see it as our responsibility and duty to society to make the results of our work freely available to anyone in the Netherlands or elsewhere.”
The DuckDB project was inspired by SQLite but optimized for analytics and including features such as window functions which SQLite lacks. It is cross-platform, standalone, and well supported by client libraries in C, C++, Python, R, Rust, Java and more; there is also a Wasm implementation for in-browser use.