Open source software includes the source code with the compiled version, allowing for modification and customization. Criteria for open source software include free distribution, inclusion of source code and permission for modification and redistribution. Examples of open source software include Linux, Mozilla, Apache, PERL and PNG. Most software that you buy or download only comes in the compiled ready-to-run version. Compiled means that the actual program code that the developer created, known as the source code, has run through a special program called a compiler that translates the source code into a form that the computer can understand (see How C Programming Works for details on compilers). It is extremely difficult to modify the compiled version of most applications and nearly impossible to see exactly how the developer created different parts of the program. Most commercial software manufacturers see this as an advantage that keeps other companies from copying their code and using it in a competing product. It also gives them control over the quality and features found in a particular product.
Open source software is at the opposite end of the spectrum. The source code is included with the compiled version and modification or customization is actually encouraged. The software developers who support the open source concept believe that by allowing anyone who's interested to modify the source code, the application will be more useful and error-free over the long term. Source code must be included. Anyone must be allowed to modify the source code. Modified versions can be redistributed. The license must not require the exclusion of other software or interfere with the operation of other software. Let's take a look at a real world example of open source software. In 1991, Linus Torvalds, a student at the University of Helsinki in Finland, developed a new operating system based on Minix, a derivative of Unix, which he dubbed Linux. Torvalds released version 0.02 of Linux under the GNU General Public License, which provides a good legal definition of open source software.
A lot of people around the world downloaded Linux and began working with it. Many of these users were programmers in their own right and made modifications to the source code that Torvalds had included. A common concern for end-users who wish to use open source software is the lack of a warranty and technical support. Because the software's license encourages modification and customization, it is nearly impossible to support. This is why Red Hat Software, founded in 1994, created the "Official Red Hat Linux" and is able to sell this normally "free" software. The main value that Red Hat adds to the package is a warranty and technical support. For most businesses, the assurance of technical support has been a key factor in the decision to buy Linux instead of simply downloading it for free. In addition to Red Hat, there are several other companies that have packaged Linux, usually with additional software, for resale. Besides Linux, Mozilla (Netscape browser core), Apache (Web server), PERL (Web scripting language) and PNG (graphics file format) are all examples of very popular software that is based on open source. Contributing to open source projects helps developers improve their skills, gain recognition in the community and collaborate with others on meaningful projects. How do open source licenses differ from proprietary software licenses? Open source licenses allow users to freely use, modify and distribute the software, while proprietary licenses restrict these freedoms and typically require purchase or subscription.
Copyright © 2010 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark and document use rules apply. This specification defines an API for storing data in databases that can be queried using a variant of SQL. Beware. This specification is no longer in active maintenance and the Web Applications Working Group does not intend to maintain it further. This section describes the status of this document at the time of its publication. Other documents may supersede this document. This document is the 18 November 2010 Working Group Note of Web SQL Database. Publication as a Working Group Note does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress. The W3C Web Applications Working Group is the W3C working group responsible for this document.
This document was on the W3C Recommendation track but specification work has stopped. The specification reached an impasse: all interested implementors have used the same SQL backend (Sqlite), but we need multiple independent implementations to proceed along a standardisation path. The Web Applications Working Group continues work on two other storage-related specifications: Web Storage and Indexed Database API. Implementors should be aware that this specification is not stable. Implementors who are not taking part in the discussions are likely to find the specification changing out from under them in incompatible ways. Vendors interested in implementing this specification should join the aforementioned mailing lists and take part in the discussions. All feedback is welcome. The latest stable version of the editor's draft of this specification is always available on the W3C CVS server. This specification is automatically generated from the corresponding section in the HTML5 specification's source document, as hosted in the WHATWG Subversion repository.
|