Earlier quoted context omitted.
No. At least according to the Open Source Initiative, public domain is not open source: https://opensource.org/blog/public-domain-is-not-open-source
Any definition of open source that doesn't include the public domain is out of touch with how real people use the words "open source" and is therefore useless. You can make up any definition you want, but if you insist on calling elephants "bananas", I'm not going to take you seriously
Limbo: A complete rewrite of SQLite in Rust
91–100 of 238 posts
Re: Limbo: A complete rewrite of SQLite in Rust
#92Earlier quoted context omitted.
...as long as you can persuade the keepers of the proprietary test suite to agree to run it against your code.
Even without that, it’s helpful. It means there is less (no?) undefined behavior that you will need to emulate to maintain compatibility. You can just follow the spec.
By the way, SQLite itself does not meet one of these criteria. Know which one? ))
Re: Limbo: A complete rewrite of SQLite in Rust
#93Earlier quoted context omitted.
No. At least according to the Open Source Initiative, public domain is not open source: https://opensource.org/blog/public-domain-is-not-open-source
Any definition of open source that doesn't include the public domain is out of touch with how real people use the words "open source" and is therefore useless. You can make up any definition you want, but if you insist on calling elephants "bananas", I'm not going to take you seriously
Please note that public domain laws vary depending on the country. What you call a banana might mean something different elsewhere.
Re: Limbo: A complete rewrite of SQLite in Rust
#94Given the code quality and rigid testing, SQLite is probably the last project that should be rewritten. It'd be great to see all other C code rewritten first!
> Given the code quality and rigid testing, SQLite is probably the last project that should be rewritten. That was my take for many years but I have come around 180 degree on this. I think at this point it's very likely and most likely mandatory to eventually rewrite SQLite. In parts because of what is called out in the blog post: the tests are not public. More importantly, the entire project is not really open. And…
Re: Limbo: A complete rewrite of SQLite in Rust
#95Re: Limbo: A complete rewrite of SQLite in Rust
#96Earlier quoted context omitted.
> It uses Asynchronous I/O Can it have more than 1 writer?
As of now it has a single writer, same like SQLite. But we plan to add MVCC with multiple writers in the future. Pekka has experimented with MVCC earlier: https://github.com/penberg/tihku
Re: Limbo: A complete rewrite of SQLite in Rust
#97Earlier quoted context omitted.
Even without that, it’s helpful. It means there is less (no?) undefined behavior that you will need to emulate to maintain compatibility. You can just follow the spec.
If you can not run the test suite, then how do you know that you properly followed the spec? And did so securely? And in a performant manner? Even for edge cases? On obscure hardware, filesystems, and OSes? Even if the power cuts out? Or the cable to the hard drive (transactions)? Even if a stray cosmic ray flips a bit? By the way, SQLite itself does not meet one of these criteria. Know which one? ))
Re: Limbo: A complete rewrite of SQLite in Rust
#98Earlier quoted context omitted.
That was my take when LibSQL was announced. And it still is and would be my take if LibSQL remains C-coded. But a Rust-coded rewrite of SQLite3 or LibSQL is a different story. The SQLite3 business model is that SQLite3 is open source but the best test suite for it is proprietary, and they don't accept contributions to any of either. This incentivizes anyone who needs support and/or new features in SQLite3 to join the…
>> The SQLite3 business model is that SQLite3 is open source This is going to sound pedantic, but SQLite is not Open Source. It's Public Domain. The distinction is subtle, but it is important.
I'm a bit puzzled why SQLite doesn't solve this trivial issue by claiming the code is CC0-licensed. CC0 is made just for that: a very wordy way to make it as close to public domain as possible in each jurisdiction.
On the other hand, hobbyists won't care. As long as you trust them in their intention to have it open source they won't sue you for infringement either. And if as a company you need more assurance than "it's public domain" they are so nice to sell you a fancy legally-satisfying piece of paper for an undisclosed price. It's a subtle but clever way to get income from users with too much money
Re: Limbo: A complete rewrite of SQLite in Rust
#99Earlier quoted context omitted.
No. At least according to the Open Source Initiative, public domain is not open source: https://opensource.org/blog/public-domain-is-not-open-source
It is absolutely true that a work can be in the public domain and not have source available (or even contributable). But that doesn't really matter to most people. The question for most people is not whether something is open source, but whether they can copy and make use of a work without being held liable for copyright infringement. SQLite happens to be both public domain and open-source to an extent (i.e., source…
Re: Limbo: A complete rewrite of SQLite in Rust
#100Earlier quoted context omitted.
Code quality is not the only thing to consider. Some people would love to see something like SQLite with 2 important changes: referential integrity that respects the DDL and strict tables that also respects the DDL.
I might be missing something—is there a reason why rewriting it in Rust would be a prerequisite to adding these features, vs just starting a fork? And in this case the project intends to be fully compatible, so they wouldn't be able to unilaterally adopt or drop features anyway.