Fun facts about SQLite

Type system and STRICT tables

  • Several comments note the article understates SQLite’s type system.
  • SQLite is “weakly typed” by default (type affinity, accepts many values), but STRICT tables can enforce strong types on a per-table basis.
  • Some readers find the article’s phrasing self‑contradictory (“it has opt‑in types” vs “it doesn’t have types”) and suggest clarifying “doesn’t enforce types by default.”

Concurrency model and performance

  • Clarification: “single writer” is different from “single‑threaded”; single‑threaded systems can still interleave writes.
  • One commenter calls SQLite’s write locking “the worst possible,” others counter that if you have constant concurrent writes to a non‑append‑only DB, you likely have an architectural issue regardless of engine.
  • WAL mode, batching, and explicit BEGIN IMMEDIATE are recommended to improve write behavior.
  • Performance chart discussion: big gains 2013–2017; likely most low‑hanging optimizations are exhausted.

Licensing, public domain, and “open source”

  • Large subthread on whether SQLite is “open source” in a legal or colloquial sense.
  • SQLite is public domain; OSI says public domain is not “Open Source” because it’s not a license, though its freedoms are at least as broad.
  • Debate over OSI’s authority, terminology (“Open Source” vs “open source”), and corporate reliance on OSI‑approved licenses.
  • Jurisdictions without a strong public‑domain concept complicate use; some say you may technically need a purchased license there, others argue PD‑style grants should still be valid.
  • Some worry OSI’s gatekeeping hinders sustainable business models; others value a shared, strict definition.

Article quality and citation practices

  • Some readers see the post as shallow "listicle"/karma‑bait with minor inaccuracies and grievances about contributions and licensing.
  • Specific nitpicks: turning SQLite’s “likely over one trillion DBs” into a flat statement; mixing up “destroyer” vs “battleship”; using screenshots of text instead of real text, and weak citation style.
  • Others defend the post as a beginner’s learning journal and encourage the author to continue.

Pronunciation, ethics, and miscellany

  • Long side thread on pronouncing SQL/SQLite (“S‑Q‑Lite”, “sequel‑ite”) with strong regional variation.
  • Discussion of SQLite’s Code of Ethics vs typical Codes of Conduct; some appreciate its ethical framing, others note it’s conceptually different.

Use cases and patterns

  • SQLite praised for backward compatibility, ubiquity (smartphones, browsers, OSes), and as a client‑side cache or prototyping DB.
  • Some use it as a “NoSQL” store by having a single JSON column and leveraging JSON functions and expression indexes; others argue this sacrifices schema clarity and tracking.