-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Pull copyright and license into repo-level LICENSE.md #1172
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
+139
−123
Merged
Changes from all commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
794c2fe
Pull copyright and license into repo-level LICENSE.md
leebyron 62e5c1f
Move to an appendix and reformat introduction
leebyron 9dd2ba4
Merge branch 'main' into lee/license-md
leebyron cb03096
feedback and reorder
leebyron 8458d59
tweak
leebyron File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
# Appendix: Copyright and Licensing | ||
|
||
The GraphQL Specification Project is made available by the | ||
[Joint Development Foundation](https://www.jointdevelopment.org/) Projects, LLC, | ||
GraphQL Series. The current | ||
[Working Group](https://github.com/graphql/graphql-wg) charter, which includes | ||
the IP policy governing all working group deliverables (including | ||
specifications, source code, and datasets) may be found at | ||
[https://technical-charter.graphql.org](https://technical-charter.graphql.org). | ||
|
||
**Copyright Notice** | ||
|
||
Copyright © 2015-2018, Facebook, Inc. | ||
|
||
Copyright © 2019-present, GraphQL contributors | ||
|
||
THESE MATERIALS ARE PROVIDED “AS IS”. The parties expressly disclaim any | ||
warranties (express, implied, or otherwise), including implied warranties of | ||
merchantability, non-infringement, fitness for a particular purpose, or title, | ||
related to the materials. The entire risk as to implementing or otherwise using | ||
the materials is assumed by the implementer and user. IN NO EVENT WILL THE | ||
PARTIES BE LIABLE TO ANY OTHER PARTY FOR LOST PROFITS OR ANY FORM OF INDIRECT, | ||
SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER FROM ANY CAUSES | ||
OF ACTION OF ANY KIND WITH RESPECT TO THIS DELIVERABLE OR ITS GOVERNING | ||
AGREEMENT, WHETHER BASED ON BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), OR | ||
OTHERWISE, AND WHETHER OR NOT THE OTHER MEMBER HAS BEEN ADVISED OF THE | ||
POSSIBILITY OF SUCH DAMAGE. | ||
|
||
**Licensing** | ||
|
||
The licenses for the GraphQL Specification Project are: | ||
|
||
| Deliverable | License | | ||
| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | ||
| Specifications | [Open Web Foundation Agreement 1.0 (Patent and Copyright Grants)](https://www.openwebfoundation.org/the-agreements/the-owf-1-0-agreements-granted-claims/owfa-1-0) | | ||
| Source code | [MIT License](https://opensource.org/licenses/MIT) | | ||
| Data sets | [CC0 1.0](https://creativecommons.org/publicdomain/zero/1.0/) | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
scripts/update-appendix-c.mjs → ...update-appendix-specified-definitions.mjs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
# A. Appendix: Conformance | ||
|
||
A conforming implementation of GraphQL must fulfill all normative requirements. | ||
Conformance requirements are described in this document via both descriptive | ||
assertions and key words with clearly defined meanings. | ||
|
||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", | ||
"SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in the normative portions of | ||
this document are to be interpreted as described in | ||
[IETF RFC 2119](https://tools.ietf.org/html/rfc2119). These key words may appear | ||
in lowercase and still retain their meaning unless explicitly declared as | ||
non-normative. | ||
|
||
A conforming implementation of GraphQL may provide additional functionality, but | ||
must not where explicitly disallowed or would otherwise result in | ||
non-conformance. | ||
|
||
**Conforming Algorithms** | ||
|
||
Algorithm steps phrased in imperative grammar (e.g. "Return the result of | ||
calling resolver") are to be interpreted with the same level of requirement as | ||
the algorithm it is contained within. Any algorithm referenced within an | ||
algorithm step (e.g. "Let completedResult be the result of calling | ||
CompleteValue()") is to be interpreted as having at least the same level of | ||
requirement as the algorithm containing that step. | ||
|
||
Conformance requirements expressed as algorithms and data collections can be | ||
fulfilled by an implementation of this specification in any way as long as the | ||
perceived result is equivalent. Algorithms described in this document are | ||
written to be easy to understand. Implementers are encouraged to include | ||
equivalent but optimized implementations. | ||
|
||
See [Appendix A](#sec-Appendix-Notation-Conventions) for more details about the | ||
definition of algorithms, data collections, and other notational conventions | ||
used in this document. | ||
|
||
**Non-Normative Portions** | ||
|
||
All contents of this document are normative except portions explicitly declared | ||
as non-normative. | ||
|
||
Examples in this document are non-normative, and are presented to aid | ||
understanding of introduced concepts and the behavior of normative portions of | ||
the specification. Examples are either introduced explicitly in prose (e.g. "for | ||
example") or are set apart in example or counter-example blocks, like this: | ||
|
||
```example | ||
This is an example of a non-normative example. | ||
``` | ||
|
||
```counter-example | ||
This is an example of a non-normative counter-example. | ||
``` | ||
|
||
Notes in this document are non-normative, and are presented to clarify intent, | ||
draw attention to potential edge-cases and pit-falls, and answer common | ||
questions that arise during implementation. Notes are either introduced | ||
explicitly in prose (e.g. "Note: ") or are set apart in a note block, like this: | ||
|
||
Note: This is an example of a non-normative note. |
2 changes: 1 addition & 1 deletion
2
spec/Appendix A -- Notation Conventions.md → spec/Appendix B -- Notation Conventions.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
spec/Appendix B -- Grammar Summary.md → spec/Appendix C -- Grammar Summary.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
# B. Appendix: Grammar Summary | ||
# C. Appendix: Grammar Summary | ||
|
||
## Source Text | ||
|
||
|
2 changes: 1 addition & 1 deletion
2
spec/Appendix C -- Specified Definitions.md → spec/Appendix D -- Specified Definitions.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
@@ -4,125 +4,40 @@ _Current Working Draft_ | |||||||||||||||||||||||
|
||||||||||||||||||||||||
**Introduction** | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
This is the specification for GraphQL, a query language and execution engine | ||||||||||||||||||||||||
originally created at Facebook in 2012 for describing the capabilities and | ||||||||||||||||||||||||
requirements of data models for client-server applications. The development of | ||||||||||||||||||||||||
this open standard started in 2015. This specification was licensed under OWFa | ||||||||||||||||||||||||
1.0 in 2017. The [GraphQL Foundation](https://graphql.org/foundation/) was | ||||||||||||||||||||||||
formed in 2019 as a neutral focal point for organizations who support the | ||||||||||||||||||||||||
GraphQL ecosystem, and the | ||||||||||||||||||||||||
[GraphQL Specification Project](https://graphql.org/community/) was established | ||||||||||||||||||||||||
also in 2019 as the Joint Development Foundation Projects, LLC, GraphQL Series. | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
If your organization benefits from GraphQL, please consider | ||||||||||||||||||||||||
[becoming a member](https://graphql.org/foundation/join/#graphql-foundation) and | ||||||||||||||||||||||||
helping us to sustain the activities that support the health of our neutral | ||||||||||||||||||||||||
ecosystem. | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
The GraphQL Specification Project has evolved and may continue to evolve in | ||||||||||||||||||||||||
future editions of this specification. Previous editions of the GraphQL | ||||||||||||||||||||||||
specification can be found at permalinks that match their | ||||||||||||||||||||||||
This is the specification for GraphQL, a query language and execution engine for | ||||||||||||||||||||||||
describing and performing the capabilities and requirements of data models for | ||||||||||||||||||||||||
client-server applications. | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
A conforming implementation of GraphQL must fulfill all normative requirements | ||||||||||||||||||||||||
described in this specification (see [Conformance](#sec-Appendix-Conformance)). | ||||||||||||||||||||||||
The GraphQL specification is provided under the OWFa 1.0 license (see | ||||||||||||||||||||||||
[Copyright and Licensing](#sec-Appendix-Copyright-and-Licensing)). | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
GraphQL was originally created in 2012 and the development of this open standard | ||||||||||||||||||||||||
started in 2015. It is a deliverable of the | ||||||||||||||||||||||||
[GraphQL Specification Project](https://graphql.org/community/), established in | ||||||||||||||||||||||||
2019 with the [Joint Development Foundation](https://www.jointdevelopment.org/). | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
The [GraphQL Foundation](https://graphql.org/foundation/) was formed in 2019 as | ||||||||||||||||||||||||
a neutral focal point for organizations who support development of the GraphQL | ||||||||||||||||||||||||
ecosystem. If your organization benefits from GraphQL, please consider | ||||||||||||||||||||||||
[becoming a member](https://graphql.org/foundation/join/#graphql-foundation). | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
This specification is developed on GitHub at | ||||||||||||||||||||||||
[graphql/graphql-spec](https://github.com/graphql/graphql-spec/). Contributions | ||||||||||||||||||||||||
are managed by the | ||||||||||||||||||||||||
[GraphQL Working Group](https://github.com/graphql/graphql-wg), hosted by the | ||||||||||||||||||||||||
[GraphQL Technical Steering Committee](https://github.com/graphql/graphql-wg/blob/main/GraphQL-TSC.md). | ||||||||||||||||||||||||
To learn more see the | ||||||||||||||||||||||||
[contribution guide](https://github.com/graphql/graphql-spec/blob/main/CONTRIBUTING.md). | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
GraphQL has evolved and may continue to evolve in future editions of this | ||||||||||||||||||||||||
specification. Previous editions of the GraphQL specification can be found at | ||||||||||||||||||||||||
permalinks that match their | ||||||||||||||||||||||||
[release tag](https://github.com/graphql/graphql-spec/releases). The latest | ||||||||||||||||||||||||
working draft release can be found at | ||||||||||||||||||||||||
[https://spec.graphql.org/draft](https://spec.graphql.org/draft). | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think we should keep a couple of the main call-outs to the appendices here; especially where reading them up-front may be beneficial to some readers. Perhaps:
Suggested change
(Aside: should that "algorithms and data collections" be "algorithms or data collections"?) |
||||||||||||||||||||||||
**Copyright Notice** | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
Copyright © 2015-2018, Facebook, Inc. | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
Copyright © 2019-present, GraphQL contributors | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
THESE MATERIALS ARE PROVIDED “AS IS”. The parties expressly disclaim any | ||||||||||||||||||||||||
warranties (express, implied, or otherwise), including implied warranties of | ||||||||||||||||||||||||
merchantability, non-infringement, fitness for a particular purpose, or title, | ||||||||||||||||||||||||
related to the materials. The entire risk as to implementing or otherwise using | ||||||||||||||||||||||||
the materials is assumed by the implementer and user. IN NO EVENT WILL THE | ||||||||||||||||||||||||
PARTIES BE LIABLE TO ANY OTHER PARTY FOR LOST PROFITS OR ANY FORM OF INDIRECT, | ||||||||||||||||||||||||
SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER FROM ANY CAUSES | ||||||||||||||||||||||||
OF ACTION OF ANY KIND WITH RESPECT TO THIS DELIVERABLE OR ITS GOVERNING | ||||||||||||||||||||||||
AGREEMENT, WHETHER BASED ON BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), OR | ||||||||||||||||||||||||
OTHERWISE, AND WHETHER OR NOT THE OTHER MEMBER HAS BEEN ADVISED OF THE | ||||||||||||||||||||||||
POSSIBILITY OF SUCH DAMAGE. | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
**Licensing** | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
The GraphQL Specification Project is made available by the | ||||||||||||||||||||||||
[Joint Development Foundation](https://www.jointdevelopment.org/). The current | ||||||||||||||||||||||||
[Working Group](https://github.com/graphql/graphql-wg) charter, which includes | ||||||||||||||||||||||||
the IP policy governing all working group deliverables (including | ||||||||||||||||||||||||
specifications, source code, and datasets) may be found at | ||||||||||||||||||||||||
[https://technical-charter.graphql.org](https://technical-charter.graphql.org). | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
Currently, the licenses governing GraphQL Specification Project deliverables | ||||||||||||||||||||||||
are: | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
| Deliverable | License | | ||||||||||||||||||||||||
| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | ||||||||||||||||||||||||
| Specifications | [Open Web Foundation Agreement 1.0 (Patent and Copyright Grants)](https://www.openwebfoundation.org/the-agreements/the-owf-1-0-agreements-granted-claims/owfa-1-0) | | ||||||||||||||||||||||||
| Source code | [MIT License](https://opensource.org/licenses/MIT) | | ||||||||||||||||||||||||
| Data sets | [CC0 1.0](https://creativecommons.org/publicdomain/zero/1.0/) | | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
**Conformance** | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
A conforming implementation of GraphQL must fulfill all normative requirements. | ||||||||||||||||||||||||
Conformance requirements are described in this document via both descriptive | ||||||||||||||||||||||||
assertions and key words with clearly defined meanings. | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", | ||||||||||||||||||||||||
"SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in the normative portions of | ||||||||||||||||||||||||
this document are to be interpreted as described in | ||||||||||||||||||||||||
[IETF RFC 2119](https://tools.ietf.org/html/rfc2119). These key words may appear | ||||||||||||||||||||||||
in lowercase and still retain their meaning unless explicitly declared as | ||||||||||||||||||||||||
non-normative. | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
A conforming implementation of GraphQL may provide additional functionality, but | ||||||||||||||||||||||||
must not where explicitly disallowed or would otherwise result in | ||||||||||||||||||||||||
non-conformance. | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
**Conforming Algorithms** | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
Algorithm steps phrased in imperative grammar (e.g. "Return the result of | ||||||||||||||||||||||||
calling resolver") are to be interpreted with the same level of requirement as | ||||||||||||||||||||||||
the algorithm it is contained within. Any algorithm referenced within an | ||||||||||||||||||||||||
algorithm step (e.g. "Let completedResult be the result of calling | ||||||||||||||||||||||||
CompleteValue()") is to be interpreted as having at least the same level of | ||||||||||||||||||||||||
requirement as the algorithm containing that step. | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
Conformance requirements expressed as algorithms and data collections can be | ||||||||||||||||||||||||
fulfilled by an implementation of this specification in any way as long as the | ||||||||||||||||||||||||
perceived result is equivalent. Algorithms described in this document are | ||||||||||||||||||||||||
written to be easy to understand. Implementers are encouraged to include | ||||||||||||||||||||||||
equivalent but optimized implementations. | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
See [Appendix A](#sec-Appendix-Notation-Conventions) for more details about the | ||||||||||||||||||||||||
definition of algorithms, data collections, and other notational conventions | ||||||||||||||||||||||||
used in this document. | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
**Non-Normative Portions** | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
All contents of this document are normative except portions explicitly declared | ||||||||||||||||||||||||
as non-normative. | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
Examples in this document are non-normative, and are presented to aid | ||||||||||||||||||||||||
understanding of introduced concepts and the behavior of normative portions of | ||||||||||||||||||||||||
the specification. Examples are either introduced explicitly in prose (e.g. "for | ||||||||||||||||||||||||
example") or are set apart in example or counter-example blocks, like this: | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
```example | ||||||||||||||||||||||||
This is an example of a non-normative example. | ||||||||||||||||||||||||
``` | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
```counter-example | ||||||||||||||||||||||||
This is an example of a non-normative counter-example. | ||||||||||||||||||||||||
``` | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
Notes in this document are non-normative, and are presented to clarify intent, | ||||||||||||||||||||||||
draw attention to potential edge-cases and pit-falls, and answer common | ||||||||||||||||||||||||
questions that arise during implementation. Notes are either introduced | ||||||||||||||||||||||||
explicitly in prose (e.g. "Note: ") or are set apart in a note block, like this: | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
Note: This is an example of a non-normative note. | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
# [Overview](Section%201%20--%20Overview.md) | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
# [Language](Section%202%20--%20Language.md) | ||||||||||||||||||||||||
|
@@ -137,8 +52,12 @@ Note: This is an example of a non-normative note. | |||||||||||||||||||||||
|
||||||||||||||||||||||||
# [Response](Section%207%20--%20Response.md) | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
# [Appendix: Notation Conventions](Appendix%20A%20--%20Notation%20Conventions.md) | ||||||||||||||||||||||||
# [Appendix: Conformance](Appendix%20A%20--%20Conformance.md) | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
# [Appendix: Notation Conventions](Appendix%20B%20--%20Notation%20Conventions.md) | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
# [Appendix: Grammar Summary](Appendix%20C%20--%20Grammar%20Summary.md) | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
# [Appendix: Grammar Summary](Appendix%20B%20--%20Grammar%20Summary.md) | ||||||||||||||||||||||||
# [Appendix: Specified Definitions](Appendix%20D%20--%20Specified%20Definitions.md) | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
# [Appendix: Specified Definitions](Appendix%20C%20--%20Specified%20Definitions.md) | ||||||||||||||||||||||||
# [Appendix: Licensing](../LICENSE.md) |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would restore this paragraph break.