forked from w3c/charter-drafts
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdistributed-tracing.html
555 lines (493 loc) · 27.5 KB
/
distributed-tracing.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<title>Distributed Tracing Working Group Charter</title>
<link rel="stylesheet" href="https://www.w3.org/2005/10/w3cdoc.css" type="text/css" media="screen">
<link rel="stylesheet" type="text/css" href="https://www.w3.org/OldGuide/pubrules-style.css">
<link rel="stylesheet" type="text/css" href="https://www.w3.org/2006/02/charter-style.css">
<style>
main {
max-width: 60em;
margin: 0 auto;
}
ul#navbar {
font-size: small;
}
dt.spec {
font-weight: bold;
}
dt.spec new {
background: yellow;
}
ul.out-of-scope > li {
font-weight: bold;
}
ul.out-of-scope > li > ul > li{
font-weight: normal;
}
.issue {
background: cornsilk;
font-style: italic;
}
.todo {
color: #900;
}
footer {
font-size: small;
}
</style>
</head>
<body>
<header id="header">
<aside>
<ul id="navbar">
<li><a href="#background">Background</a></li>
<li><a href="#scope">Scope</a></li>
<li><a href="#deliverables">Deliverables</a></li>
<li><a href="#success-criteria">Success Criteria</a></li>
<li><a href="#coordination">Coordination</a></li>
<li><a href="#participation">Participation</a></li>
<li><a href="#communication">Communication</a></li>
<li><a href="#decisions">Decision Policy</a></li>
<li><a href="#patentpolicy">Patent Policy</a></li>
<li><a href="#patentpolicy">Patent Disclosures</a></li>
<li><a href="#licensing">Licensing</a></li>
<li><a href="#about">About this Charter</a></li>
</ul>
</aside>
<p>
<a href="https://www.w3.org/"><img alt="W3C" height="48" src="https://www.w3.org/Icons/w3c_home" width="72"></a>
</p>
</header>
<main>
<h1 id="title"><i>PROPOSED</i> Distributed Tracing Working Group Charter</h1>
<!-- delete PROPOSED after AC review completed -->
<p class="mission">The <strong>mission</strong> of the <a href="https://www.w3.org/groups/wg/distributed-tracing/">Distributed Tracing Working Group</a> is to
define standards for interoperability between tracing tools. A tracing tool refers to a tool which is implemented as either a library or an agent to provide at least one of the following capabilities:</p>
<ul>
<li>Propagation of the context identifying a trace, i.e. an interaction with an application;</li>
<li>Modification of trace information to indicate that additional trace information is available;</li>
<li>Collection of tracing information for a specific trace.</li>
</ul>
<p>Interoperability for tracing therefore refers to:</p>
<ul>
<li>A standardized way to propagate vendor-specific tracing information across tiers instrumented with different tracing
tools;</li>
<li>A standardized and extensible format to share trace data — full traces or fragments of traces — across tools for
further interpretation.</li>
</ul>
<div class="noprint">
<p class="join"><a href="https://www.w3.org/groups/wg/distributed-tracing/join">Join the Distributed Tracing Working Group.</a></p>
</div>
<p style="padding: 0.5ex; border: 1px solid green"> This proposed charter is available
on <a href="https://github.com/w3c/charter-drafts">GitHub</a>.
Feel free to raise <a href="https://github.com/w3c/charter-drafts/issues">issues</a>.
</p>
<div id="details">
<table class="summary-table">
<tr id="Status">
<th>
Charter Status
</th>
<td>
See the <a href="https://www.w3.org/groups/wg/distributed-tracing/charters">group status page</A> and <a href="#history">detailed change history</a>.
</td>
</tr>
<tr id="Duration">
<th>
Start date
</th>
<td>
<i class="todo">[dd monthname yyyy] (date of the "Call for Participation", when the charter is approved)</i>
</td>
</tr>
<tr id="CharterEnd">
<th>
End date
</th>
<td>
<i class="todo">[dd monthname yyyy]</i> (Start date + 2 years)
</td>
</tr>
<tr>
<th>
Chairs
</th>
<td>
Sergey Kanzhelev (Google, Inc.), Kalyana J. Sundaram (Microsoft)
</td>
</tr>
<tr>
<th>
Team Contacts
</th>
<td>
<a href="mailto:[email protected]">Philippe Le Hegaret</a> (0.05 <abbr title="Full-Time Equivalent">FTE</abbr>)
</td>
</tr>
<tr>
<th>
Meeting Schedule
</th>
<td>
<strong>Teleconferences:</strong> 1-hour team calls will be held bi-weekly.
<br>
<strong>Face-to-face:</strong> One yearly face-to-face meeting may be scheduled by consent of the participants.
</td>
</tr>
</table>
</div>
<div id="background" class="background">
<h2>Motivation and Background</h2>
<p>
Modern cloud-native applications are highly distributed and often span multiple technology and vendor boundaries. The complexity
of these applications requires a detailed understanding of how individual requests are executed. This is referred
to as "tracing".
</p>
</div>
<section id="scope" class="scope">
<h2>Scope</h2>
<p>
Tracing tools for collecting the individual requests information have been available for quite some time. However, these tools have not been
built with interoperability in mind. This leaves the developer with a number of challenges in getting an end-to-end
trace of complex transactions:
<ul>
<li>Traces are often broken, because trace context information is lost in a contributing tier or the trace is restarted</li>
<li>Vendors cannot pass proprietary information across tiers instrumented with a different implementation and therefore
lose relevant information (e.g. step count, server information, ...)</li>
<li> End users don't have the ability to create complete end-to-end traces of application transactions which are monitored
by different tools, as there is no defined data format and semantics for trace data</li>
</ul>
</p>
<p>
The scope of this working group is the definition of data formats and headers enabling the propagation and correlation of
tracing data across different implementations.
</p>
<section id="section-out-of-scope">
<h3 id="out-of-scope">Out of Scope</h3>
<p>The following features are out of scope, and will not be addressed by this Working group.</p>
<ul class="out-of-scope">
<li>definition of (programming) language specific APIs for performance data collection; </li>
<li>browsers' built-in implementation of trace headers propagation; </li>
<li>performance data analysis techniques or algorithms.</li>
</ul>
</section>
</section>
<section id="deliverables">
<h2>
Deliverables
</h2>
<p>Updated document status is available on the <a href="https://www.w3.org/groups/wg/distributed-tracing/publications">group publication status page</a>.</p>
<p><i>Draft state</i> indicates the state of the deliverable at the time of the charter approval. <i>Expected completion</i> indicates when the deliverable is projected to become a Recommendation, or otherwise reach a stable state.</p>
<section id="normative">
<h3>
Normative Specifications
</h3>
<p>
The Working Group will deliver the following W3C normative specifications:
</p>
<dl>
<dt id='trace-context' class='spec'><a href='https://www.w3.org/TR/trace-context/' rel='versionof'>Trace Context</a></dt>
<dd>
<p>This specification is the update of <a href="https://www.w3.org/TR/trace-context-1/">Trace Context 1</a> which
defines headers and a value format to propagate context information that enables distributed tracing scenarios.
The new revisions will include an improved semantic of the header to use for scenarios requiring the randomness of identifiers alongside their uniqueness.
Future versions of the specification will also include mechanism to carry context information in protocol <em>responses</em>, including HTTP, thus
context information to be accessed within Web applications and carried over between cloud services.
The revision must define mechanisms that mitigate both <a href="https://www.w3.org/TR/fingerprinting-guidance/">fingerprinting</a>
and other <a href="https://www.w3.org/TR/security-privacy-questionnaire/">privacy risks</a> exposed by
Trace Context. If the mitigations include explicit or implicit user consent, as anticipated, the WG will define any
necessary protocol elements for seeking that consent and formulate mechanisms for constraining the requests and resultant
consent to the least-invasive possible form (e.g. listing specific domains or even hosts, as well as temporally limiting
the permission consistent with the use case).
This update is intended to include a mechanism to carry context information in protocol responses, thus allowing context information to be accessed in Web browsers.
</p>
<p class="draft-status"><b>Draft state:</b> <a href="https://www.w3.org/TR/2023/CR-trace-context-2-20230418/">Working Draft</a></p>
<p class="milestone"><b>Expected completion:</b> Q4 2023</p>
<p><b>Adopted Draft:</b> <a href='https://www.w3.org/TR/2023/CR-trace-context-2-20230418/'>2023-04-18</a></li>
<p><b>Exclusion Draft:</b> <a href='https://www.w3.org/TR/2023/CR-trace-context-2-20230418/'>https://www.w3.org/TR/2023/CR-trace-context-2-20230418/</a>,
associated <a href='https://www.w3.org/mid/[email protected]'>Call for Exclusion</a>
on 2023-04-18, ending on 2023-06-17</i></p>
<p><b>Exclusion Draft Charter:</b> <a href='https://www.w3.org/2020/08/distributed-tracing-wg-charter.html'>https://www.w3.org/2020/08/distributed-tracing-wg-charter.html</a> </li>
</dd>
<dt id='baggage' class='spec'><a href='https://www.w3.org/TR/baggage/' rel='versionof'>Propagation format for distributed context: Baggage</a></dt>
<dd>
<p>This specification defines a standard for representing and propagating a set of application-defined properties associated with a distributed request or workflow execution.</p>
<p class="draft-status"><b>Draft state:</b> <a href="https://www.w3.org/TR/2022/WD-baggage-20220928/">Working Draft</a></p>
<p class="milestone"><b>Expected completion:</b> Q4 2023</p>
<p><b>Adopted Draft:</b> <a href='https://www.w3.org/TR/2022/WD-baggage-20220928/'>2022-09-28</a></li>
<p><b>Exclusion Draft:</b> <a href='https://www.w3.org/TR/2020/WD-baggage-20201020/'>https://www.w3.org/TR/2020/WD-baggage-20201020/</a>, associated <a href='https://www.w3.org/mid/[email protected]'> Call for Exclusion</a>
on 2020-10-20, ended on 2021-03-19.</p>
<p><b>Exclusion Draft Charter:</b> <a href='https://www.w3.org/2020/08/distributed-tracing-wg-charter.html'>https://www.w3.org/2020/08/distributed-tracing-wg-charter.html</a> </li>
</dd>
<dt class="spec">Trace Context: AMQP protocol</dt>
<dd>
<p>This is an extension document for the Trace Context specification. It defines the mapping of Trace Context fields to the AMQP protocol and specifics of AMQP implementation.</p>
<p class="draft-status">
<b>Draft state:</b>
<i>
<a href="https://w3c.github.io/trace-context-amqp/">Editor Draft</a>
</i>
</p>
</dd>
<dt class="spec">Trace Context: binary protocol</dt>
<dd>
<p>This is an extension document for the Trace Context specification. It defines the mapping of Trace Context fields to the binary formats.</p>
<p class="draft-status">
<b>Draft state:</b>
<i>
<a href="https://w3c.github.io/trace-context-binary/">Editor Draft</a>
</i>
</p>
</dd>
<dt class="spec">Trace Context: MQTT protocol</dt>
<dd>
<p>This is an extension document for the Trace Context specification. It defines the mapping of Trace Context fields to the MQTT protocol.</p>
<p class="draft-status">
<b>Draft state:</b>
<i>
<a href="https://w3c.github.io/trace-context-mqtt/">Editor Draft</a>
</i>
</p>
</dd></dl>
</section>
<section id="ig-other-deliverables">
<h3>
Other Deliverables
</h3>
<p>
Other non-normative documents may be created such as:
</p>
<ul>
<li>A registry of identified formats of trace context Trace Context serialization and deserialization for protocols.</li>
<li>Use case and requirement documents;</li>
<li>List of recommended vendor identifiers for header values;</li>
<li>Test suite and implementation report for the specification;</li>
<li>Primer or Best Practice documents to support web developers when designing applications.</li>
</ul>
</section>
</section>
<section id="success-criteria">
<h2>Success Criteria</h2>
<p>In order to advance to <a href="https://www.w3.org/Consortium/Process/#RecsPR" title="Proposed Recommendation">Proposed Recommendation</a>, each normative specification is expected to have <a href="https://www.w3.org/Consortium/Process/#implementation-experience">at least two independent interoperable implementations</a> of every feature defined in the specification, where interoperability can be verified by passing open test suites, and two or more implementations interoperating with each other. In order to advance to Proposed Recommendation, each normative specification must have an open test suite of every feature defined in the specification.</p>
<p>Each specification should contain sections detailing all known security and privacy implications for implementers, Web authors, and end users.</p>
<p>There should be testing plans for each specification, starting from the earliest drafts.</p>
<p>To promote interoperability, all changes made to specifications should have <a href='https://www.w3.org/2019/02/testing-policy.html'>tests</a>.</p>
</section>
<section id="coordination">
<h2>Coordination</h2>
<p>For all specifications, this Working Group will seek <a href="https://www.w3.org/Guide/documentreview/#how_to_get_horizontal_review">horizontal review</a> for
accessibility, internationalization, performance, privacy, and security with the relevant Working and
Interest Groups, and with the <a href="https://www.w3.org/2001/tag/" title="Technical Architecture Group">TAG</a>.
Invitation for review must be issued during each major standards-track document transition, including
<a href="https://www.w3.org/Consortium/Process/#RecsWD" title="First Public Working Draft">FPWD</a>. The
Working Group is encouraged to engage collaboratively with the horizontal review groups throughout development of
each specification. The Working Group is advised to seek a review at least 3 months before first entering
<a href="https://www.w3.org/Consortium/Process/#RecsCR" title="Candidate Recommendation">CR</a> and is encouraged
to proactively notify the horizontal review groups when major changes occur in a specification following a review.</p>
<p>Additional technical coordination with the following Groups will be made, per the <a href="https://www.w3.org/Consortium/Process/#WGCharter">W3C Process Document</a>:</p>
<section>
<h3 id="w3c-coordination">W3C Groups</h3>
<dl>
<dt>
<a href="https://www.w3.org/groups/wg/webperf/"> Web Performance Working Group</a>
</dt>
<dd>The trace context standard relates to work around Server Timing done within the Web Performance group. Going forward
it will make sense to define how trace context headers - specifically response headers - are related to the server timing header.
The Working Group should coordinate with the Web Performance Working Group to ensure that the two specifications are
aligned. Server timing headers may be used by applications to carry the trace context information as well as the baggage data.
</dd>
</dl>
</section>
<section>
<h3 id="external-coordination">External Organizations</h3>
<dl>
<dt>
<a title="IETF Home Page" href="https://www.ietf.org/" id="ietf">Internet Engineering Task Force</a>
</dt>
<dd>The IETF is responsible for defining robust and secure protocols for Internet functionality, in particular HTTP.
The Working Group should coordinate protocol-related work (e.g. profiles of hybi or HTTP) with the appropriate
IETF WGs.</dd>
</dl>
</section>
</section>
<section class="participation">
<h2 id="participation">
Participation
</h2>
<p>
To be successful, this Working Group is expected to have 6 or more active participants for its duration, including representatives from the key implementors of this specification, and active Editors and Test Leads for each specification. The Chairs, specification Editors, and Test Leads are expected to contribute half of a working day per week towards the Working Group. There is no minimum requirement for other Participants.
</p>
<p>
The group encourages questions, comments and issues on its public mailing lists and document repositories, as described in <a href='#communication'>Communication</a>.
</p>
<p>
The group also welcomes non-Members to contribute technical submissions for consideration upon their agreement to the terms of the <a href="https://www.w3.org/Consortium/Patent-Policy/">W3C Patent Policy</a>.
</p>
<p>Participants in the group are required (by the <a href="https://www.w3.org/Consortium/Process/#ParticipationCriteria">W3C Process</a>) to follow the
W3C <a href="https://www.w3.org/Consortium/cepc/">Code of Ethics and Professional Conduct</a>.</p>
</section>
<section id="communication">
<h2>
Communication
</h2>
<p id="public">
Technical discussions for this Working Group are conducted in <a href="https://www.w3.org/Consortium/Process/#confidentiality-levels">public</a>: the meeting minutes from teleconference and face-to-face meetings will be archived for public review, and technical discussions and issue tracking will be conducted in a manner that can be both read and written to by the general public. Working Drafts and Editor's Drafts of specifications will be developed in public repositories and may permit direct public contribution requests.
The meetings themselves are not open to public participation, however.
</p>
<p>
Information about the group (including details about deliverables, issues, actions, status, participants, and meetings) will be available from the <a href="https://www.w3.org/groups/wg/distributed-tracing">Distributed Tracing Working Group home page.</a>
</p>
<p>
Most Distributed Tracing Working Group teleconferences will focus on discussion of particular specifications, and will be conducted on an as-needed basis.
</p>
<p>
This group primarily conducts its technical work
on <a class="todo" id="public-github" href="https://www.w3.org/groups/wg/distributed-tracing/tools">GitHub issues</a>.
The public is invited to review, discuss and contribute to this work.
</p>
<p>
The group may use a Member-confidential mailing list for administrative purposes and, at the discretion of the Chairs and members of the group, for member-only discussions in special cases when a participant requests such a discussion.
</p>
</section>
<section id="decisions">
<h2>
Decision Policy
</h2>
<p>
This group will seek to make decisions through consensus and due process, per the <a href="https://www.w3.org/Consortium/Process/#Consensus">W3C Process Document (section 5.2.1, Consensus)</a>. Typically, an editor or other participant makes an initial proposal, which is then refined in discussion with members of the group and other reviewers, and consensus emerges with little formal voting being required.</p>
<p>
However, if a decision is necessary for timely progress and consensus is not achieved after careful consideration of the range of views presented, the Chairs may call for a group vote and record a decision along with any objections.
</p>
<p>
To afford asynchronous decisions and organizational deliberation, any resolution (including publication decisions) taken in a face-to-face meeting or teleconference will be considered provisional.
A call for consensus (CfC) will be issued for all resolutions (for example, via email, GitHub issue or web-based survey), with a response period from <span id='cfc'>10 working days</span>, depending on the chair's evaluation of the group consensus on the issue.
If no objections are raised by the end of the response period, the resolution will be considered to have consensus as a resolution of the Working Group.
</p>
<p>
All decisions made by the group should be considered resolved unless and until new information becomes available or unless reopened at the discretion of the Chairs or the Director.
</p>
<p>
This charter is written in accordance with the <a href="https://www.w3.org/Consortium/Process/#Votes">W3C Process Document (Section 5.2.3, Deciding by Vote)</a> and includes no voting procedures beyond what the Process Document requires.
</p>
</section>
<section id="patentpolicy">
<h2>
Patent Policy
</h2>
<p>
This Working Group operates under the <a href="https://www.w3.org/Consortium/Patent-Policy/">W3C Patent Policy</a> (Version of 15 September 2020). To promote the widest adoption of Web standards, W3C seeks to issue Web specifications that can be implemented, according to this policy, on a Royalty-Free basis.
For more information about disclosure obligations for this group, please see the <a href="https://www.w3.org/groups/wg/distributed-tracing/ipr">licensing information</a>.
</p>
</section>
<section id="licensing">
<h2>Licensing</h2>
<p>This Working Group will use the <a href="https://www.w3.org/Consortium/Legal/copyright-software">W3C Software and Document license</a> for all its deliverables.</p>
</section>
<section id="about">
<h2>
About this Charter
</h2>
<p>
This charter has been created according to <a href="https://www.w3.org/Consortium/Process/#GAGeneral">section 3.4</a> of the <a href="https://www.w3.org/Consortium/Process/">Process Document</a>. In the event of a conflict between this document or the provisions of any charter and the W3C Process, the W3C Process shall take precedence.
</p>
<section id="history">
<h3>
Charter History
</h3>
<p>The following table lists details of all changes from the initial charter, per the <a href="https://www.w3.org/Consortium/Process/#CharterReview">W3C Process Document (section 4.3, Advisory Committee Review of a Charter)</a>:</p>
<table class="history">
<tbody>
<tr>
<th>
Charter Period
</th>
<th>
Start Date
</th>
<th>
End Date
</th>
<th>
Changes
</th>
</tr>
<tr>
<th>
<a href="https://www.w3.org/2018/07/distributed-tracing.html">Initial Charter</a>
</th>
<td>
2018-07-25
</td>
<td>
2020-04-30
</td>
<td>
none
</td>
</tr>
<tr>
<th>
<a href="https://www.w3.org/2020/08/distributed-tracing-wg-charter.html">Rechartered</a>
</th>
<td>
2020-08-25
</td>
<td>
2022-09-30
</td>
<td>
<p>List additional protocol bindings as deliverables.</p>
</td>
</tr>
<tr>
<th>
<a href=".">Proposed</a>
</th>
<td>
TBD
</td>
<td>
TBD + 2 years
</td>
<td>
<p>New Patent Policy.</p>
</td>
</tr>
</tbody>
</table>
</section>
<section id="changelog">
<h3>Change log</h3>
<!-- Use this section for changes _after_ the charter was approved by the Director. -->
<p>Changes to this document are documented in this section.</p>
<!--
<dl id='changes'>
<dt>YYYY-MM-DD</dt>
<dd>[changes]]</dd>
</dl>
-->
</section>
</section>
</main>
<hr>
<footer>
<address>
<a href="mailto:[email protected]">Philippe Le Hegaret</a>
</address>
<p class="copyright">
<a href="https://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> ©
2023
<a href="https://www.w3.org/"><abbr title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup>
(
<a href="https://www.csail.mit.edu/"><abbr title="Massachusetts Institute of Technology">MIT</abbr></a>,
<a href="https://www.ercim.eu/"><abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>,
<a href="https://www.keio.ac.jp/">Keio</a>,
<a href="https://ev.buaa.edu.cn/">Beihang</a>
), All Rights Reserved.
<abbr title="World Wide Web Consortium">W3C</abbr> <a href="https://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a href="https://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and <a href="https://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.
</p>
</footer>
</body>
</html>