4 ms·
Because if everyone used SQLite there would be no second implementation, which is something that is necessary for a proposed standard to become an actual standa
by sid0 16y ago
Because if everyone used SQLite there would be no second implementation, which is something that is necessary for a proposed standard to become an actual standard.
- Groxx 16y agoI believe you, especially as it makes a number of lines I've heard around this make more sense... but why? Especially in this case, where there is a standard and it's already been implemented by several? Is it just pedantry because they don't get to call the shots?
- sid0 16y ago> where there is a standard There is no standard. There is a proposed standard, but it's failed because it didn't have multiple implementations. > and it's already been implemented by several No, it has exactly one implementation: SQLite. SQLite-in-Safari and SQLite-in-Chrome obviously don't count as different implementations.
- Groxx 16y agoIt has one implementation implemented identically in more than one browser. SQLite. Which is a standard with an implementation to compare against. Anyway. Yes, there is only one implementation, one standard, one non-W3C-spec. Why does it matter to them that there's no competing spec, when they could just support something that is already out there, and can be solved by pointing to http://www.sqlite.org/docs.html http://www.sqlite.org/docs.html ? The API for accessing it is mindlessly simple and small, documenting that would take a day at worst. It seems they're trying to run it into the ground because they don't control it, because it didn't go through their proper procedure, whereby it must have a competitor. Why? In what way is this helpful? And if they're not being helpful, what's their purpose? To be dogmatic and prevent good ideas they didn't come up with from spreading? --- edit: >The World Wide Web Consortium (W3C) is an international community where Member organizations, a full-time staff, and the public work together to develop Web standards. Led by Web inventor Tim Berners-Lee and CEO Jeffrey Jaffe, W3C's mission is to lead the Web to its full potential. Contact W3C for more information. (from http://www.w3.org/Consortium/ http://www.w3.org/Consortium/) How does trying to prevent it aid in "lead[ing] the Web to its full potential"?
- sid0 16y agoWhy does it matter to them that there's no competing spec Because ALL web standards are standards only because of the fact that there are MULTIPLE implementations. This is a basic principle behind the Web, and making even a single exception leads to a dangerous slippery slope. It seems they're trying to run it into the ground because they don't control it No. because it didn't go through their proper procedure, whereby it must have a competitor. Yes. In the long term, not having another implementation is a dangerous sign -- it is a sign that developers are incapable of coming up with another implementation. What if SQLite can't be ported to some hypothetical architecture/stack in the future -- for example, a fully managed OS? What is the guarantee that someone will be able to come up with another implementation of the same spec which can run on that OS? At least with multiple implementations you know that the problem is tractable. Why? In what way is this helpful? It is helpful because it demonstrates long-term thinking. And if they're not being helpful, what's their purpose? To be dogmatic and prevent good ideas they didn't come up with from spreading? No, to think in the longer term than you do.
- Groxx 16y agoAnd the multiple implementations of IndexedDB are...? (don't actually know. If you do, I'd be interested in links) Similarly, there are plenty of implementations of SQL out there. They don't count?
- sid0 16y agoAnd the multiple implementations of IndexedDB are...? (don't actually know. If you do, I'd be interested in links) There's an early one in Firefox 4 beta right now [1], and an upcoming one in Chrome [2]. Microsoft will probably implement IndexedDB in a future version of IE [3]. (IndexedDB isn't a standard right now either, but it'll be on track to be one once two implementations are complete.) [1] https://wiki.mozilla.org/Firefox/Projects/IndexedDB https://wiki.mozilla.org/Firefox/Projects/IndexedDB [2] http://www.chromium.org/developers/design-documents/indexeddb http://www.chromium.org/developers/design-documents/indexedd... [3] http://blogs.msdn.com/b/ie/archive/2010/03/09/working-with-the-html5-community.aspx http://blogs.msdn.com/b/ie/archive/2010/03/09/working-with-t... Similarly, there are plenty of implementations of SQL out there. They don't count? No, since none of them share all the peculiarities of SQLite. For example, SQLite doesn't have type checking, while most other SQL databases do.
- wmf 16y agoThat's a pre-open-source view of standards. We don't have multiple implementations of Python or Linux, yet they can be widely relied on.
- sid0 16y agoIt's the current W3C view of standards. Also * of course we have multiple implementations of python: CPython, PyPy, IronPython... * Python isn't a W3C standard, nor does it aim to be one.
- wmf 16y agoMaybe W3C should change, rather than remaining stuck in the early 90s.
- sid0 16y agoWell, I think having two implementations is necessary for a "standard" to actually truly be one, because if there's just one then you might as well be standardizing on the implementation rather than on the spec. I don't agree with standardizing on implementations in principle.
- Groxx 16y agoHardly. An API can exist entirely without implementation, and pulling an API from an implementation doesn't need to expose any details of the implementation. That's kind of the point of an API - it's an abstraction. And what are the specs, if not APIs? Not standardizing on an implementation: makes sense. Refusing to standardize on an API until there are two+ implementations: ?
- wmf 16y agoRefusing to standardize on an API until there are two+ implementations: ? There are good reasons for this, like uncovering undocumented-but-essential behavior. I think if you are going to standardize an API you should have two implementations, but I also think it's reasonable to standardize a single implementation as long as it is licensed so that everyone can use it (e.g. SQLite).