Skip to content
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

libp2p specs framework: document header format #171

Merged
merged 6 commits into from
Jun 11, 2019
Merged

Conversation

yusefnapora
Copy link
Contributor

Following up with #169, this adds a spec for a small header to put at the top of our spec documents to convey the current lifecycle information, spec authors & interest group.

I've added these to the peer id and secio spec PRs, if anyone wants to see a real-world example.

In the spirit of the new lifecycle framework, I set the maturity level for this PR to Working Draft, so we can try sending this through the whole process.

Who wants to be in the Interest Group for this?

@yusefnapora yusefnapora added the maturity:working draft Introduces a new Working Draft spec label May 27, 2019
Copy link
Contributor

@vyzo vyzo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we should have to specify the interest group by member names, but rather use a descriptive name.
The actual interest group will be people who review.

[@author1]: https://github.com/author1
[@author2]: https://github.com/author2
[@interested1]: https://github.com/interested1
[@interested2]: https://github.com/interested2
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks redundant, the @ mentions suffice.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On github.com, yes, but that's not the only reading venue from these specs. If we remove the links, we'd being relying on a proprietary backend to fill in the blanks for us, which is something I don't want to do. People should be able to view these specs locally, in raw format, and follow the links manually. In the future, we'll want to compile them in a PDF book as well, or even a different site. Or export them to https://docs.libp2p.io.

@jacobheun
Copy link
Contributor

I don't think we should have to specify the interest group by member names, but rather use a descriptive name.
The actual interest group will be people who review.

I don't agree, can you elaborate on how you see a descriptive name successfully supporting spec development?

While any members of the community may review a spec, having clearly defined/responsible individuals help create a clearer path for moving specs forward. Right now, I think ambiguity of reviewers is contributing to specs stalling. It's not really clear who should review the spec and when the spec is ready to merge. Having clearly responsible individuals helps remove that ambiguity and avoid deferral of responsibility.

Copy link
Member

@raulk raulk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some nits and answers to other view comments; but looks pretty solid.

[@author1]: https://github.com/author1
[@author2]: https://github.com/author2
[@interested1]: https://github.com/interested1
[@interested2]: https://github.com/interested2
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On github.com, yes, but that's not the only reading venue from these specs. If we remove the links, we'd being relying on a proprietary backend to fill in the blanks for us, which is something I don't want to do. People should be able to view these specs locally, in raw format, and follow the links manually. In the future, we'll want to compile them in a PDF book as well, or even a different site. Or export them to https://docs.libp2p.io.


Each spec begins with its title, formatted as an H1 markdown header.

The title can optionally be followed by a short block-quote introducing the
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Serving as a subtitle?

00-framework-02-document-header.md Outdated Show resolved Hide resolved
00-framework-02-document-header.md Outdated Show resolved Hide resolved
00-framework-02-document-header.md Outdated Show resolved Hide resolved
- The full name of the status that the spec is currently in.
- For `Candidate Recommendation` or `Recommendation` specs, valid values are
`Active` and `Deprecated`
- For `Working Draft` specs, valid values are: `Active` and `Terminated`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- For `Working Draft` specs, valid values are: `Active` and `Terminated`
- For `Working Draft` specs, valid values are: `Active` and `Terminated`.


To make the list readable in the markdown source, we use the [shortcut reference
link syntax][gfm-shortcut-refs], which allows us to wrap the author name in
square brackets in the list and define the link target below. For example:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Albeit this may appear redundant when viewing in github.com with the GitHub renderer, it's necessary to avoid losing information when viewing elsewhere.

The Authors and Interest Group lists must be separated by a newline, which
causes them to render as distinct paragraphs.

When proposing a new `Working Draft` where the Interest Group is unknown, use
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍


Authors: [@yusefnapora]

Interest Group: TBD
Copy link
Member

@raulk raulk May 28, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe declare 5 people, since this spec looks pretty finalised and promotion to Candidate Recommendation and then Recommendation should be imminent? Suggestions: @raulk, @vyzo, @mgoelzer, @jacobheun, @tomaka?

@raulk
Copy link
Member

raulk commented May 28, 2019

@yusefnapora should we have two categories of labels for status and maturity? This could be a: maturity:working draft, status:active? Or do we assume that everything that has a PR or issue is active?

yusefnapora and others added 3 commits May 28, 2019 10:56
Co-Authored-By: Raúl Kripalani <raul.kripalani@gmail.com>
Co-Authored-By: Raúl Kripalani <raul.kripalani@gmail.com>
Co-Authored-By: Raúl Kripalani <raul.kripalani@gmail.com>
@yusefnapora
Copy link
Contributor Author

@raulk I hadn't really thought about the status label - I guess I was thinking that open PR = active, but it may be useful to have labels for status as well. I like using maturity instead of lifecycle - I'll edit those now

@yusefnapora
Copy link
Contributor Author

I went ahead and put @raulk, @vyzo, @mgoelzer, @jacobheun, @tomaka as Interest Group members. Give this comment a 👍 or 👎 to signal whether you're on board 😄

I think @vyzo has a point that the real interest group is the people that show up to talk about the spec, but I also think it's valuable having a fixed set of people who agree to be involved.

I think the key is to socialize that being in an Interest Group is a lightweight thing that anyone can do. It's basically the same thing as showing up in the PR thread and commenting, except that you're agreeing to do it on a schedule. We should also be clear that everyone is still welcome to show up on PRs and discuss; you don't need to be in an Interest Group to be interested.

@raulk
Copy link
Member

raulk commented Jun 7, 2019

prodding @vyzo @tomaka @jacobheun @mgoelzer; see the above comment ^^

@yusefnapora yusefnapora merged commit b4c4356 into master Jun 11, 2019
@yusefnapora yusefnapora deleted the spec-header branch June 11, 2019 13:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
maturity:working draft Introduces a new Working Draft spec
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants