115-707: BlueTrace is an open-source application protocol that facilitates digital contact tracing of users to stem the spread of the COVID-19 pandemic . Initially developed by the Singaporean Government , BlueTrace powers the contact tracing for the TraceTogether app. Australia and the United Arab Emirates have already adopted the protocol in their gov apps, and other countries were considering BlueTrace for adoption. A principle of
230-529: A Creative Commons license. The resulting cultural product is then available to download free (generally accessible) to anyone with an Internet connection. Older, analog technologies such as the telephone or television have limitations on the kind of interaction users can have. Through various technologies such as peer-to-peer networks and blogs , cultural producers can take advantage of vast social networks to distribute their products. As opposed to traditional media distribution, redistributing digital media on
345-750: A configuration language . However, it does not support comments . In 2012, Douglas Crockford, JSON creator, had this to say about comments in JSON when used as a configuration language: "I know that the lack of comments makes some people sad, but it shouldn't. Suppose you are using JSON to keep configuration files, which you would like to annotate. Go ahead and insert all the comments you like. Then pipe it through JSMin before handing it to your JSON parser." MongoDB uses JSON-like data for its document-oriented database . Some relational databases, such as PostgreSQL and MySQL, have added support for native JSON data types. This allows developers to store JSON data directly in
460-720: A derivative work —such as a copy of a software program modified to fix a bug or add a feature, or a remix of a song—but are unable or unwilling to pay the copyright holder for the right to do so. Being organized as effectively a " consumers' cooperative ", open source eliminates some of the access costs of consumers and creators of derivative works by reducing the restrictions of copyright. Basic economic theory predicts that lower costs would lead to higher consumption and also more frequent creation of derivative works. Organizations such as Creative Commons host websites where individuals can file for alternative "licenses", or levels of restriction, for their works. These self-made protections free
575-528: A BlueTrace app, they will be asked for their internationally formatted phone number and are assigned a static UserID. This phone number is later used if the user has registered an encounter in an infected patient's contact log. Once registered, users are provisioned Temporary IDs (TempID) uniquely identifying them to other devices. Each TempID has a lifetime of 15 minutes to prevent malicious parties from performing replay attacks or tracking users over time with static unique identifiers. TempIDs are generated from
690-455: A JSON-based format to define the structure of JSON data for validation, documentation, and interaction control. It provides a contract for the JSON data required by a given application and how that data can be modified. JSON Schema is based on the concepts from XML Schema (XSD) but is JSON-based. As in XSD, the same serialization/deserialization tools can be used both for the schema and data, and it
805-411: A Web server by holding two Hypertext Transfer Protocol (HTTP) connections open and recycling them before standard browser time-outs if no further data were exchanged. The cofounders had a round-table discussion and voted on whether to call the data format JSML (JavaScript Markup Language) or JSON (JavaScript Object Notation), as well as under what license type to make it available. The JSON.org website
920-399: A central reporting server, delegate the responsibility to process logs to clients on the network. Protocols using this approach, such as TCN and DP-3T , have the client upload a number from which encounter tokens can be derived by individual devices. Clients then check these tokens against their local contact logs to determine if they have come in contact with an infected patient. Inherent in
1035-508: A characteristic packet containing information about themselves. The packet is formed as a JSON file, containing the device's TempID, device model, HAI, and BlueTrace protocol version. When operating in Central mode, the device additionally sends the strength of the signal, allowing the approximate distance between the two devices to be calculated later. Below is an example Central characteristic packet: These characteristics are then added to
1150-482: A computer program in which the source code is available to the general public for use for any (including commercial) purpose, or modification from its original design. Open-source code is meant to be a collaborative effort, where programmers improve upon the source code and share the changes within the community. Code is released under the terms of a software license . Depending on the license terms, others may then download, modify, and publish their version (fork) back to
1265-422: A computer program in which the source code is available to the general public for use or modification from its original design. Code is released under the terms of a software license . Depending on the license terms, others may then download, modify, and publish their version (fork) back to the community. Many large formal institutions have sprung up to support the development of the open-source movement, including
SECTION 10
#17328015802831380-575: A local database on the device where they are stored for 21 days and can be sent to the reporting server later. The contacted device is also added to a local blacklist for two duty cycles in order to stop two devices repeatedly contacting each other, saving power and storage. The cooperation between separate health authorities is a core component of the BlueTrace protocol, and it is designed such that multiple authorities can work together without revealing personal information to foreign authorities with which
1495-520: A meeting held at Palo Alto, California , in reaction to Netscape 's announcement in January 1998 of a source code release for Navigator . Linus Torvalds gave his support the following day, and Phil Hughes backed the term in Linux Journal . Richard Stallman , the founder of the free software foundation (FSF) in 1985, quickly decided against endorsing the term. The FSF's goal was to promote
1610-465: A more commercially minded position. In addition, the ambiguity of the term "free software" was seen as discouraging business adoption. However, the ambiguity of the word "free" exists primarily in English as it can refer to cost. The group included Christine Peterson , Todd Anderson, Larry Augustin , Jon Hall , Sam Ockman , Michael Tiemann and Eric S. Raymond . Peterson suggested "open source" at
1725-452: A more nuanced position than corporations have traditionally sought. Instead of seeing intellectual property law as an expression of instrumental rules intended to uphold either natural rights or desirable outcomes, an argument for OSC takes into account diverse goods (as in "the Good life" ) and ends. Sites such as ccMixter offer up free web space for anyone willing to license their work under
1840-544: A phone number. One of the largest privacy concerns raised about protocols such as BlueTrace or PEPP-PT is the usage of centralised report processing. In a centralised report processing protocol, a user must upload their entire contact log to a health authority administered server, where the health authority is then responsible for matching the log entries to contact details, ascertaining potential contact, and ultimately warning users of potential contact. Alternatively, decentralised report processing protocols, while still having
1955-467: A practice which would have destroyed interoperability." JSON disallows "trailing commas", a comma after the last value inside a data structure. Trailing commas are a common feature of JSON derivatives to improve ease of use. RFC 8259 describes certain aspects of JSON syntax that, while legal per the specifications, can cause interoperability problems. In 2015, the IETF published RFC 7493, describing
2070-483: A product (or service) of economic value, which they make available to contributors and noncontributors alike." This definition captures multiple instances, all joined by similar principles. For example, all of the elements – goods of economic value, open access to contribute and consume, interaction and exchange, purposeful yet loosely coordinated work – are present in an open-source software project, in Misplaced Pages, or in
2185-532: A product's design or blueprint, and universal redistribution of that design or blueprint. Before the phrase open source became widely adopted, developers and producers used a variety of other terms, such as free software , shareware , and public domain software . Open source gained hold with the rise of the Internet. The open-source software movement arose to clarify copyright , licensing , domain , and consumer issues. Generally, open source refers to
2300-406: A product's design or blueprint, and universal redistribution of that design or blueprint. Before the phrase open source became widely adopted, developers and producers used a variety of other terms. Open source gained hold in part due to the rise of the Internet. The open-source software movement arose to clarify copyright , licensing , domain , and consumer issues. An open-source license
2415-457: A product, movie or CD. By removing the cultural middlemen, messageboards help speed the flow of information and exchange of ideas. OpenDocument is an open document file format for saving and exchanging editable office documents such as text documents (including memos, reports, and books), spreadsheets , charts, and presentations. Organizations and individuals that store their data in an open format such as OpenDocument avoid being locked into
SECTION 20
#17328015802832530-420: A product. Copyright creates a monopoly so that the price charged to consumers can be significantly higher than the marginal cost of production. This allows the author to recoup the cost of making the original work. Copyright thus creates access costs for consumers who value the work more than the marginal cost but less than the initial production cost. Access costs also pose problems for authors who wish to create
2645-411: A proprietary license and charge for copies, or an open license. Some goods which require large amounts of professional research and development, such as the pharmaceutical industry (which depends largely on patents, not copyright for intellectual property protection) are almost exclusively proprietary, although increasingly sophisticated technologies are being developed on open-source principles. There
2760-524: A real time conversation online) and image uploading. Some messageboards use phpBB , which is a free open-source package. Where blogs are more about individual expression and tend to revolve around their authors, messageboards are about creating a conversation amongst its users where information can be shared freely and quickly. Messageboards are a way to remove intermediaries from everyday life—for instance, instead of relying on commercials and other forms of advertising, one can ask other users for frank reviews of
2875-425: A regular basis, malicious third parties cannot track users by observing log entries over time. Once a user tests positive for infection, the health authority requests the contact log. If the user chooses to share their log, it is sent to the health authority where they match the temporary ID with contact information. Health authorities are not able to access log entries about foreign users, so those entries are sent to
2990-572: A relational database without having to convert it to another data format. JSON being a subset of JavaScript can lead to the misconception that it is safe to pass JSON texts to the JavaScript eval () function. This is not safe, due to certain valid JSON texts, specifically those containing U+2028 LINE SEPARATOR or U+2029 PARAGRAPH SEPARATOR , not being valid JavaScript code until JavaScript specifications were updated in 2019, and so older engines may not support it. To avoid
3105-424: A replacement for XML-RPC or SOAP . It is a simple protocol that defines only a handful of data types and commands. JSON-RPC lets a system send notifications (information to the server that does not require a response) and multiple calls to the server that can be answered out of order. Asynchronous JavaScript and JSON (or AJAJ) refers to the same dynamic web page methodology as Ajax , but instead of XML , JSON
3220-484: A requirement to preserve the name of the authors and a copyright statement within the code, or a requirement to redistribute the licensed software only under the same license (as in a copyleft license). One popular set of open-source software licenses are those approved by the Open Source Initiative (OSI) based on their Open Source Definition (OSD). Social and political views have been affected by
3335-548: A review by the Australian Signals Directorate had been completed. Open source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open source model is a decentralized software development model that encourages open collaboration . A main principle of open source software development
3450-472: A single software vendor, leaving them free to switch software if their current vendor goes out of business, raises their prices, changes their software, or changes their licensing terms to something less favorable. Open-source movie production is either an open call system in which a changing crew and cast collaborate in movie production, a system in which the result is made available for re-use by others or in which exclusively open-source products are used in
3565-469: A single value and each attribute can appear at most once on each element. XML separates "data" from "metadata" (via the use of elements and attributes), while JSON does not have such a concept. Another key difference is the addressing of values. JSON has objects with a simple "key" to "value" mapping, whereas in XML addressing happens on "nodes", which all receive a unique ID via the XML processor. Additionally,
BlueTrace - Misplaced Pages Continue
3680-671: A software format, is published and made available to the public, enabling anyone to copy, modify and redistribute the hardware and source code without paying royalties or fees. Open-source hardware evolves through community cooperation. These communities are composed of individual hardware/software developers, hobbyists, as well as very large companies. Examples of open-source hardware initiatives are: Some publishers of open-access journals have argued that data from food science and gastronomy studies should be freely available to aid reproducibility . A number of people have published creative commons licensed recipe books. An open-source robot
3795-553: A system. The system was sold to Sun Microsystems , Amazon.com , and EDS . JSON was based on a subset of the JavaScript scripting language (specifically, Standard ECMA -262 3rd Edition—December 1999 ) and is commonly used with JavaScript, but it is a language-independent data format. Code for parsing and generating JSON data is readily available in many programming languages . JSON's website lists JSON libraries by language. In October 2013, Ecma International published
3910-416: A technology that makes webpages easily updatable with no understanding of design, code, or file transfer required. While corporations, political campaigns and other formal institutions have begun using these tools to distribute information, many blogs are used by individuals for personal expression, political organizing, and socializing. Some, such as LiveJournal or WordPress , use open-source software that
4025-405: A user forum or community. They can also be present in a commercial website that is based on user-generated content . In all of these instances of open collaboration, anyone can contribute and anyone can freely partake in the fruits of sharing, which are produced by interacting participants who are loosely coordinated. An annual conference dedicated to the research and practice of open collaboration
4140-451: A user is not registered. Since each authority maintains its separate encryption key and user records, a health authority can't decrypt and see a foreign user's data. To ensure log entries are sent to the correct authority, part of the DDC handshake contains a health authority identifier (HAI), a unique string assigned to registered health authorities. Once a foreign health authority's log entry
4255-597: A user of potential contact with an infected patient. The DDC part of the protocol defines how two devices communicate and log their contact. Each device is in one of two states, Central or Peripheral, on a duty cycle of around 1:4, respectively. In Peripheral mode, a device advertises its presence, and in Central mode, it scans for advertising devices. Additionally, certain devices are incapable of operating in Central mode and thus operate purely in Peripheral mode. Once two devices have discovered each other, they communicate
4370-491: A user's UserID, the TempID start time, and the TempID expiry time, which is encrypted and turned into a Base64 encoded string by the server using a secret symmetric encryption key. To ensure devices have a constant supply of TempIDs, even in an unstable network environment, TempIDs are transmitted to devices in forward dated batches. The composition of a TempID is shown below: Once a user has been tested positive for infection,
4485-510: A valid JSON text must consist of only an object or an array type, which could contain other types within them. This restriction was dropped in RFC 7158 , where a JSON text was redefined as any serialized value. Numbers in JSON are agnostic with regard to their representation within programming languages. While this allows for numbers of arbitrary precision to be serialized, it may lead to portability issues. For example, since no differentiation
4600-413: A vote, and the winner was announced at a press conference the same evening. Some economists agree that open-source is an information good or "knowledge good" with original work involving a significant amount of time, money, and effort. The cost of reproducing the work is low enough that additional users may be added at zero or near zero cost – this is referred to as the marginal cost of
4715-418: Is peer production , with products such as source code, blueprints , and documentation freely available to the public. The open source movement in software began as a response to the limitations of proprietary code . The model is used for projects such as in open source appropriate technology , and open source drug discovery. Open source promotes universal access via an open-source or free license to
BlueTrace - Misplaced Pages Continue
4830-401: Is peer production , with products such as source code, blueprints , and documentation freely available to the public. The open-source movement in software began as a response to the limitations of proprietary code. The model is used for projects such as in open-source appropriate technology , and open-source drug discovery. The open-source model for software development inspired the use of
4945-409: Is a robot whose blueprints, schematics, or source code are released under an open-source model Free and open-source software (FOSS) or free/libre and open-source software (FLOSS) is openly shared source code that is licensed without any restrictions on usage, modification, or distribution. Confusion persists about this definition because the "free", also known as "libre", refers to the freedom of
5060-400: Is a commonly used data format with diverse uses in electronic data interchange , including that of web applications with servers . JSON is a language-independent data format. It was derived from JavaScript , but many modern programming languages include code to generate and parse JSON-format data. JSON filenames use the extension .json . Douglas Crockford originally specified
5175-414: Is a type of license for computer software and other products that allows the source code , blueprint or design to be used, modified or shared (with or without modification) under defined terms and conditions. This allows end users and commercial companies to review and modify the source code, blueprint or design for their own customization, curiosity or troubleshooting needs. Open-source licensed software
5290-514: Is allowed and ignored around or between syntactic elements (values and punctuation, but not within a string value). Four specific characters are considered whitespace for this purpose: space , horizontal tab , line feed , and carriage return . In particular, the byte order mark must not be generated by a conforming implementation (though it may be accepted when parsing JSON). JSON does not provide syntax for comments . Early versions of JSON (such as specified by RFC 4627 ) required that
5405-470: Is also owned by 3DO ). Upon discovery of early Ajax capabilities, digiGroups, Noosh, and others used frames to pass information into the user browsers' visual field without refreshing a Web application's visual context, realizing real-time rich Web applications using only the standard HTTP, HTML, and JavaScript capabilities of Netscape 4.0.5+ and Internet Explorer 5+. Crockford then found that JavaScript could be used as an object-based messaging format for such
5520-520: Is also valid JavaScript syntax. The specification was started in 2012 and finished in 2018 with version 1.0.0. The main differences to JSON syntax are: JSON5 syntax is supported in some software as an extension of JSON syntax, for instance in SQLite . JSONC (JSON with Comments) is a subset of JSON5 used in Microsoft's Visual Studio Code : Several serialization formats have been built on or from
5635-449: Is done entirely locally on a client device using Bluetooth Low Energy , storing all encounters in a contact history log chronicling encounters for the past 21 days. Users in the contact log are identified using anonymous time-shifting "temporary IDs" issued by the health authority. This means a user's identity cannot be ascertained by anyone except the health authority with which they are registered. Additionally, since temporary IDs change on
5750-404: Is evidence that open-source development creates enormous value. For example, in the context of open-source hardware design, digital designs are shared for free and anyone with access to digital manufacturing technologies (e.g. RepRap 3D printers) can replicate the product for the cost of materials. The original sharer may receive feedback and potentially improvements on the original design from
5865-476: Is identified, the receiving health authority transmits the log entry to the foreign authority's reporting server where it is verified, and a static PseudoID is returned. The PseudoID is a salted cryptographic hash of the UserID, designed to allow foreign health authorities to perform statistical analysis on contact logs and communicate about a specific user without revealing unnecessary personal information. Once
SECTION 50
#17328015802835980-422: Is made between integer and floating-point values, some implementations may treat 42 , 42.0 , and 4.2E+1 as the same number, while others may not. The JSON standard makes no requirements regarding implementation details such as overflow , underflow , loss of precision, rounding, or signed zeros , but it does recommend expecting no more than IEEE 754 binary64 precision for "good interoperability". There
6095-401: Is mostly available free of charge, though this does not necessarily have to be the case. Licenses which only permit non-commercial redistribution or modification of the source code for personal use only are generally not considered as open-source licenses. However, open-source licenses may have some restrictions, particularly regarding the expression of respect to the origin of software, such as
6210-405: Is necessary is the serialization of data types that are not part of the JSON standard, for example, dates and regular expressions . The official MIME type for JSON text is application/json , and most modern implementations have adopted this. Legacy MIME types include text/json , text/x-json , and text/javascript . The standard filename extension is .json. JSON Schema specifies
6325-535: Is no inherent precision loss in serializing a machine-level binary representation of a floating-point number (like binary64) into a human-readable decimal representation (like numbers in JSON) and back since there exist published algorithms to do this exactly and optimally. Comments were intentionally excluded from JSON. In 2012, Douglas Crockford described his design decision thus: "I removed comments from JSON because I saw people were using them to hold parsing directives,
6440-401: Is not a data interchange language. CBOR has a superset of the JSON data types, but it is not text-based. Ion is also a superset of JSON, with a wider range of primary types, annotations, comments, and allowing trailing commas. XML has been used to describe structured data and to serialize objects. Various XML-based protocols exist to represent the same kind of data structures as JSON for
6555-465: Is not the fifth version of JSON). YAML version 1.2 is a superset of JSON; prior versions were not strictly compatible. For example, escaping a slash / with a backslash \ is valid in JSON, but was not valid in YAML. YAML supports comments, while JSON does not. CSON (" CoffeeScript Object Notation") uses significant indentation , unquoted keys, and assumes an outer object declaration. It
6670-443: Is open to the public and can be modified by users to fit their own tastes. Whether the code is open or not, this format represents a nimble tool for people to borrow and re-present culture; whereas traditional websites made the illegal reproduction of culture difficult to regulate, the mutability of blogs makes "open sourcing" even more uncontrollable since it allows a larger portion of the population to replicate material more quickly in
6785-452: Is self-describing. It is specified in an Internet Draft at the IETF, with the latest version as of 2024 being "Draft 2020-12". There are several validators available for different programming languages, each with varying levels of conformance. The JSON standard does not support object references , but an IETF draft standard for JSON-based object references exists. JSON-RPC is a remote procedure call (RPC) protocol built on JSON, as
6900-723: Is software which source code is published and made available to the public, enabling anyone to copy, modify and redistribute the source code without paying royalties or fees. LibreOffice and the GNU Image Manipulation Program are examples of open source software. As they do with proprietary software, users must accept the terms of a license when they use open source software—but the legal terms of open source licenses differ dramatically from those of proprietary licenses. Open-source code can evolve through community cooperation. These communities are composed of individual programmers as well as large companies. Some of
7015-600: Is the International Symposium on Wikis and Open Collaboration (OpenSym, formerly WikiSym). As per its website, the group defines open collaboration as "collaboration that is egalitarian (everyone can join, no principled or artificial barriers to participation exist), meritocratic (decisions and status are merit-based rather than imposed) and self-organizing (processes adapt to people rather than people adapt to pre-defined processes)." Open source promotes universal access via an open-source or free license to
SECTION 60
#17328015802837130-589: Is the current version of the Internet Standard STD 90, and it remains consistent with ECMA-404. That same year, JSON was also standardized as ISO/IEC 21778:2017. The ECMA and ISO/IEC standards describe only the allowed syntax, whereas the RFC covers some security and interoperability considerations. JSON grew out of a need for a real-time server-to-browser session communication protocol without using browser plugins such as Flash or Java applets,
7245-472: Is the data format. AJAJ is a web development technique that provides for the ability of a web page to request new data after it has loaded into the web browser . Typically, it renders new data from the server in response to user actions on that web page. For example, what the user types into a search box , client-side code then sends to the server, which immediately responds with a drop-down list of matching database items. JSON has seen ad hoc usage as
7360-522: Is the open-source reference implementation of BlueTrace released under the GPL-3.0 license. The DRSC side of the protocol is implemented using the Firebase platform, using Firebase functions, a serverless computing framework, for all client calls; and Firebase Secret Manager and Storage for storing the encryption key and contact logs respectively. For the app/DDC side of the protocol, a modified version of
7475-419: Is transmitted to the identified authority to be processed there. Once a health authority has filtered log entries to only include home clients, they decrypt the TempID to reveal the UserID, start time, and expiry time. The start and expiry date are compared with the encounter timestamp to ensure validity, and the UserID is matched to a phone number. The health authority can then contact the phone number to inform
7590-591: The Apache Software Foundation , which supports community projects such as the open-source framework Apache Hadoop and the open-source HTTP server Apache HTTP . The sharing of technical information predates the Internet and the personal computer considerably. For instance, in the early years of automobile development a group of capital monopolists owned the rights to a 2-cycle gasoline-engine patent originally filed by George B. Selden . By controlling this patent, they were able to monopolize
7705-551: The Internet Engineering Task Force obsoleted RFC 7159 when it published RFC 8259 , which is the current version of the Internet Standard STD 90. Crockford added a clause to the JSON license stating, "The Software shall be used for Good, not Evil", in order to open-source the JSON libraries while mocking corporate lawyers and those who are overly pedantic. On the other hand, this clause led to license compatibility problems of
7820-523: The Unicode line terminators U+2028 LINE SEPARATOR and U+2029 PARAGRAPH SEPARATOR to appear unescaped in quoted strings, while ECMAScript 2018 and older do not. This is a consequence of JSON disallowing only "control characters". For maximum portability, these characters should be backslash-escaped. JSON exchange in an open ecosystem must be encoded in UTF-8 . The encoding supports
7935-564: The peer production community. Many open-source projects have a high economic value. According to the Battery Open Source Software Index (BOSS), the ten economically most important open-source projects are: The rank given is based on the activity regarding projects in online discussions, on GitHub, on search activity in search engines and on the influence on the labour market. Alternative arrangements have also been shown to result in good creation outside of
8050-411: The "I-JSON Message Format", a restricted profile of JSON that constrains the syntax and processing of JSON to avoid, as much as possible, these interoperability issues. While JSON provides a syntactic framework for data interchange, unambiguous data interchange also requires agreement between producer and consumer on the semantics of specific use of the JSON syntax. One example of where such an agreement
8165-480: The "Open Source Summit", the event was attended by the leaders of many of the most important free and open-source projects, including Linus Torvalds, Larry Wall , Brian Behlendorf , Eric Allman , Guido van Rossum , Michael Tiemann , Paul Vixie , Jamie Zawinski , and Eric Raymond. At that meeting, alternatives to the term "free software" were discussed. Tiemann argued for "sourceware" as a new term, while Raymond argued for "open source." The assembled developers took
8280-436: The DDC component of the protocol. This means the only place personal information is stored is on the reporting server, where it is associated with an anonymous static UserID. This UserID (encrypted in a TempID) is what is used for identification in the DDC part of the protocol. If a user withdraws consent, the user record is deleted from the reporting server, meaning UserIDs obtained through contact logs can no longer be matched to
8395-526: The Internet can be virtually costless. Technologies such as BitTorrent and Gnutella take advantage of various characteristics of the Internet protocol ( TCP/IP ) in an attempt to totally decentralize file distribution. Open-source ethics is split into two strands: Irish philosopher Richard Kearney has used the term "open-source Hinduism " to refer to the way historical figures such as Mohandas Gandhi and Swami Vivekananda worked upon this ancient tradition. Open-source journalism formerly referred to
8510-517: The JSON format in the early 2000s. He and Chip Morningstar sent the first JSON message in April 2001. The 2017 international standard (ECMA-404 and ISO/IEC 21778:2017) specifies that "JSON" is "pronounced / ˈ dʒ eɪ . s ə n / , as in ' Jason and The Argonauts ' ". The first (2013) edition of ECMA-404 did not address the pronunciation. The UNIX and Linux System Administration Handbook states, " Douglas Crockford , who named and promoted
8625-423: The JSON format, says it's pronounced like the name Jason. But somehow, 'JAY-sawn' seems to have become more common in the technical community." Crockford said in 2011, "There's a lot of argument about how you pronounce that, but I strictly don't care." After RFC 4627 had been available as its "informational" specification since 2006, JSON was first standardized in 2013, as ECMA -404. RFC 8259, published in 2017,
8740-438: The JSON license with other open-source licenses since open-source software and free software usually imply no restrictions on the purpose of use. The following example shows a possible JSON representation describing a person. Although Crockford originally asserted that JSON is a strict subset of JavaScript and ECMAScript , his specification actually allows valid JSON documents that are not valid JavaScript; JSON allows
8855-460: The PseudoID is assessed to have been in close contact with the infected patient, the foreign health authority that issued the PseudoID is informed and can follow up as necessary. The ability of users to withdraw consent to the use and collection of their data at any time was an important consideration in the design of the protocol. To allow this, personally identifiable information is excluded from
8970-643: The TraceTogether app for Android and iOS devices is included. COVIDSafe is a digital contact tracing app announced by the Federal Australian Government based on OpenTrace/BlueTrace, announced on 14 April 2020 to help combat the ongoing COVID-19 pandemic . On 26 April 2020, the Australian federal government publicly released the first version of the app. Within the first 24 hours after release, over 1 million people downloaded
9085-447: The XML standard defines a common attribute xml:id , that can be used by the user, to set an ID explicitly. XML tag names cannot contain any of the characters !"#$ %&'()*+,/;<=>?@[\]^`{|}~ , nor a space character, and cannot begin with - , . , or a numeric digit, whereas JSON keys can (even if quotation mark and backslash must be escaped). XML values are strings of characters , with no built-in type safety . XML has
9200-454: The app, and within 48 hours, over 2 million. By the second week, over 4 million users had registered. Accompanying the release, Peter Dutton , the Minister for Home Affairs , announced new legislation that would make it illegal to force anyone to hand over data from the app, even if they had registered and tested positive. The app source code was also released on 8 May 2020, after delays until
9315-407: The appropriate foreign health authority to be processed there. Once a log has been processed, the health authority contacts the user identified by the record. The protocol is focused on two areas: locally logging registered users in the vicinity of a device and the transmission of the log to the operating health authority, all while preserving privacy. To achieve this, the protocol can be divided into
9430-459: The areas of device to device communication (DDC), and device to reporting server communication (DRSC). The DDC component operates on top of the existing Bluetooth Low Energy protocol, defining how two devices acknowledge each other's presence. The DRSC component uses HTTPS to communicate a timeline of visits to a centralized server owned by a health authority once a user has tested positive for an infection. The health authority can then, using
9545-409: The community. The rise of open-source culture in the 20th century resulted from a growing tension between creative practices that involve require access to content that is often copyrighted , and restrictive intellectual property laws and policies governing access to copyrighted content. The two main ways in which intellectual property laws became more restrictive in the 20th century were extensions to
9660-553: The concept of schema , that permits strong typing, user-defined types, predefined tags, and formal structure, allowing for formal validation of an XML stream. JSON has several types built-in and has a similar schema concept in JSON Schema . XML supports comments, while JSON does not. Support for comments and other features have been deemed useful, which has led to several nonstandard JSON supersets being created. Among them are HJSON, HOCON, and JSON5 (which despite its name,
9775-548: The development and use of free software, which they defined as software that grants users the freedom to run, study, share, and modify the code. This concept is similar to open source but places a greater emphasis on the ethical and political aspects of software freedom. Netscape released its source code under the Netscape Public License and later under the Mozilla Public License . Raymond
9890-475: The dominant methods used in the early 2000s. Crockford first specified and popularized the JSON format. The acronym originated at State Software, a company cofounded by Crockford and others in March 2001. The cofounders agreed to build a system that used standard browser capabilities and provided an abstraction layer for Web developers to create stateful Web applications that had a persistent duplex connection to
10005-545: The exchange of money among all the manufacturers. By the time the US entered World War II , 92 Ford patents and 515 patents from other companies were being shared among these manufacturers, without any exchange of money (or lawsuits). Early instances of the free sharing of source code include IBM 's source releases of its operating systems and other programs in the 1950s and 1960s, and the SHARE user group that formed to facilitate
10120-430: The exchange of software. Beginning in the 1960s, ARPANET researchers used an open " Request for Comments " (RFC) process to encourage feedback in early telecommunication network protocols. This led to the birth of the early Internet in 1969. The sharing of source code on the Internet began when the Internet was relatively primitive, with software distributed via UUCP , Usenet , IRC , and Gopher . BSD , for example,
10235-470: The fact the protocol never allows the government access to contact logs, this approach has major privacy benefits. However, this method also presents some issues, primarily the lack of human in the loop reporting, leading to a higher occurrence of false positives; and potential scale issues, as some devices might become overwhelmed with a large number of reports. Decentralised reporting protocols are also less mature than their centralised counterparts. OpenTrace
10350-437: The first edition of its JSON standard ECMA-404. That same year, RFC 7158 used ECMA-404 as a reference. In 2014, RFC 7159 became the main reference for JSON's Internet uses, superseding RFC 4627 and RFC 7158 (but preserving ECMA-262 and ECMA-404 as main references). In November 2017, ISO/IEC JTC 1/SC 22 published ISO/IEC 21778:2017 as an international standard. On December 13, 2017,
10465-616: The full Unicode character set, including those characters outside the Basic Multilingual Plane (U+0000 to U+FFFF). However, if escaped, those characters must be written using UTF-16 surrogate pairs . For example, to include the Emoji character U+1F610 😐 NEUTRAL FACE in JSON: JSON became a strict subset of ECMAScript as of the language's 2019 revision. JSON's basic data types are: Whitespace
10580-446: The general society of the costs of policing copyright infringement. Others argue that since consumers do not pay for their copies, creators are unable to recoup the initial cost of production and thus have little economic incentive to create in the first place. By this argument, consumers would lose out because some of the goods they would otherwise purchase would not be available. In practice, content producers can choose whether to adopt
10695-443: The growth of the concept of open source. Advocates in one field often support the expansion of open source in other fields. But Eric Raymond and other founders of the open-source movement have sometimes publicly argued against speculation about applications outside software, saying that strong arguments for software openness should not be weakened by overreaching into areas where the story may be less compelling. The broader impact of
10810-452: The health authority generates a PIN authenticating the user to upload their contact log to the reporting server. As part of the log, metadata about each encounter is included; the most important of which being the timestamp and health authority identifier (HAI). The HAI identifies to which health authority the logged contact reports. If the HAI represents a foreign health authority the log entry
10925-429: The individual programmers who start an open-source project may end up establishing companies offering products or services incorporating open-source programs. Examples of open-source software products are: The Google Summer of Code , often abbreviated to GSoC, is an international annual program in which Google awards stipends to contributors who successfully complete a free and open-source software coding project during
11040-708: The industry and force car manufacturers to adhere to their demands, or risk a lawsuit. In 1911, independent automaker Henry Ford won a challenge to the Selden patent . The result was that the Selden patent became virtually worthless and a new association (which would eventually become the Motor Vehicle Manufacturers Association ) was formed. The new association instituted a cross-licensing agreement among all US automotive manufacturers: although each company would develop technology and file patents, these patents were shared openly and without
11155-481: The language's 2019 revision. Various JSON parser implementations have suffered from denial-of-service attack and mass assignment vulnerability . JSON is promoted as a low-overhead alternative to XML as both of these formats have widespread support for creation, reading, and decoding in the real-world situations where they are commonly used. Apart from XML, examples could include CSV and supersets of JSON. Google Protocol Buffers can fill this role, although it
11270-403: The log, notify the users who came in contact with the infected patient. Each app implementing the BlueTrace protocol has a corresponding central reporting server operated by a health authority. The reporting server is responsible for handling initial registration, provisioning unique user identifiers, and collecting contact logs created by the DDC part of the protocol. When the user first launches
11385-464: The many pitfalls caused by executing arbitrary code from the Internet, a new function, JSON . parse () , was first added to the fifth edition of ECMAScript, which as of 2017 is supported by all major browsers. For non-supported browsers, an API-compatible JavaScript library is provided by Douglas Crockford . In addition, the TC39 proposal "Subsume JSON" made ECMAScript a strict JSON superset as of
11500-468: The open-source movement, and the extent of its role in the development of new information sharing procedures, remain to be seen. The open-source movement has inspired increased transparency and liberty in biotechnology research, for example CAMBIA Even the research methodologies themselves can benefit from the application of open-source principles. It has also given rise to the rapidly-expanding open-source hardware movement. Open-source software
11615-723: The product, not the price, expense, cost, or charge. For example, "being free to speak" is not the same as "free beer". Conversely, Richard Stallman argues the "obvious meaning" of term "open source" is that the source code is public/accessible for inspection, without necessarily any other rights granted, although the proponents of the term say the conditions in the Open Source Definition must be fulfilled. "Free and open" should not be confused with public ownership ( state ownership ), deprivatization ( nationalization ), anti-privatization ( anti-corporate activism ), or transparent behavior . Generally, open source refers to
11730-484: The production. The 2006 movie Elephants Dream is said to be the "world's first open movie", created entirely using open-source technology. JSON JSON ( JavaScript Object Notation , pronounced / ˈ dʒ eɪ s ən / or / ˈ dʒ eɪ ˌ s ɒ n / ) is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of name–value pairs and arrays (or other serializable values). It
11845-465: The proprietary license model. Examples include: The open-source model is a decentralized software development model that encourages open collaboration , meaning "any system of innovation or production that relies on goal-oriented yet loosely coordinated participants who interact to create a product (or service) of economic value, which they make available to contributors and noncontributors alike." A main principle of open-source software development
11960-482: The protective actions of copyright owners create what some call a " chilling effect " among cultural practitioners. The idea of an "open-source" culture runs parallel to " Free Culture ", but is substantively different. Free culture is a term derived from the free software movement , and in contrast to that vision of culture, proponents of open-source culture (OSC) maintain that some intellectual property law needs to exist to protect cultural producers. Yet they propose
12075-470: The protocol is the preservation of privacy and health authority co-operation. Preservation of user privacy was one of the core considerations around which BlueTrace was designed. To achieve this, personal information is collected only once at the point of registration and is only used to contact potentially infected patients. Additionally, users can opt-out at any time, clearing all personal information and rendering any recorded data untraceable. Contact tracing
12190-510: The public sphere. Messageboards are another platform for open-source culture. Messageboards (also known as discussion boards or forums), are places online where people with similar interests can congregate and post messages for the community to read and respond to. Messageboards sometimes have moderators who enforce community standards of etiquette such as banning spammers . Other common board features are private messages (where users can send messages to one another) as well as chat (a way to have
12305-427: The same kind of data interchange purposes. Data can be encoded in XML in several ways. The most expansive form using tag pairs results in a much larger (in character count) representation than JSON, but if data is stored in attributes and 'short tag' form where the closing tag is replaced with /> , the representation is often about the same size as JSON or just a little larger. However, an XML attribute can only have
12420-683: The standard journalistic techniques of news gathering and fact checking, reflecting open-source intelligence , a similar term used in military intelligence circles. Now, open-source journalism commonly refers to forms of innovative publishing of online journalism , rather than the sourcing of news stories by a professional journalist. In the 25 December 2006 issue of TIME magazine this is referred to as user created content and listed alongside more traditional open-source projects such as OpenSolaris and Linux . Weblogs , or blogs, are another significant platform for open-source culture. Blogs consist of periodic, reverse chronologically ordered posts, using
12535-754: The summer. GSoC is a large scale project with 202 participating organizations in 2021. There are similar smaller scale projects such as the Talawa Project run by the Palisadoes Foundation (a non profit based in California, originally to promote the use of information technology in Jamaica, but now also supporting underprivileged communities in the US) Open-source hardware is hardware which initial specification, usually in
12650-560: The term of copyright (particularly in the United States) and penalties, such as those articulated in the Digital Millennium Copyright Act (DMCA), placed on attempts to circumvent anti-piracy technologies. Although artistic appropriation is often permitted under fair-use doctrines, the complexity and ambiguity of these doctrines creates an atmosphere of uncertainty among cultural practitioners. Also,
12765-1099: The term to refer to other forms of open collaboration, such as in Internet forums , mailing lists and online communities . Open collaboration is also thought to be the operating principle underlining a gamut of diverse ventures, including TEDx and Misplaced Pages. Open collaboration is the principle underlying peer production , mass collaboration , and wikinomics . It was observed initially in open-source software, but can also be found in many other instances, such as in Internet forums , mailing lists , Internet communities, and many instances of open content , such as Creative Commons . It also explains some instances of crowdsourcing , collaborative consumption , and open innovation . Riehle et al. define open collaboration as collaboration based on three principles of egalitarianism , meritocracy , and self-organization . Levine and Prietula define open collaboration as "any system of innovation or production that relies on goal-oriented yet loosely coordinated participants who interact to create
12880-482: Was especially active in the effort to popularize the new term. He made the first public call to the free software community to adopt it in February 1998. Shortly after, he founded The Open Source Initiative in collaboration with Bruce Perens . The term gained further visibility through an event organized in April 1998 by technology publisher Tim O'Reilly . Originally titled the "Freeware Summit" and later known as
12995-454: Was first widely distributed by posts to comp.os.linux on the Usenet, which is also where its development was discussed. Linux followed in this model. Open source as a term emerged in the late 1990s by a group of people in the free software movement who were critical of the political agenda and moral philosophy implied in the term "free software" and sought to reframe the discourse to reflect
13110-493: Was launched in 2001. In December 2005, Yahoo! began offering some of its Web services in JSON. A precursor to the JSON libraries was used in a children's digital asset trading game project named Cartoon Orbit at Communities.com (the State cofounders had all worked at this company previously) for Cartoon Network , which used a browser side plug-in with a proprietary messaging format to manipulate DHTML elements (this system
13225-426: Was used for configuring GitHub 's Atom text editor . There is also an unrelated project called CSON ("Cursive Script Object Notation") that is more syntactically similar to JSON. HOCON ("Human-Optimized Config Object Notation") is a format for human-readable data, and a superset of JSON. The uses of HOCON are: JSON5 ("JSON5 Data Interchange Format") is an extension of JSON syntax that, just like JSON,
#282717