Hacker News new | ask | show | jobs
by hharnisch 2316 days ago
For all the great things about SQLite there are some concerning things around the project.

First off, even though the source code is public domain, you can't contribute since it is closed source: https://sqlite.org/copyright.html

There are 3 developers who maintain the project https://www.sqlite.org/crew.html and operate under a "code of ethics" that used to be called their "code of conduct" https://sqlite.org/codeofconduct.html

While it succeeded in getting widely adopted I have trouble believing that this is sustainable.

6 comments

They address this directly under the section entitled "Open-Source, not Open-Contribution":

SQLite is open-source, meaning that you can make as many copies of it as you want and do whatever you want with those copies, without limitation. But SQLite is not open-contribution. In order to keep SQLite in the public domain and ensure that the code does not become contaminated with proprietary or licensed content, the project does not accept patches from unknown persons.

In other words, the reasoning is that since the code is released to the public domain, they want to ensure they can continue doing so without encumbering or confusing future releases with tainted contributions. Quite admirable.

Huh? The page you linked clearly says "Open Source".

So even if those 3 developers disappear tomorrow, you can fork the source code and compile and maintain your own.

https://www.sqlite.org/src/doc/trunk/README.md

And it's already been sustained for 20 years meaning it has outlasted the great majority of software projects out there.

It's unfortunate that they bowed to pressure and removed their original monastic code of conduct.
Being open source and being open to contributions are pretty much orthogonal. SQLite itself is every bit open source.

This isn’t even a particularly strange arrangement for open source. See The Cathedral and the Bazaar.

It's pretty normal for open source projects to refuse contributions from anyone who hasn't signed a CLA or something similar. The alternative is a legal nightmare.
they have contracts to support the US military for many decades into the future. Hard to be more sustainable than that.
Just to be clear: We do not have any support contracts with the US military, nor any other US government agency, nor any other government entity, either inside or outside the US. Not that we would turn down such work if it were available, it is just that is has never come up.
I'm pretty sure I read this in an interview with one of the authors. However, I can't find it, so I will defer to you. Apologies for the implication.
You're not the only one.

Until I read the transcript, just now, I had confused SQLite's origins (a General Dynamics contract with the US Navy) with its through-2050 support contract, which, it turns out, is with Airbus.

There are 3 people on the planet who can make changes to it and one person who can work on their custom made source control system. Single points of failure are not sustainable.
Well, it's been popular for 20 years, so that sounds fairly sustainable to me. A lot of projects with many more contributors have come and gone in that time period.

Either way, that doesn't make it "closed source" like you said in the other comment.

> There are 3 people on the planet who can make changes to it

Anyone on the planet can make changes to it and distribute those changes. The only thing those 3 can do that the rest of us cannot is get their changes into the copies distributed at sqlite.org.