Long Term Support

149 rishikeshs 47 8/1/2025, 2:28:11 PM sqlite.org ↗

Comments (47)

arp242 · 10h ago
I've sometimes wondered what their plan for this is wrt. people. Richard Hipp is 64, and I don't think he plans to continue working on SQLite until he's 90. I know two other people work on SQLite, but AFAIK he owns the company(?)

That said, I think the future of SQLite is basically guaranteed on account of being open source (as much as anything in this world can be guaranteed anyway). Look at Rust: it's done fine since Mozilla stopped sponsoring it. Go will be fine when/if Google stops sponsoring it. etc.

hyperbrainer · 8h ago
> the future of SQLite is basically guaranteed on account of being open source

I am not concerned with whether it has a future. But I do fear that the absolute manic focus on code quality, testing and support may take a dive when other programmers take the helm. I am not claiming that there are no developers who are equally careful and/or skilled, but whether the culture of SQLite will persist is, to me, still an open question.

hnarn · 6h ago
Considering the way things are going, I think this is a valid concern for software in general.
sunrunner · 8h ago
> I've sometimes wondered what their plan for this is wrt.

I'm also curious about this for other projects such as Shakti/k9 [1]. Apologies if not referred to correctly as I'm not familiar with these tools, so consider this a question as much as a comment:

A seemingly obscure implementation of a complex tool with a relatively high learning curve and just three maintainers that is supposedly a key component in a number of domains using high-frequency timeseries data (finance, etc.)?

What's the cost/complexity ratio in incorporating technology like this into your system? Or is it much less than the impression I get as someone that's jsut a curious passer-by?

[1] https://shakti.com/

TZubiri · 10h ago
https://hwaci.com/

"Hipp, Wyrick & Company, Inc., or "Hwaci" for short, is a small North Carolina company providing knowledge services to clients around the world since 1992. Hwaci is an S-Corporation owned by the husband and wife team of Richard Hipp and Ginger Wyrick."

Companies are a standard mechanism to provide continuity past the lifetime of a single person. A corporation, if it truly adheres to the laws and bylaws, has enough formalisms to ensure such an organization and its products continue to be supported past a lifetime.

bux93 · 12h ago
Originally written in 2016 [1] so they're already 9/34th of the way there.

[1] https://web.archive.org/web/20161021183035/https://www.sqlit...

mlok · 11h ago
9/34 ≈ 26%
breadwinner · 12h ago
> Nobody is completely immune to trends and fads, but the SQLite developers work hard to avoid being sucked into the latest programming fashion.

So good to see this. I have seen so many developers use the latest C# features heavily, to avoid looking weak.

Narann · 11h ago
The second sentence is also very good to see:

> Our aim is to produce timeless code that will be readable, understandable, and maintainable by programmers who have not yet been born.

hangonhn · 12h ago
What do you mean by avoid looking weak? Like engineers in that community look down on not using the latest features?
general1726 · 11h ago
There is a FOMO especially around younger developers who wants to use latest, newest and upgrade all frameworks the moment they pop out on Microsoft website.

Older developers (like me) have opposite problem and I have been fighting for months to not upgrade .NET4.8 to .NET8 due to compatibility with our current deployment chains etc. In the end I had to admit that using .NET8 for everything is going to work too and is going to give us access to better tools and new tech either through some teething problems.

riku_iki · 8h ago
It could be because this is the easier way to build up resume and be competitive on the market.
jayd16 · 11h ago
I think the parent is mostly sour grapes.

There is no such community push but like anywhere else, you'll see folks get excited about new toys and then try to force them in to try them. It's not any worse for C# than anything else.

breadwinner · 10h ago
> Like engineers in that community look down on not using the latest features?

Yes. Engineers use the latest features heavily to demonstrate that their skills are current.

One of the worst such features is "var". Some tools even flag your code for not using var when you could. Inappropriate use of "var" makes code harder to read (and even MS documentation says this) and makes code slightly less reliable too.

enlightens · 9h ago
Ok but var has been around since C# 3.0 in 2007. Love it or hate it, using that keyword in 2025 signals nothing about how current your skills are.

https://en.wikipedia.org/wiki/C_Sharp_3.0#Local_variable_typ...

breadwinner · 9h ago
You are right about this not being a new feature. But if you don't use it, it seems like you haven't updated your skills in a while.

Besides making the code harder to read, "var" also makes your code less reliable as seen in this example: https://circles.page/567f44465c28b00bf8ed6cf9/Csharp-Type-In...

recursive · 49m ago
SomeMethod().Fire(); has the same "problem". var e = new Employee(); does not.

The problem you see is independent from var.

enlightens · 9h ago
from your sibling comment: > "var" also makes your code less reliable as seen in this example

I disagree with this too, I think your example is a classic case of preprocessor directives making it difficult to know what your code is doing because the build system is going to conditionally change your code. Var or not, you can't even know what's being compiled just by looking at the file, and that's a larger problem than the use of var

https://learn.microsoft.com/en-us/dotnet/csharp/language-ref...

breadwinner · 9h ago
Use of preprocessor in the example is incidental. The problem with var is that you're not completely stating your intent, leaving it to the compiler to infer your intent. This can lead to trouble in some cases.

I have seen code that sorts numbers as strings, because nowhere in the code was the intent stated that the array is supposed to hold numbers. As a result, if the programmer forgot to convert strings to integers at input time, the bug is never caught.

See: https://circles.page/567f44465c28b00bf8ed6cf9/Csharp-type-in...

8bitbeep · 11h ago
Funny. I don’t need to work hard for that at all. It comes naturally to me. It obviously has its pros and cons, but to me, a shiny new tech has to prove itself first in order to deserve my attention.

There are, occasionally, the “wow, I got to have that” moments and those are great, but rare.

thasso · 11h ago
Can recommend this podcast [1] with Richard Hipp, primary author of SQLite, talking about, among other things, about the origins of SQLite and how they tested it for use in aviation.

[1]: https://corecursive.com/066-sqlite-with-richard-hipp/

adamgordonbell · 9h ago
I recall him mentioning ( thought maybe it didn't make the cut ) that he would be supporting sqlite into his 90s.

That he was contractually obligated to do so, and that he kept that in mind, probably effects his attitude towards shipping certain things.

stego-tech · 12h ago
> The SQLite source code is over 35% comment.

This is a gold standard for documenting source code, in my experience. It doesn’t entirely solve the “bus” problem, but reduces the barrier to entry for new maintainers or project resuscitators substantially by making it easy to understand what’s going on and why decisions were made.

Admittedly, my own code is also in that 35% range for commenting, so I’m inherently biased towards that threshold specifically. YMMV.

pdpi · 11h ago
I don't aim for any specific value, but I find that my code is decidedly bimodal — any give file is either close to zero comments or in that 30-50% by lines range. More specifically: I try to structure my code such that the "30-50% comments" code is what enables me to write the zero-comment code.
stego-tech · 9h ago
I worked that way at first, but found that I had difficulty parsing my own zero-comment code to myself years after I wrote it. Nowadays I preface every file/snippet I write with a README block to summarize what the intent of the code was, and I redress my pseudocode into comments once the actual code is written out.

This naturally gets me close to the 1/3rd mark, I find, without really trying. When that code is shared with others, they typically report back that it’s very easy to read quickly and make adjustments.

But again, that’s my entirely subjective experience.

mattashii · 12h ago
The percentage of comments in line counts doesn't measure the quality of the comments, nor the quality of the codebase.

It's rather easy to get over 50% by putting a comment above each line of code, containing the output of an LLM that's asked "what does this line do" and supplied with exactly that line of code. It's much harder to make sure the comments make sense and actually add value.

datadrivenangel · 12h ago
"The SQLite source code is over 35% comment. Not boiler-plate comments, but useful comments that explain the meaning of variables and objects and the intent of methods and procedures. The code is designed to be accessible to new programmers and maintainable over a span of decades. "

They try!

hansonkd · 12h ago
got me thinking that it would be interesting to remove all comments that cant be reproduced by llm on code base with comments stripped out.

If the llm can produce similar enough comment from scratch, would it be better to just have an IDE that dynamically injects comments when you need as opposed to them being in version control?

LostJourneyman · 12h ago
One of the stated goals is to have long-term support and maintainability. Adding in a dependency like an IDE is already a large step away from that goal, and to include a dependency on a LLM's non-auditable output actively steps away from that.

Comments in source code are always going to meet the maintainer's intention and will much more likely cover the use cases that comments are meant to cover - unintuitive cases or decisions, unclear algorithms, general usage to point maintainers in the right direction, and so on. More importantly, comments in the source code require no additional tools or other dependencies and as such are more dependable.

0cf8612b2e1e · 12h ago
Why would I want comments produced by a roll of the dice rather the human who was in the thick of it?

I would instead be willing to consider some kind of QC assessment. Where does AI think the comment does not match the code because something has fallen out of sync.

hansonkd · 10h ago
I think people are misreading this. I said

> all comments that cant be reproduced by llm

Not remove all comments.

meaning if your comment is so low quality that an LLM will generate it for you by reading the code, then it doesn't belong in VCS

bux93 · 12h ago
Is that by line count or by character count? (So I know whether I should instruct my LLM to either write haikus or verbose/hippopotomonstrosesquipedaliophilic comments.)
vasco · 12h ago
AI generated comments are useless unless you fix them up, otherwise the reader can generate AI explanations themselves, you're not adding anything.
kej · 10h ago
>You can copy an SQLite database file

Completely off topic, but I think it's a fun quirk of English that sometimes the choice of a/an will tell you how a person pronounces a word. You can spot whether someone has an American or British/Australian accent by whether they write "a historian" or "an historian", for example, even if you've never heard them speak.

tmaly · 12h ago
This is great for reducing maintenance overhead for code. I have code using SQLITE written in 2008 that is still working without issues.
Cthulhu_ · 12h ago
Love it. There should be more longevity in software. I've worked at too many projects that was "just" a rewrite of something else, usually due to legacy issues / dropped support (e.g. no support for Flex on iOS, libraries/frameworks no longer being maintained, etc).

I'm a big fan of the Go programming language because of this, but also by extension of "boring technology" (https://mcfunley.com/choose-boring-technology). It's hard to be able to make an impact in this regard in the B2C projects I usually have though.

wiz21c · 12h ago
> Aviation-grade testing → Every machine-code branch instruction is tested in both directions.

It sounds really cool. And even if in the end everyone benefit from that, I wonder who requested that (if someone did)... I mean, it's expensive to test up to that level...

depr · 8h ago
Keep in mind that though it is often claimed that SQLite is DO-178B certified, they do not claim that themselves, they merely say DO-178B-inspired: https://www.sqlite.org/hirely.html

And while Airbus confirmed they are using SQLite, they did not claim they are using it in safety critical parts, which D. Richard Hipp confirms here: https://news.ycombinator.com/item?id=18039303

hiAndrewQuinn · 12h ago
I believe it was requested by some commercial company. What I find much more astonishing is that this all managed to happen for a public domain product.
pstuart · 10h ago
The company in question is Airbus.
timpera · 12h ago
Thank you for posting this, now I know about the Recommended Formats Statement from the Library of Congress. Pretty interesting stuff, and unexpectedly detailed!

https://www.loc.gov/preservation/resources/rfs/

declan_roberts · 9h ago
> Old school → Nobody is completely immune to trends and fads, but the SQLite developers work hard to avoid being sucked into the latest programming fashion. Our aim is to produce timeless code that will be readable, understandable, and maintainable by programmers who have not yet been born.

Shots fired at the rust community.

majewsky · 7h ago
Not to disagree entirely, but the first stable Rust release is over ten years old. It qualifies as "the latest programming fashion" less and less with each passing day.
aanthonymax · 11h ago
It's cool that the developers have such ambitious plans for years to come. After all, SQLLite is already 25 years old.
pikuseru · 9h ago
I wish most software was developed and supported like this
rsync · 6h ago
"You can copy an SQLite database file from one system to another ..."

... and further, you can do it in an open, standard fashion over SSH:

https://www.sqlite.org/rsync.html

haunter · 11h ago
>SQLite can survive a continental catastrophe.

But not a global. Unless someone ports it to Collapse OS/Dusk OS, that would be a true LTS plan

https://collapseos.org/

https://duskos.org/