Hacker News new | ask | show | jobs
by bruce511 554 days ago
>> The SQLite3 business model is that SQLite3 is open source

This is going to sound pedantic, but SQLite is not Open Source. It's Public Domain. The distinction is subtle, but it is important.

6 comments

>This is going to sound pedantic, but SQLite is not Open Source. It's Public Domain.

Well, there are 2 different modes of communication:

(1) official language-lawyer pedantic communication: "open source" != "public domain"

(2) conversational casual chitchat : "open source" includes "public domain"

Yes, the SQLite home page does say "public domain". However, when people interview SQLite create, Richard Hipp, he himself calls it "open source". He also doesn't correct others when they also call it "open source". Excerpt of R Hipp:

  So, I thought, well, why can't I have a database that just
  reads directly off the disc? And I looked around and
  there were none available. I thought, “oh, I'll just write
  my own, how hard can that be?” Well, it turns out to be
  harder than you might think at first, but I didn't know
  that at the time. But we got it out there and I just put it
  out as open source. And before long, I started getting
  these phone calls from the big tech companies of the
  day, like Motorola and AOL, and, “Hey, can you
  support this?”, and “Sure!” And it's like, wow, you can
  make money by supporting open source software?
https://sigmodrecord.org/publications/sigmodRecord/1906/pdfs...
> (2) conversational casual chitchat : "open source" includes "public domain"

it's wrong though. like, can't be more wrong than that. you can't do whatever you want with open source software, the license tells what you can and cannot do.

with public domain software you can do most things.

Open source means just that: that the source is open. The OSI and co. re-defining the term to suit their ideological preferences doesn’t really change that. SQLite is open source, even if it’s not Open Source.

Edit: FSF should have been OSI, I think. Fixed.

> The OSI and co. re-defining the term

I don't know where you got this idea but it's not true. The OSI is simply defending the definition as it has been generally understood since the start of its usage in the 1980s by Stallman and others.

The only group of people "re-defining" -- quite successfully I suppose, which you are an example of -- what open source software means are those that have a profit motive to use the term to gain traction during the initial phase where a proprietary model would not have benefited them.

I don't think I need to provide concrete examples of companies that begin with an open source licensing model, only to rug-pull their users as soon as they feel it might benefit them financially, these re-licensing discussions show up on HN quite often.

In the 1980s we had Shareware, Beerware, Postware, whateverWare, Public Domain, "send me a coffee", "I don't care" open source, magazine and book listings under their own copyright licenses (free for typing, not distribution).

Most of us on 8 and 16 bit home computers didn't even knew "Stallman and others" were.

Additionally, GCC only took off after Sun became the first UNIX vendor to split UNIX into two SKUs, making the whole development tools its own product. Others quickly followed suit.

Also, in regards to Ada adoption hurdles, when they made an Ada compiler, it was its own SKU, not included on the UNIX SDK base package.

I don't really understand what your point is, but shareware has never been "open source".

Nobody's arguing that public domain code, or the MIT, or whatever is not open source; it's obviously open source because it's _more_ free than the GPL.

Sure, devs can call any "source available" project "open source" because it gets people interested even though you have zero interest in using an open source development model or allowing others to make changes to the code. Devs can also expect well deserved flak from people who understand that "open source" is not marketing speak.

I don't understand why OSI didn't pick an actually trademarkable term and license its use to projects that meet its ideals of open-sourceness. OSI knows it has no right to redefine common language and police its usage, any more than a grammar pedant has the right to levy fines against those of us who split infinitives.

(To be fair to OSI, I've never seen any of their representatives do this. But the internet vigilante squad they've spawned feels quite empowered to let us know we've broken the rules.)

> conversational casual chitchat : "open source" includes "public domain"

No. What are you talking about? They are not related... other than for people virtually completely new to, well, open source.

You are also completely confused, here, too:

> Yes, the SQLite home page does say "public domain". However, when people interview SQLite create, Richard Hipp, he himself calls it "open source". He also doesn't correct others when they also call it "open source".

They are different things. A project can be both; a person can talk about these two aspects of one project.

This quickly gets into the details of definitions, but I think by most people's definitions of 'open source', something that is 'public domain' qualifies as such (see also 'source available' or 'copyleft/free software', one of which is not quite open source and the other is a more restrictive kind of open source. 'permissive' licenses like MIT and similar are closer to public domain but are different to varying degrees of technicality: one of the main problems with 'public domain' is that it's not universally accepted that there's any means to deliberately place a copyrightable work into it, so something like sqlite where the authors are not long dead is not actually public domain according to many jusrisdictions)
^ is a confused demonstration of my point:

> They are different things. A project can be both; a person can talk about these two aspects of one project.

BTW, your pouring on of qualifiers (elsewhere "weasel words") shows your (correct) lack of conviction:

> the details of definitions, but I think by most people's definitions of 'open source', something that is 'public domain' qualifies as such

It's a difference only insofar that in many jurisdictions their claim that it's public domain has no legal value. If it was truly public domain (e.g. if the authors were long dead) it would be open source. But far from all places allow you to arbitrarily put things in the public domain.

I'm a bit puzzled why SQLite doesn't solve this trivial issue by claiming the code is CC0-licensed. CC0 is made just for that: a very wordy way to make it as close to public domain as possible in each jurisdiction.

On the other hand, hobbyists won't care. As long as you trust them in their intention to have it open source they won't sue you for infringement either. And if as a company you need more assurance than "it's public domain" they are so nice to sell you a fancy legally-satisfying piece of paper for an undisclosed price. It's a subtle but clever way to get income from users with too much money

SQLite didn't just say, "it's public domain."

They explicitly state, "Anyone is free to copy, modify, publish, use, compile, sell, or distribute the original SQLite code, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means."

One can buy a "license" if one's company is run by idle lawyers: https://www.sqlite.org/purchase/license

> They explicitly state, "Anyone is free to copy, modify, publish, use, compile, sell, or distribute the original SQLite code, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means."

It's not clear this is a license grant rather than legal advice (which would be correct legal advice if the code were public domain, but it is not).

> sell you a fancy legally-satisfying piece of paper for an undisclosed price

It's $6,000 https://sqlite.org/prosupport.html

> It's Public Domain.

Is it though? The website does say "All of the code and documentation in SQLite has been dedicated to the public domain by the authors" but copyright law has no exception for "dedications" to the public domain. At best the authors are estopped from bringing suit but even that is unclear.

Companies can buy licences if they're uncomfortable with the Public Domain dedication:

[quote]

Licenses are available to satisfy the following needs:

    * You want indemnity against claims of copyright infringement.
    * You are using SQLite in a jurisdiction that does not recognize the public domain.
    * You are using SQLite in a jurisdiction that does not recognize the right of authors to dedicate their work to the public domain.
    * You want to hold a tangible legal document as evidence that you have the legal right to use and distribute SQLite.
    * Your legal department tells you that you have to purchase a license.
[end quote]

https://www.sqlite.org/purchase/license

They could have CC0 licensed the code or they could have said they would not enforce their copyright. They did neither. SQLite is closed source. The "dedication" (which has no legal effect, what does it even mean?) encourages widespread adoption and big players are spooked into paying for a license (or "warranty of title"). That's quite a strategy.
open source != Open Source. If I had meant the latter I would have written Open Source, but I wrote open source because I meant the former.

How's that for being pedantic?

not helpful.

capitalization is not bearing meaning in these contexts.

open source means OSI compliant, broadly speaking, and licensed as such.

in contrast, public domain doesn't exist in some jurisdictions, which is why sqlite as a company had to create an option to provide an official license. which they found so annoying that they charged a sweet fee to send a signed printed letter...

They don't own the words "open source" no matter how much they might like to.

> “Open Source” describes a subset of free software that is made available under a copyright license approved by the Open Source Initiative as conforming with the Open Source Definition.

No it doesn't. It describes software whose source is "open" which is generally understood to mean that you can read, modify and reuse the code for free.

Public domain definitely fits that. The "public domain doesn't exist in some countries" arguments are spurious as far as I can tell.

Public domain is a form of open source.
No. At least according to the Open Source Initiative, public domain is not open source: https://opensource.org/blog/public-domain-is-not-open-source
It is absolutely true that a work can be in the public domain and not have source available (or even contributable). But that doesn't really matter to most people. The question for most people is not whether something is open source, but whether they can copy and make use of a work without being held liable for copyright infringement. SQLite happens to be both public domain and open-source to an extent (i.e., source available).

Conversely, open source doesn't necessarily mean "free to use without encumbrance." There are many open-source licenses that forbid certain uses (e.g. Business Source License). On the other hand, a work in the public domain is free to be used by all without restriction.

A better analysis of open source vs. public domain would be in the form of a square, where one dimension would be the right to use the work, and the other dimension would be the ability to obtain and contribute source code.

The Business Source License is not an open source license. Open source does mean "free to use without encumbrance" - see points 5 and 6 of the Open Source Definition at https://opensource.org/osd
Yea - software released under the BSL is “source available”, not open source.
Approximately zero people who make real business decisions care what the OSI considers a "real open-source license" to be. They care what the text of the license says.

Also, many licenses, such as the GPL (one of the very first "open source" licenses), have certain encumbrances; you cannot redistribute GPL-licensed software without either including its source code or making it readily available.

No one's saying public domain isn't useful. You're replying to a comment that's specifically and solely combatting the idea that public domain means open source.
Any definition of open source that doesn't include the public domain is out of touch with how real people use the words "open source" and is therefore useless. You can make up any definition you want, but if you insist on calling elephants "bananas", I'm not going to take you seriously
The problem with your analogy is that open source has a definition. As does public domain. As do elephants and bananas.

In your analogy we're not the ones calling elephants bananas, you are. We want to keep calling one bananas and the other elephants. You are suggesting that since elephants are similar to bananas you can simply use either word.

Legally, Open Source and Public Domain are -very- different animals. Open Source comes eith a copyright, and a license (which has requirements), public domain does not.

Of course public domain and open source are both "shipped as source code". Then again so is a fair bit of proprietary software. That doesn't make it open source either.

How people use the term "fair use" is out of touch with the legal definition. That doesn't change the legal definition, it means people use the term incorrectly.
It means the common use of "fair use" is different to the legal definition. It doesn't mean either are wrong. It isn't wrong to say a tomato is a vegetable. In common use it is.

Similarly the common use of "open source" is different to the OSI's preferred definition. Note that the OSI's preferred definition is not a legal definition. It's just what they prefer.

The linked article mentions public domain.

Please note that public domain laws vary depending on the country. What you call a banana might mean something different elsewhere.

You should read the text, it's not about calling elephants bananas but real issues with software in the public domain
I read the text: it's license hermenuetics at best and FUD at worst. Has there been a single instance in recorded history of the author of a public domain work trying to enforce usage, modification, or distribution permissions. Sure, you can point to theoretical variation in the precise semantics of the public domain in various jurisdictions, but it feels like a bar exam puzzle, not a real world practical concern. In the real world, you can safely do whatever you want with public domain software. It counts as free software. That half the planet nowadays uses SQLite and treats it as free software is testament to this reality. Obscure license pedanticism just doesn't inform the choices of anyone actually building.
Public Domain is not Free Software (in the FSF sense) because it has none of the encumbrances of a Free Software license.

In other words you don't use PD software "like Free Software". You can use it in many places where Free Software would not be permissible.

In terms of -developer- freedom, public domain is top of the pile, the Open Source, then Free Software.

In terms of -user- freedoms Free Software is top of the pile, OSS in the middle, public domain is similar to commercial software.

It might seem really unlikely any acquirer would ever sue, but if your big company has compliance auditors they will need to see something in black and white.
Technically true, though this distinction only matters in a few countries.
> public domain software may be free software but is not certain to be.

Open Source relies on copyright and contract law (which are somewhat standardized or at least understood due to their importance in commerce). Public domain relies on other laws that can vary significantly.

https://opensource.org/blog/public-domain-is-not-open-source

Yes, public domain is a form of open source, but not of Open Source (for reasons that IMO are silly).