206 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			206 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!DOCTYPE html>
 | |
| <html><head>
 | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | |
| <meta http-equiv="content-type" content="text/html; charset=UTF-8">
 | |
| <link href="sqlite.css" rel="stylesheet">
 | |
| <title>Long Term Support</title>
 | |
| <!-- path= -->
 | |
| </head>
 | |
| <body>
 | |
| <div class=nosearch>
 | |
| <a href="index.html">
 | |
| <img class="logo" src="images/sqlite370_banner.gif" alt="SQLite" border="0">
 | |
| </a>
 | |
| <div><!-- IE hack to prevent disappearing logo --></div>
 | |
| <div class="tagline desktoponly">
 | |
| Small. Fast. Reliable.<br>Choose any three.
 | |
| </div>
 | |
| <div class="menu mainmenu">
 | |
| <ul>
 | |
| <li><a href="index.html">Home</a>
 | |
| <li class='mobileonly'><a href="javascript:void(0)" onclick='toggle_div("submenu")'>Menu</a>
 | |
| <li class='wideonly'><a href='about.html'>About</a>
 | |
| <li class='desktoponly'><a href="docs.html">Documentation</a>
 | |
| <li class='desktoponly'><a href="download.html">Download</a>
 | |
| <li class='wideonly'><a href='copyright.html'>License</a>
 | |
| <li class='desktoponly'><a href="support.html">Support</a>
 | |
| <li class='desktoponly'><a href="prosupport.html">Purchase</a>
 | |
| <li class='search' id='search_menubutton'>
 | |
| <a href="javascript:void(0)" onclick='toggle_search()'>Search</a>
 | |
| </ul>
 | |
| </div>
 | |
| <div class="menu submenu" id="submenu">
 | |
| <ul>
 | |
| <li><a href='about.html'>About</a>
 | |
| <li><a href='docs.html'>Documentation</a>
 | |
| <li><a href='download.html'>Download</a>
 | |
| <li><a href='support.html'>Support</a>
 | |
| <li><a href='prosupport.html'>Purchase</a>
 | |
| </ul>
 | |
| </div>
 | |
| <div class="searchmenu" id="searchmenu">
 | |
| <form method="GET" action="search">
 | |
| <select name="s" id="searchtype">
 | |
| <option value="d">Search Documentation</option>
 | |
| <option value="c">Search Changelog</option>
 | |
| </select>
 | |
| <input type="text" name="q" id="searchbox" value="">
 | |
| <input type="submit" value="Go">
 | |
| </form>
 | |
| </div>
 | |
| </div>
 | |
| <script>
 | |
| function toggle_div(nm) {
 | |
| var w = document.getElementById(nm);
 | |
| if( w.style.display=="block" ){
 | |
| w.style.display = "none";
 | |
| }else{
 | |
| w.style.display = "block";
 | |
| }
 | |
| }
 | |
| function toggle_search() {
 | |
| var w = document.getElementById("searchmenu");
 | |
| if( w.style.display=="block" ){
 | |
| w.style.display = "none";
 | |
| } else {
 | |
| w.style.display = "block";
 | |
| setTimeout(function(){
 | |
| document.getElementById("searchbox").focus()
 | |
| }, 30);
 | |
| }
 | |
| }
 | |
| function div_off(nm){document.getElementById(nm).style.display="none";}
 | |
| window.onbeforeunload = function(e){div_off("submenu");}
 | |
| /* Disable the Search feature if we are not operating from CGI, since */
 | |
| /* Search is accomplished using CGI and will not work without it. */
 | |
| if( !location.origin || !location.origin.match || !location.origin.match(/http/) ){
 | |
| document.getElementById("search_menubutton").style.display = "none";
 | |
| }
 | |
| /* Used by the Hide/Show button beside syntax diagrams, to toggle the */
 | |
| function hideorshow(btn,obj){
 | |
| var x = document.getElementById(obj);
 | |
| var b = document.getElementById(btn);
 | |
| if( x.style.display!='none' ){
 | |
| x.style.display = 'none';
 | |
| b.innerHTML='show';
 | |
| }else{
 | |
| x.style.display = '';
 | |
| b.innerHTML='hide';
 | |
| }
 | |
| return false;
 | |
| }
 | |
| </script>
 | |
| </div>
 | |
| <div class=fancy>
 | |
| <div class=nosearch>
 | |
| <div class="fancy_title">
 | |
| Long Term Support
 | |
| </div>
 | |
| </div>
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| <p>
 | |
| The intent of the developers is to support SQLite through
 | |
| the year 2050.
 | |
| 
 | |
| </p><p>
 | |
| At this writing, 2050 is still 34 years in the future.
 | |
| Nobody knows what will happen in that time, and we cannot
 | |
| absolutely promise that SQLite will be viable or useful that
 | |
| far out.
 | |
| But we can promise this: we plan as if we will be
 | |
| supporting SQLite until 2050.
 | |
| That long-term outlook affects our
 | |
| decisions in important ways.
 | |
| 
 | |
| </p><ul>
 | |
| <li><p>
 | |
| <b>Cross-platform</b> →
 | |
| SQLite runs on any platform with an 8-bit byte,
 | |
| two's complement 32-bit and 64-bit integers, 
 | |
| and a C compiler.  It is actively
 | |
| tested on all currently popular CPUs and operating
 | |
| systems.  The extreme portability of the SQLite code will
 | |
| help it remain viable on future platforms.
 | |
| 
 | |
| </p></li><li><p>
 | |
| <b><a href="testing.html">Aviation-grade testing</a></b> →
 | |
| Every machine-code branch instruction is tested in both
 | |
| directions.  Multiple times.  On multiple platforms and with
 | |
| multiple compilers.  This helps make the code robust for
 | |
| future migrations.  The intense testing also means that new
 | |
| developers can make experimental enhancements to SQLite and,
 | |
| assuming legacy tests all pass, be reasonably sure that the
 | |
| enhancement does not break legacy.
 | |
| 
 | |
| </p></li><li><p>
 | |
| <b>Extensive, detailed documentation</b> →
 | |
| SQLite has candid, developer-friendly,
 | |
| and open-source documentation.  Docs are written by and
 | |
| for programmers.
 | |
| (A few examples:
 | |
| <a href="./arch.html">[1]</a>
 | |
| <a href="./fileformat.html">[2]</a>
 | |
| <a href="./queryplanner.html">[3]</a>
 | |
| <a href="./opcode.html">[4]</a>
 | |
| <a href="./compile.html">[5]</a>
 | |
| <a href="./malloc.html">[6]</a>
 | |
| <a href="./debugging.html">[7]</a>
 | |
| <a href="./howtocorrupt.html">[8]</a>)
 | |
| The extensive documentation helps new developers
 | |
| come up to speed on SQLite very quickly.
 | |
| 
 | |
| </p></li><li><p>
 | |
| <b>Heavily commented source code</b> →
 | |
| 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.
 | |
| 
 | |
| </p></li><li><p>
 | |
| <b>Disaster planning</b> →
 | |
| Every byte of source-code history for SQLite is cryptographically
 | |
| protected and is automatically replicated to multiple
 | |
| geographically separated servers, in datacenters 
 | |
| owned by different companies.
 | |
| Thousands of additional clones exist on private servers around the
 | |
| world.
 | |
| The primary developers of SQLite live in different regions of the world.
 | |
| SQLite can survive a continental catastrophe.
 | |
| 
 | |
| </p></li><li><p>
 | |
| <b>Old school</b> →
 | |
| 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.
 | |
| </p></li></ul>
 | |
| 
 | |
| <p>
 | |
| In addition to "supporting" SQLite through the year 2050, the developers
 | |
| also promise to keep the SQLite 
 | |
| <a href="cintro.html">C-language API</a> and <a href="fileformat2.html">on-disk format</a> 
 | |
| fully backwards compatible.
 | |
| This means that application written to use SQLite today should be able to
 | |
| link against and use future versions of SQLite released decades in the
 | |
| future.
 | |
| 
 | |
| </p><p>
 | |
| Our goal is to make the content you store in SQLite today as 
 | |
| easily accessible to your grandchildren as it is to you.
 | |
| 
 | |
| </p><p>
 | |
| <b>Update on 2018-05-39:</b>
 | |
| Our goal of supporting SQLite long-term have apparently come to the
 | |
| notice of the preservationist at the 
 | |
| <a href="https://www.loc.gov">US Library Of Congress</a> who have identified
 | |
| SQLite as a <a href="locrsf.html">recommended storage format</a> for the preservation of
 | |
| digital content.
 | |
| </p>
 |