The project libsql attempted to create an fork SCLite DBMS, oriented to openness to participate in the community and promoting innovations that go beyond the original purpose of SQLite. As the reason for the creation of the fork, a fairly rigid SQLite policy is called for taking a third -party code from the community if there is a need to promote improvements. Fork code is distributed under the MIT license (sqlite is supplied as a public property).
Fork creators intend to maintain compatibility with the main SQLite and adhere to the same level of quality, preserving the set of test scenarios and gradually expanding it as innovations are added. To develop a new functionality, it is proposed to provide the possibility of using the Rust language, while maintaining the base part in the language of SI. In case of changing the policy of the main SQLite project regarding the acceptance of changes, Libsql developers intend to transfer accumulated changes to the main project and connect to its development.
Among the ideas for the possible expansion of SQLite functionality are mentioned:
- Integration of means for building distributed databases operating at the level of the library itself, and not through replication of changes in the file system (Litefs), and without the development of a separate product (DQLITE, RQLITE, Chiselstore).
- Optimization for the use of asynchronous APIs, such as the IO_URING Linux core Linux.
- The ability to use SQLite in the Linux nucleus, by analogy with support for the EBPF virtual machine, for situations when you need to save data sets that do not fit into RAM.
- Support for the functions determined by the user written in any programming languages and compiled in the interim code of Webassembly.