The IETF grants rights to copy and modify parts of IETF Contributions in order to meet the objectives described earlier. As such, different circumstances and different parts of documents may need different grants. This section contains subsections for each such different grant that is currently envisioned. Each section is intended to describe a particular usage, to describe how that usage is recognizable, and to provide guidance to the Trustees of the IETF Trust as to what rights the IETF would like to see granted in that circumstance and what limitations should be put on such granting.
These recommendations for outgoing rights are structured around the assumptions documented in [RFC 5378
]. Thus, this document is about granting rights derived from those granted to the IETF Trust. The recommendations below are how those granted rights should in turn be passed on to others using IETF documents in ways and for purposes that fit with the goals of the IETF. This discussion is also separate from discussion of the rights the IETF itself requires in documents to do its job, as those are not "outbound" rights. It is expected that the rights granted to the IETF will be a superset of those copying rights we wish to grant to others.
It has long been IETF policy to encourage copying of RFCs in full. This permits wide dissemination of the material, without risking loss of context or meaning. The IETF wishes to continue to permit anyone to make full copies and translations of RFCs.
There is rough consensus that it is useful to permit quoting without modification of excerpts from IETF Contributions. Such excerpts may be of any length and in any context. Translation of quotations is also to be permitted. All such quotations should be attributed properly to the IETF and the IETF Contribution from which they are taken.
IETF Contributions often include components intended to be directly processed by a computer. Examples of these include ABNF definitions, XML Schemas, XML DTDs, XML RelaxNG definitions, tables of values, MIBs, ASN.1, and classical programming code. These are included in IETF Contributions for clarity and precision in specification. It is clearly beneficial, when such items are included in IETF Contributions, to permit the inclusion of such code components in products that implement the Contribution. It has been pointed out that in several important contexts, use of such code requires the ability to modify the code. One common example of this is simply the need to adapt code for use in specific contexts (languages, compilers, tool systems, etc.) Such use frequently requires some changes to the text of the code from the IETF Contribution. Another example is that code included in open source products is frequently licensed to permit any and all of the code to be modified. Since we want this code included in such products, it follows that we need to permit such modification. While there has been discussion of restricting in some way the rights to make such modifications, the rough consensus of the IETF is that such restrictions are likely a bad idea, and are certainly very complex to define.
As such, the rough consensus is that the IETF Trust is to grant rights such that code components of IETF Contributions can be extracted, modified, and used by anyone in any way desired. To enable the broadest possible extraction, modification, and usage, the IETF Trust should avoid adding software license obligations beyond those already present in a Contribution. The granted rights to extract, modify, and use code should allow creation of derived works outside the IETF that may carry additional license obligations. As the IETF Trust can not grant rights it does not receive, the rights to extract, modify, and use code described in this paragraph can not be granted in IETF Contributions that are explicitly marked as not permitting derivative works.
While it is up to the Trustees of the IETF Trust to determine the best way of meeting this objective, two mechanisms are suggested here that are believed to be helpful in documenting the intended grant to readers and users of IETF Contributions.
Firstly, the Trustees of the IETF Trust should maintain, in a suitable, easily accessible fashion, a list of common RFC components that will be considered to be code. To start, this list should include at least the items listed above. The Trustees of the IETF Trust will add to this list as they deem suitable or as they are directed by the IETF.
Additionally, the Trustees of the IETF Trust should define a textual representation to be included in an IETF Contribution to indicate that a portion of the document is considered by the authors (and later, the working group, and upon approval, the IETF) to be code and thus subject to the permissions granted to use code.
There is no consensus at this time to permit the use of text from RFCs in contexts where the right to modify the text is required. The authors of IETF Contributions may be able and willing to grant such rights independently of the rights they have granted to the IETF by making the Contribution.
There have been contexts where the material in an IETF Contribution is also available under other license terms. The IETF wishes to be able to include content that is available under such licenses. It is desirable to indicate in the IETF Contribution that other licenses are available. It would be inappropriate and confusing if such additional licenses restricted the rights the IETF intends to grant in the content of RFCs.
However, the IETF does not wish to have IETF Contributions contain additional licenses, as that introduces a number of additional difficulties. Specifically, additional text in the document, and any additional license referred to by permitted additional text, must not in any way restrict the rights the IETF intends to grant to others for using the contents of IETF Contributions.
Authors of Contributions retain all rights in their Contributions. As such, an author may directly grant any rights they wish separately from what the IETF grants. However, a reader wishing to determine or make use of such grants will need to either consult external sources of information, possibly including open source code and documents, or contact the author directly.