← Back to context

Comment by girst

5 years ago

>because the existing implementation was too mature.

That's not what I gathered from their official response to the deprecation[1]. But the major problem with WebSQL for Mozilla seems to be this:

>We don’t think it is the right basis for an API exposed to general web content, not least of all because there isn’t a credible, widely accepted standard that subsets SQL in a useful way. Additionally, we don’t want changes to SQLite to affect the web later

edit: and once again: security might have been a deciding factor, too[2].

[1]: https://news.ycombinator.com/item?id=18685296

Yet years later there is still no good solution for that space and IndexedDB is a total clusterfuck.

I'd be far more worried about the mess at the core of the web, css and rendering, than about exploitable bugs of SQLite. The fact that a RCE in SQLite is HN worthy is indicative of that. Browsers have tons of RCE that are fixed every year, but it happens silently because everybody is so numbed to it.

The quoted argument is a copout of them. HTML is also a "Living Standard" a.k.a. we just implement whatever we feel like, and write it down once we feel like it has stabilised a bit. They could have done the same for SQL, but NoSQL was en vogue at the time so they pretended that SQL needs to somehow hold up to much higher standards than the usual mess they produce.

SQLite is probably one of the few pieces of software that is actually trustworthy, unlike the dumpster fires of C++ and feel good essays, that we call browsers.

  • Web standards are meant to have multiple independent implementations. That’s pretty much the entire reason that Google pays for Firefox at this point. “Everyone should just use SQLite” is a slippery slope to “everyone should just use Blink”.

    • Blink is exactly a good example on why starting out with SQLite would have been a good idea.

      Blink is a fork of Webkit, an engine soo much better than the alternatives, that it almost over-night became the de-facto standard.

      Did webkit ruin the web? Eventually apple and google disagreed and blink was forked of off webkit.

      The same thing would have happened to SQLite as the foundation of a living WebSQL spec.

      It's ironic that Mozilla pushed IndexedDB through, yet they were among those too lazy to provide their own implementation. Instead they simply dump everything into SQLite, same strategy done by Apple. They left it to google to implement the only differing implementation based on LevelDB.

      But hey, it's totally important to have multiple independent implementations...

      6 replies →