Subject: [quicwg/base-drafts] Recovery-31: Use of <CODE BEGINS> and <CODE ENDS> tags (#4177)

From: Magnus Westerlund <[email-masked]>
Date: Fri, 02 Oct 2020 06:45:05 -0700

The recovery draft have significant amount of pseudo code. Per the IETF trust legal provision (TLP) (https://trustee.ietf.org/license-info/IETF-TLP-5.pdf) code components have a specific license. The TLP is also clear that anything enclosed in <CODE BEGINS> and <CODE ENDS> is to be considered code components. Thus for clarity of identification I would propose that the psudocode in this document uses these tags. 

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/4177

---

From: Lars Eggert <[email-masked]>
Date: Fri, 02 Oct 2020 10:31:09 -0700

Does this also apply to pseudocode? Because the TLP defines code as "intended to be directly processed by a computer", which this pseudocode cannot be.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/4177#issuecomment-702862518

---

From: Jana Iyengar <[email-masked]>
Date: Fri, 02 Oct 2020 14:03:51 -0700

I have the same question as Lars. https://trustee.ietf.org/license-info/Code-Components-List-4-23-09.txt does not seem to include pseudo code.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/4177#issuecomment-702956721

---

From: Mike Bishop <[email-masked]>
Date: Wed, 07 Oct 2020 12:39:09 -0700

However, that list *does* include ABNF and TLS Presentation Language, which raises the question of whether it applies to our bespoke packet layout language.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/4177#issuecomment-705151707

---

From: Martin Thomson <[email-masked]>
Date: Wed, 07 Oct 2020 16:06:14 -0700

The provisions specifically say:

> Text  in  IETF  Contributions  and  IETF  Documents  of  the  types identified in Section 4.a above shall constitute “Code Components”.

So we don't need to annotate any ABNF or TLS Presentation language this way.  It's automatically licensed as code.

For the pseudocode, explicitly licensing it under the code license would be good.  Using the annotations would not be.  There has to be a better way.  Perhaps we could use words.  Or, we could ask for a change to the XML format so that any block of preformatted text could be annotated with a code license.  I'm sure that would be popular.

@MikeBishop, we could ask the trust to add the packet layouts to their list, but it is explicitly and deliberately not code:

> The purpose of this format is to summarize, not define, protocol elements. 

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/4177#issuecomment-705238699

---

From: Jana Iyengar <[email-masked]>
Date: Wed, 07 Oct 2020 17:10:07 -0700

The license might provide some extra protection, but do we think the pseudo code needs this? @martinthomson: Can you say more about why you think explicitly licensing the pseudo code is good?

FWIW, we don't have to do the tags, we can simply call it out in the pseudo code section:
```
b. Identification. Text in IETF Contributions and IETF Documents of the types
identified in Section 4.a above shall constitute “Code Components”. In addition, any text found
between the markers <CODE BEGINS> and <CODE ENDS>, or otherwise clearly labeled as a
Code Component, shall be considered a “Code Component”.
```

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/4177#issuecomment-705256936

---

From: Martin Thomson <[email-masked]>
Date: Wed, 07 Oct 2020 17:14:50 -0700

The license terms for text aren't that great.  The code license is intended to allow for extraction and modification in ways that the text does not.  As the pseudocode has already been extracted and modified (and deployed based on that), we should probably ensure that the more liberal license formally applies.

So yes, let's just add text saying "the pseudocode in this document is licensed as a "Code Component", see [blah]."

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/4177#issuecomment-705258203

---

From: Jana Iyengar <[email-masked]>
Date: Wed, 07 Oct 2020 17:54:44 -0700

We'll need to include the BSD boilerplate, right?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/4177#issuecomment-705269028

---

From: Martin Thomson <[email-masked]>
Date: Wed, 07 Oct 2020 18:15:40 -0700

I feel like I'm doing a bad impersonation of a lawyer now...

4.e says "it is permissible", not "it is required", so I assume that the 6.d quote is not required in order to relicense.  My reading of 4.c is that the simplified BSD license applies with or without that notice:

> In  addition  to  the  licenses  granted  under  Section  3, unless  [...],  such Code  Components  are  also  licensed  to  each  person  who  wishes  to  receive such a license on the terms of the “Simplified BSD License", as described below.

So it is, I believe, sufficient to identify the pseudocode as a Code Component.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/4177#issuecomment-705274514

---

From: Mike Bishop <[email-masked]>
Date: Thu, 08 Oct 2020 08:17:45 -0700

The boilerplate text already includes the license reference:

> This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

So you simply need to identify the section in question as a Code Component, I think.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/4177#issuecomment-705640459

---

From: Jana Iyengar <[email-masked]>
Date: Thu, 08 Oct 2020 18:13:58 -0700

@gloinul : Can you see if #4189 is adequate?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/4177#issuecomment-705908623

---

From: Magnus Westerlund <[email-masked]>
Date: Mon, 12 Oct 2020 09:41:11 -0700

@janaiyengar I think so. 

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/4177#issuecomment-707227792

---

From: Jana Iyengar <[email-masked]>
Date: Mon, 12 Oct 2020 12:54:32 -0700

Closed #4177 via #4189.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/4177#event-3868083375