-
-
Notifications
You must be signed in to change notification settings - Fork 66
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
Convert the specification into RFC format #466
Conversation
.github/workflows/archive.yml
Outdated
|
||
on: | ||
schedule: | ||
- cron: '0 0 * * 0,2,4' |
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 guess this is because IETF considers all discussions and repo history as normative or such?
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.
We don't need to keep all of the actions if you don't want one of them. Discussion wouldn't be normative, but it's useful to have them around later. But for an archive of GitHub content to be useful, it would have to be stored away from GitHub, which this isn't, so I don't really see the point. It just comes with the default setup. Let me know if you'd rather I delete it.
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.
Maybe we can skip doing this for now, then, until we actually figure out an external storage system. If you decide to do that, though, please file an issue about it so we don't completely forget to do it.
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.
Done: #467
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.
Oops I didn’t mean to approve
.github/workflows/archive.yml
Outdated
|
||
on: | ||
schedule: | ||
- cron: '0 0 * * 0,2,4' |
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.
We don't need to keep all of the actions if you don't want one of them. Discussion wouldn't be normative, but it's useful to have them around later. But for an archive of GitHub content to be useful, it would have to be stored away from GitHub, which this isn't, so I don't really see the point. It just comes with the default setup. Let me know if you'd rather I delete it.
.github/workflows/update.yml
Outdated
@@ -0,0 +1,36 @@ | |||
name: "Update Generated Files" |
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.
Reading this one, it's actually dangerous enough that I've deleted it.
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 realized halfway through reviewing this that the places where I said "missing section link) ARE actually getting sections, but that those are the places where both the name and the section are links.
So maybe we can just turn those into Foo ([Section1](...))
for consistency?
draft-marchan-kdl2.md
Outdated
|
||
### Document | ||
## Document | ||
|
||
The toplevel concept of KDL is a Document. A Document is composed of zero or | ||
more [Nodes](#node), separated by newlines and whitespace, and eventually |
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.
Two things:
-
Looks like this specific instance is missing the section link. Perhaps there are other cases?
-
On a more general note, I notice that there's some inconsistency as to events we do
[Foo](#foo) ([Section 1](#section1))
or justFoo ([Section 1](...))
. I would prefer we normalize around one. The second (just one link) probably makes the most sense, since linking the name itself seems redundant if you're going to link the section anyway.
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.
Yep, this is cabo/kramdown-rfc#249. Works for me to use just the Foo ({{foo}})
link structure. I'm a little nervous that'll be so many changes that it breaks git's move-detection, but if it does, we can always split it into a separate PR.
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.
This looks good to me, but I'd like to let others get a chance to weigh in on the idea of doing this, before we go through with it.
Additionally, I note that there's a particular copyright notice, and I'm confused as to whether it needs modification or it just applies to the "boilerplate": https://trustee.ietf.org/about/faq/#reproducing-rfcs
We would, of course, like the copyrights to belong to KDL Contributors. One small snag might be that the contents of this repository are licensed under CC-BY-SA-4.0, which is definitely a more restrictive license than the IETF seems to expect (with good reason!!). If we are to change the license situation, we'll definitely want to make sure we know what we need to relicense to and then start the relicensing process, which might take a while, since it requires consent from every single person who has ever contributed to this repo. I believe we can cross that bridge when we get to it, though. I personally like the RFC format regardless of whether the IETF takes us on :)
Cc @tabatkins @borland @bgotink @larsgw @danini-the-panini and of course whoever else wants to chime in. We should probably set up an org team so we can ping one specific group for anyone interested in spec discussions |
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'm also seeing a lot of "line too long warnings". I'm not sure if that's a deal-breaker, but I'll make a PR to try address them.
Also, do we need to rewrite the full grammar to use ABNF as described in RFC5234?
CONTRIBUTING.md
Outdated
https://author-tools.ietf.org/ or locally by running `make`. To preserve the | ||
intermediate RFCXML form in a local build, `touch draft-marchan-kdl2.xml` before | ||
running `make`. |
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 tried this and I just got an error
❯ touch draft-marchan-kdl2.xml
❯ make
Error: Unable to parse the XML document: draft-marchan-kdl2.xml
draft-marchan-kdl2: xml2rfc-txt ... FAIL
make: *** [draft-marchan-kdl2.txt] Error 1
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.
Yeah, this was silly of me. touch
works if you're careful with the file timestamps, but it's less fiddly to just make
that target. Fixed.
@danini-the-panini #461 (comment) tl;dr no, but they might ask us to formalize our DSL later, maybe. |
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 figured out how to remove the default Copyright Notice in the RFC-style spec, by adding ipr: none
in the header. I also copied the CC-BY-SA license declaration into a note in the spec.
@danini-the-panini, thanks for tackling the line-too-long warnings in #470.
CONTRIBUTING.md
Outdated
https://author-tools.ietf.org/ or locally by running `make`. To preserve the | ||
intermediate RFCXML form in a local build, `touch draft-marchan-kdl2.xml` before | ||
running `make`. |
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.
Yeah, this was silly of me. touch
works if you're careful with the file timestamps, but it's less fiddly to just make
that target. Fixed.
CONTRIBUTING.md
Outdated
This repository relates to activities in the Internet Engineering Task Force | ||
([IETF](https://www.ietf.org/)). All material in this repository is considered | ||
Contributions to the IETF Standards Process, as defined in the intellectual | ||
property policies of IETF currently designated as | ||
[BCP 78](https://www.rfc-editor.org/info/bcp78), | ||
[BCP 79](https://www.rfc-editor.org/info/bcp79) and the | ||
[IETF Trust Legal Provisions (TLP) Relating to IETF Documents](http://trustee.ietf.org/trust-legal-provisions.html). | ||
|
||
Any edit, commit, pull request, issue, comment or other change made to this | ||
repository constitutes Contributions to the IETF Standards Process | ||
(https://www.ietf.org/). | ||
|
||
You agree to comply with all applicable IETF policies and procedures, including, | ||
BCP 78, 79, the TLP, and the TLP rules regarding code components (e.g. being | ||
subject to a Simplified BSD License) in Contributions. |
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 believe that this block asserts that future contributions are licensed to the IETF Trust so that they can be used in an RFC, but it might be misleading about how past contributions have been licensed. I'm not a lawyer or an expert on this, but I think it'll be ok for you to put whatever you want here, or nothing at all, and then go back and relicense the whole thing when the IETF asks you to. What do you want here?
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.
Any work based on the existing KDL spec carries the viral “share alike” bit. That’s kinda the whole point of that license.
From what I can gather, the IETF expects very specific licensing, which, most notably, prevents derivative works entirely. https://trustee.ietf.org/documents/trust-legal-provisions/tlp-5/ lays out licensing expectations pretty clearly. I’m pretty sure we wouldn’t even be able to dual license here.
In any case, I’m not opposed to relicensing, but we’re gonna need to start that process sooner rather than later, because it’s time consuming to track everyone down and get their consent. Additionally, we’ll need to find guidance on exactly how to license stuff in this repo so we don’t need to repeat the process just because we relicensed wrong.
I’ll make a separate issue for this
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.
+1 for discussing in a separate issue. Do you want me to remove the licensing change in CONTRIBUTING until that's resolved?
The licensing requirements for you are less strict than you're reading, but I'm going to cc in someone who knows more (mnot) to help with the detailed discussion on that issue. In particular, I believe you need to collectively give a particular license to the IETF Trust, but your source material can also be licensed however you want to everyone else. Then the final RFC itself is licensed by the IETF Trust with some fairly restrictive conditions, but even the draft in RFC format can be more freely licensed. But we can verify the details on the issue.
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.
Probably good to remove it for now, yes.
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.
Done.
Can you resolve conflicts? I think I'm happy enough to merge this sooner rather than later, and no one seems opposed to this rewrite. |
This works around cabo/kramdown-rfc#249.
RFCXML v3 doesn't include horizontal rules.
That compiles to <sourcecode> which preserves sequences of spaces.
For if installing the dependencies is inconvenient.
Conflicts resolved. |
@jyasskin thank you so much! I'm so excited :) |
Fixes #461.
You can see a preview at https://jyasskin.github.io/kdl/draft-marchan-kdl2.html.