That would actually be an example of something that is open, but does
little to ensure end-user freedom.

Please note that I'm not saying there's anything wrong with that as such
-- just that -- if we're talking about whether or not software is
licensed in a way that ensures end user freedom or not, then putting
software in the public domain is not an effective way to do that.

One could take the sqlite source, modify it (to break file format
comparability) and build something like fossil[1] -- but where the
client software depends on a server side component ("fossilhub"), and
then keep both the client and server proprietary.

Now, anyone using this service would be locked in to using the
proprietary clients and servers. It'd be difficult to modify the client,
and difficult to migrate your data out -- and if the company that hosted
the server shut down, it would take the data with it.

Obviously, sqlite being in the public domain, doesn't dictate this
(see the actual fossil software for a counter example). But on a
spectrum, if something is released under the (A)GPL, and the licence is
followed, end user lock in as a result of building on that software is
less likely. The licence does a better job of protecting end user
freedom.

Would I say that sqlite, in general, isn't free software? Probably not.
Would I call it "more free" if it was under the (L)GPL -- maybe. With
libraries, how you define such things is tricky -- because the intended
(end) user is different.

When you release something like sqlite, you want both the developer
user, and the end user to have freedoms. You might want to enable the
developer to restrict the end users freedoms -- and that is fine -- but
calling such a licence "more free" just because it shifts which type of
users' freedoms it protects, doesn't sit quite right with me.

As an example, one could take pretty much any software under the BSD
licence, or say the whole of a BSD system. Because it facilitates closed
systems. It's been suggested that the PS3 OS runs off a modified version
of FreeBSD, for example.

Now, the console business is largely based on lock-in; subsidize the
hardware for a while, make money from licences. If people could just run
anything they wanted on the subsidized hardware, that wouldn't work very
well -- you'd essentially be giving away hardware. It'd also be illegal
dumping in most regulated free markets.

I'd love for things to be regulated so that selling such crippled
hardware wasn't legal. That would probably mean a hike in console
prices, however (well, at least in the previous generation of consoles
-- it's a little less clear now that both Sony and Microsoft will be
selling PCs).

Another example (well the same example) might be iOS/iphone vs Android
devices. Android running the Linux kernel, lowers the bar considerably
for companies like Canonical and Mozilla to develop new OSs that run on
existing hardware. Yet another example would be various routers and
switches running propietary software, leaving the owner stranded if the
upstream source of the software stops development for some reason.

Free is a spectrum - my original response tried to highlight one
difference between "open" and "free" -- and in that context, I wouldn't
consider sqlite to be particularily free (nor entirely closed!). I do
consider it do be (entirely) open.

[1] http://www.fossil-scm.org/