Skip to content

Commit e1194ad

Browse files
committed
Move to an appendix and reformat introduction
1 parent 794c2fe commit e1194ad

File tree

3 files changed

+96
-83
lines changed

3 files changed

+96
-83
lines changed

LICENSE.md

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
## Copyright and Licensing
2+
3+
The GraphQL Specification Project is made available by the
4+
[Joint Development Foundation](https://www.jointdevelopment.org/). The current
5+
[Working Group](https://github.com/graphql/graphql-wg) charter, which includes
6+
the IP policy governing all working group deliverables (including
7+
specifications, source code, and datasets) may be found at
8+
[https://technical-charter.graphql.org](https://technical-charter.graphql.org).
9+
110
**Copyright Notice**
211

312
Copyright © 2015-2018, Facebook, Inc.
@@ -18,15 +27,7 @@ POSSIBILITY OF SUCH DAMAGE.
1827

1928
**Licensing**
2029

21-
The GraphQL Specification Project is made available by the
22-
[Joint Development Foundation](https://www.jointdevelopment.org/). The current
23-
[Working Group](https://github.com/graphql/graphql-wg) charter, which includes
24-
the IP policy governing all working group deliverables (including
25-
specifications, source code, and datasets) may be found at
26-
[https://technical-charter.graphql.org](https://technical-charter.graphql.org).
27-
28-
Currently, the licenses governing GraphQL Specification Project deliverables
29-
are:
30+
The licenses for the GraphQL Specification Project are:
3031

3132
| Deliverable | License |
3233
| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# D. Appendix: Conformance & Licensing
2+
3+
## Conformance
4+
5+
A conforming implementation of GraphQL must fulfill all normative requirements.
6+
Conformance requirements are described in this document via both descriptive
7+
assertions and key words with clearly defined meanings.
8+
9+
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
10+
"SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in the normative portions of
11+
this document are to be interpreted as described in
12+
[IETF RFC 2119](https://tools.ietf.org/html/rfc2119). These key words may appear
13+
in lowercase and still retain their meaning unless explicitly declared as
14+
non-normative.
15+
16+
A conforming implementation of GraphQL may provide additional functionality, but
17+
must not where explicitly disallowed or would otherwise result in
18+
non-conformance.
19+
20+
**Conforming Algorithms**
21+
22+
Algorithm steps phrased in imperative grammar (e.g. "Return the result of
23+
calling resolver") are to be interpreted with the same level of requirement as
24+
the algorithm it is contained within. Any algorithm referenced within an
25+
algorithm step (e.g. "Let completedResult be the result of calling
26+
CompleteValue()") is to be interpreted as having at least the same level of
27+
requirement as the algorithm containing that step.
28+
29+
Conformance requirements expressed as algorithms and data collections can be
30+
fulfilled by an implementation of this specification in any way as long as the
31+
perceived result is equivalent. Algorithms described in this document are
32+
written to be easy to understand. Implementers are encouraged to include
33+
equivalent but optimized implementations.
34+
35+
See [Appendix A](#sec-Appendix-Notation-Conventions) for more details about the
36+
definition of algorithms, data collections, and other notational conventions
37+
used in this document.
38+
39+
**Non-Normative Portions**
40+
41+
All contents of this document are normative except portions explicitly declared
42+
as non-normative.
43+
44+
Examples in this document are non-normative, and are presented to aid
45+
understanding of introduced concepts and the behavior of normative portions of
46+
the specification. Examples are either introduced explicitly in prose (e.g. "for
47+
example") or are set apart in example or counter-example blocks, like this:
48+
49+
```example
50+
This is an example of a non-normative example.
51+
```
52+
53+
```counter-example
54+
This is an example of a non-normative counter-example.
55+
```
56+
57+
Notes in this document are non-normative, and are presented to clarify intent,
58+
draw attention to potential edge-cases and pit-falls, and answer common
59+
questions that arise during implementation. Notes are either introduced
60+
explicitly in prose (e.g. "Note: ") or are set apart in a note block, like this:
61+
62+
Note: This is an example of a non-normative note.
63+
64+
## [LICENSE](../LICENSE.md)

spec/GraphQL.md

Lines changed: 22 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -4,91 +4,37 @@ _Current Working Draft_
44

55
**Introduction**
66

7-
This is the specification for GraphQL, a query language and execution engine
8-
originally created at Facebook in 2012 for describing the capabilities and
9-
requirements of data models for client-server applications. The development of
10-
this open standard started in 2015. This specification was licensed under OWFa
11-
1.0 in 2017. The [GraphQL Foundation](https://graphql.org/foundation/) was
12-
formed in 2019 as a neutral focal point for organizations who support the
13-
GraphQL ecosystem, and the
7+
This is the specification for GraphQL, a query language and execution engine for
8+
describing and performing the capabilities and requirements of data models for
9+
client-server applications.
10+
11+
GraphQL was originally created in 2012 and the development of this open standard
12+
started in 2015. This specification was licensed under OWFa 1.0 in 2017 (see
13+
[Licensing](#sec-Copyright-and-Licensing)). The
14+
[GraphQL Foundation](https://graphql.org/foundation/) was formed in 2019 as a
15+
neutral focal point for organizations who support the GraphQL ecosystem, and the
1416
[GraphQL Specification Project](https://graphql.org/community/) was established
1517
also in 2019 as the Joint Development Foundation Projects, LLC, GraphQL Series.
16-
1718
If your organization benefits from GraphQL, please consider
1819
[becoming a member](https://graphql.org/foundation/join/#graphql-foundation) and
1920
helping us to sustain the activities that support the health of our neutral
2021
ecosystem.
2122

22-
The GraphQL Specification Project has evolved and may continue to evolve in
23-
future editions of this specification. Previous editions of the GraphQL
24-
specification can be found at permalinks that match their
23+
This specification is developed on GitHub at
24+
[graphql/graphql-spec](https://github.com/graphql/graphql-spec/). Contributions
25+
are managed by the
26+
[GraphQL Working Group](https://github.com/graphql/graphql-wg), hosted by the
27+
[GraphQL TSC](https://github.com/graphql/graphql-wg/blob/main/GraphQL-TSC.md).
28+
Learn more about contributing to the GraphQL Project with our
29+
[contribution guide](https://github.com/graphql/graphql-spec/blob/main/CONTRIBUTING.md).
30+
31+
GraphQL has evolved and may continue to evolve in future editions of this
32+
specification. Previous editions of the GraphQL specification can be found at
33+
permalinks that match their
2534
[release tag](https://github.com/graphql/graphql-spec/releases). The latest
2635
working draft release can be found at
2736
[https://spec.graphql.org/draft](https://spec.graphql.org/draft).
2837

29-
# [LICENSE](../LICENSE.md)
30-
31-
**Conformance**
32-
33-
A conforming implementation of GraphQL must fulfill all normative requirements.
34-
Conformance requirements are described in this document via both descriptive
35-
assertions and key words with clearly defined meanings.
36-
37-
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
38-
"SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in the normative portions of
39-
this document are to be interpreted as described in
40-
[IETF RFC 2119](https://tools.ietf.org/html/rfc2119). These key words may appear
41-
in lowercase and still retain their meaning unless explicitly declared as
42-
non-normative.
43-
44-
A conforming implementation of GraphQL may provide additional functionality, but
45-
must not where explicitly disallowed or would otherwise result in
46-
non-conformance.
47-
48-
**Conforming Algorithms**
49-
50-
Algorithm steps phrased in imperative grammar (e.g. "Return the result of
51-
calling resolver") are to be interpreted with the same level of requirement as
52-
the algorithm it is contained within. Any algorithm referenced within an
53-
algorithm step (e.g. "Let completedResult be the result of calling
54-
CompleteValue()") is to be interpreted as having at least the same level of
55-
requirement as the algorithm containing that step.
56-
57-
Conformance requirements expressed as algorithms and data collections can be
58-
fulfilled by an implementation of this specification in any way as long as the
59-
perceived result is equivalent. Algorithms described in this document are
60-
written to be easy to understand. Implementers are encouraged to include
61-
equivalent but optimized implementations.
62-
63-
See [Appendix A](#sec-Appendix-Notation-Conventions) for more details about the
64-
definition of algorithms, data collections, and other notational conventions
65-
used in this document.
66-
67-
**Non-Normative Portions**
68-
69-
All contents of this document are normative except portions explicitly declared
70-
as non-normative.
71-
72-
Examples in this document are non-normative, and are presented to aid
73-
understanding of introduced concepts and the behavior of normative portions of
74-
the specification. Examples are either introduced explicitly in prose (e.g. "for
75-
example") or are set apart in example or counter-example blocks, like this:
76-
77-
```example
78-
This is an example of a non-normative example.
79-
```
80-
81-
```counter-example
82-
This is an example of a non-normative counter-example.
83-
```
84-
85-
Notes in this document are non-normative, and are presented to clarify intent,
86-
draw attention to potential edge-cases and pit-falls, and answer common
87-
questions that arise during implementation. Notes are either introduced
88-
explicitly in prose (e.g. "Note: ") or are set apart in a note block, like this:
89-
90-
Note: This is an example of a non-normative note.
91-
9238
# [Overview](Section%201%20--%20Overview.md)
9339

9440
# [Language](Section%202%20--%20Language.md)
@@ -108,3 +54,5 @@ Note: This is an example of a non-normative note.
10854
# [Appendix: Grammar Summary](Appendix%20B%20--%20Grammar%20Summary.md)
10955

11056
# [Appendix: Specified Definitions](Appendix%20C%20--%20Specified%20Definitions.md)
57+
58+
# [Appendix: Conformance & Licensing](Appendix%20D%20--%20Conformance%20&%20Licensing.md)

0 commit comments

Comments
 (0)