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

An updated BIP Process #1712

Open
wants to merge 10 commits into
base: master
Choose a base branch
from

Conversation

murchandamus
Copy link
Contributor

This Bitcoin Improvement Proposal (BIP) proposes new guidelines for the preparation of BIPs and policies relating to the publication of BIPs. If adopted, it would replace BIP 2.

@murchandamus murchandamus changed the title Draft an updated BIP Process An updated BIP Process Dec 10, 2024
@murchandamus murchandamus force-pushed the 2024-12-update-bip-process branch from 2460ed1 to 47f52e5 Compare December 10, 2024 22:35
bip-update-process.md Outdated Show resolved Hide resolved
@murchandamus murchandamus force-pushed the 2024-12-update-bip-process branch from 47f52e5 to 9e472b8 Compare December 11, 2024 19:28
Authors may want additional support with the BIP process after writing an initial draft. In that case, they may assign
one or more Shepherds to their BIP. Shepherds are stand-in owners of a BIP who were not involved in writing the
document. They support the authors in advancing the proposal, or act as point-of-contact for the BIP in absence of the
authors. A shepherds may perform the role of an Author for any aspect of the BIP process unless overruled by an Author.

Choose a reason for hiding this comment

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

Suggested change
authors. A shepherds may perform the role of an Author for any aspect of the BIP process unless overruled by an Author.
authors. A Shepherd may perform the role of an Author for any aspect of the BIP process unless overruled by an Author.

I'm suggesting "a Shepherd" so it matches the plurality of "an Author".

bip-update-process.md Outdated Show resolved Hide resolved
bip-update-process.md Outdated Show resolved Hide resolved
bip-update-process.md Outdated Show resolved Hide resolved
bip-update-process.md Outdated Show resolved Hide resolved
bip-update-process.md Outdated Show resolved Hide resolved
bip-update-process.md Outdated Show resolved Hide resolved
bip-update-process.md Outdated Show resolved Hide resolved
### What is the scope of the BIP repository?

The BIP repository is focused on information and technologies that aim to support and expand the utility of the bitcoin
currency. Related topics that are of interest to the bitcoin community may be acceptable. The scope of the BIP

Choose a reason for hiding this comment

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

Suggested change
currency. Related topics that are of interest to the bitcoin community may be acceptable. The scope of the BIP
currency. Related topics that interest the bitcoin community may be acceptable. The scope of the BIP

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Please correct me if I’m wrong, but the original phrasing indicates that it is about relevance, whereas the proposed phrasing seems to emphasize a current action by the community. If I’m reading that right, I prefer the first.

bip-update-process.md Outdated Show resolved Hide resolved
Copy link
Member

@sipa sipa left a comment

Choose a reason for hiding this comment

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

This looks great. Just a few nits.

bip-update-process.md Outdated Show resolved Hide resolved
the broader community time. Not only may someone point out relevant discussion topics that were missed in the authors’
research, or that an idea is guaranteed to be rejected based on prior discussions, but describing an idea publicly also
tests whether it is of interest to more people besides the authors. After establishing that the idea may be of interest
to the bitcoin community, the authors should work on drafting a BIP.
Copy link
Member

Choose a reason for hiding this comment

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

Should "Bitcoin community" not be capitalized?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

After changing everything to lowercase at behest of some earlier review, and now getting two comments requesting capitalization, I decided to go with what I have been doing for the last decade: Capitalize the abstract idea, network and system "Bitcoin", lowercase the unit of the currency.


### Changelog

To help implementers understand updates to a BIP, any changes after it has reached Complete are tracked with version,
Copy link
Member

Choose a reason for hiding this comment

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

If I read this section correctly, version numbers start at 1.0.0 (at promotion to complete), and changes/versions are not tracked before that point.

Would it make sense to allow/encourage (but not mandate) 0.x.y version numbers/changelog in the draft phase? For example BIP 327 has a significant, and useful, pre-Final version history today.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks, that’s a good clarification, I’ve made changes to this paragraph to permit the Changelog during the Draft phase and to explicitly require it after Complete has been reached.

bip-update-process.md Outdated Show resolved Hide resolved
Comment on lines 214 to 215
and matters concerning only a single project usually do not require standardization and should instead be brought up to
the relevant project directly.

Choose a reason for hiding this comment

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

Suggested change
and matters concerning only a single project usually do not require standardization and should instead be brought up to
the relevant project directly.
and matters concerning only a single project usually do not require standardization and should be brought up directly to
the relevant project.

Copy link
Contributor Author

@murchandamus murchandamus Dec 17, 2024

Choose a reason for hiding this comment

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

"Instead" is meant to emphasize that such an issue would not be relevant, but I moved the "directly".

bip-update-process.md Outdated Show resolved Hide resolved
bip-update-process.md Show resolved Hide resolved
bip-update-process.md Outdated Show resolved Hide resolved
Comment on lines 226 to 227
tests whether it is of interest to more people besides the authors. After establishing that the idea may be of interest
to the bitcoin community, the authors should work on drafting a BIP.

Choose a reason for hiding this comment

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

Suggested change
tests whether it is of interest to more people besides the authors. After establishing that the idea may be of interest
to the bitcoin community, the authors should work on drafting a BIP.
tests whether it is of interest to more people besides the authors. After establishing that the idea may interest
the bitcoin community, the authors should work on drafting a BIP.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

See above

#### Authors and Shepherds

Authors may want additional support with the BIP process after writing an initial draft. In that case, they may assign
one or more Shepherds to their BIP. Shepherds are stand-in owners of a BIP who were not involved in writing the
Copy link
Member

Choose a reason for hiding this comment

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

It's unclear to me why there needs to be two different roles. In several of the BIPs I have written, other BIP owners were simply added as Authors even though they did not write any of the text. This description suggest that Shepherds can approve BIP text changes in the same way Authors can. So the separation does not seem all that useful to me.

I think that having a unified "Owner" would make more sense, if people would rather not be called Author if they did not write any of the text but ostensibly are an owner of the BIP.

Copy link
Contributor

Choose a reason for hiding this comment

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

The distinction can make a difference when it comes to copyright. I agree that a single role is simpler in terms of the process, but I believe this is what is implemented here. We have effectively a single Owner role (and the Owners are the union of Authors and Shepherds), but additionally an author field (which is pure metadata and doesn't have implications for the process).

Now, I agree that this is a bit difficult to explain...

Perhaps there should just be two required fields "Owners" and "Authors". This sounds like overkill because it leads to duplication. But if you think about it, I believe it's simpler than the current draft: it avoids the term Shepherd entirely, and in the text, you can easily pick the appropriate term on a case-by-case basis.

Moreover, there may be an author who is not an owner (anymore). Not sure if we'll ever need this, but there's no good reason to exclude it upfront.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I added the additional role per the request of several reviewers. I don’t have strong feelings about this part: I would be happy with just "Owners" or "Authors", I can also live with two roles. It seems to me that people might still be discovering their positions on this aspect, so if anyone has strong feelings, please feel free to discuss further, but I’m gonna give this discussion some time to develop before making additional changes.

bip-update-process.md Outdated Show resolved Hide resolved
bip-update-process.md Outdated Show resolved Hide resolved
bip-update-process.md Outdated Show resolved Hide resolved
bip-update-process.md Outdated Show resolved Hide resolved
bip-update-process.md Outdated Show resolved Hide resolved

* Assign a BIP number and BIP type in the pull request
* Merge the pull request when it is ready
* List the BIP in the [README](README.mediawiki)
Copy link
Member

Choose a reason for hiding this comment

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

Updating the README has been done by BIP authors in their PRs to add their BIP. Changing to having the BIP editors do this requires either the BIP editors make another PR or the BIP author allows Editors to modify their PR. I find either option to be undesirable. Also, the former would break CI.

Instead, I think this should be in the list above as something for the editors to check has been done correctly.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good point, thanks. I think so far it has been a mix, sometimes the BIP Editors added a commit to the pull request to list the BIP in the Readme, sometimes the authors do it. I changed it to "Ensure that the BIP is listed in the README" and put the line about merging last.

bip-update-process.md Show resolved Hide resolved
Copy link
Contributor Author

@murchandamus murchandamus left a comment

Choose a reason for hiding this comment

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

I have addressed the minor items from review, will now start going through the more subjective and complex issues.

bip-update-process.md Outdated Show resolved Hide resolved
bip-update-process.md Outdated Show resolved Hide resolved
### What is the scope of the BIP repository?

The BIP repository is focused on information and technologies that aim to support and expand the utility of the bitcoin
currency. Related topics that are of interest to the bitcoin community may be acceptable. The scope of the BIP
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Please correct me if I’m wrong, but the original phrasing indicates that it is about relevance, whereas the proposed phrasing seems to emphasize a current action by the community. If I’m reading that right, I prefer the first.

bip-update-process.md Outdated Show resolved Hide resolved
bip-update-process.md Outdated Show resolved Hide resolved
Comment on lines 214 to 215
and matters concerning only a single project usually do not require standardization and should instead be brought up to
the relevant project directly.
Copy link
Contributor Author

@murchandamus murchandamus Dec 17, 2024

Choose a reason for hiding this comment

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

"Instead" is meant to emphasize that such an issue would not be relevant, but I moved the "directly".

Comment on lines 226 to 227
tests whether it is of interest to more people besides the authors. After establishing that the idea may be of interest
to the bitcoin community, the authors should work on drafting a BIP.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

See above


* Assign a BIP number and BIP type in the pull request
* Merge the pull request when it is ready
* List the BIP in the [README](README.mediawiki)
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good point, thanks. I think so far it has been a mix, sometimes the BIP Editors added a commit to the pull request to list the BIP in the Readme, sometimes the authors do it. I changed it to "Ensure that the BIP is listed in the README" and put the line about merging last.

bip-update-process.md Show resolved Hide resolved
Copy link
Contributor Author

@murchandamus murchandamus left a comment

Choose a reason for hiding this comment

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

Okay, I should have addressed all open review comments. Thank you for your review, @JeremyRubin, @LarryRuane, @sipa, @EthanHeilman, and @achow101.


### Changelog

To help implementers understand updates to a BIP, any changes after it has reached Complete are tracked with version,
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks, that’s a good clarification, I’ve made changes to this paragraph to permit the Changelog during the Draft phase and to explicitly require it after Complete has been reached.

the broader community time. Not only may someone point out relevant discussion topics that were missed in the authors’
research, or that an idea is guaranteed to be rejected based on prior discussions, but describing an idea publicly also
tests whether it is of interest to more people besides the authors. After establishing that the idea may be of interest
to the bitcoin community, the authors should work on drafting a BIP.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

After changing everything to lowercase at behest of some earlier review, and now getting two comments requesting capitalization, I decided to go with what I have been doing for the last decade: Capitalize the abstract idea, network and system "Bitcoin", lowercase the unit of the currency.

bip-update-process.md Outdated Show resolved Hide resolved
bip-update-process.md Show resolved Hide resolved
#### Authors and Shepherds

Authors may want additional support with the BIP process after writing an initial draft. In that case, they may assign
one or more Shepherds to their BIP. Shepherds are stand-in owners of a BIP who were not involved in writing the
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I added the additional role per the request of several reviewers. I don’t have strong feelings about this part: I would be happy with just "Owners" or "Authors", I can also live with two roles. It seems to me that people might still be discovering their positions on this aspect, so if anyone has strong feelings, please feel free to discuss further, but I’m gonna give this discussion some time to develop before making additional changes.

Copy link
Member

@jonatack jonatack left a comment

Choose a reason for hiding this comment

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

Began WIP re-review of the latest version. In some places the writing can be pithier (more concise/direct). See also the comments below pertaining to the repo name, the shepherds, and the BIPs scope.

Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-Updated-BIP-Process
Status: Draft
Type: Process
Created: 2024-05-13
Copy link
Member

Choose a reason for hiding this comment

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

Note to replace this date with the day a number is assigned.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Replaced with "?" for the time being.

bip-update-process.md Outdated Show resolved Hide resolved
bip-update-process.md Outdated Show resolved Hide resolved
bip-update-process.md Outdated Show resolved Hide resolved
bip-update-process.md Outdated Show resolved Hide resolved
community. Some BIPs may never be adopted. Some BIPs may be adopted by one or more Bitcoin clients or other related
software. Some may even end up changing the consensus rules that the Bitcoin ecosystem jointly enforces.

### What is the purpose of the BIP repository?
Copy link
Member

Choose a reason for hiding this comment

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

Here and throughout this document.

Suggested change
### What is the purpose of the BIP repository?
### What is the purpose of the BIPs repository?

Copy link
Contributor Author

@murchandamus murchandamus Dec 18, 2024

Choose a reason for hiding this comment

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

I had just changed that the other way per request of @real-or-random here: murchandamus#2 (comment). How about you two discuss here? ^^


### What is the purpose of the BIP repository?

The [BIP repository](https://github.com/bitcoin/bips/) serves as a publication medium and archive for mature proposals.
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
The [BIP repository](https://github.com/bitcoin/bips/) serves as a publication medium and archive for mature proposals.
The [BIPs repository](https://github.com/bitcoin/bips/) serves as a publication medium and archive for mature proposals.

The [BIP repository](https://github.com/bitcoin/bips/) serves as a publication medium and archive for mature proposals.
Through its high visibility, it facilitates the community-wide consideration of BIPs and provides a well-established
source to retrieve the latest version of any BIP. The repository transparently records all changes to each BIP and
allows any community member to retain a complete copy of the archive easily.
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
allows any community member to retain a complete copy of the archive easily.
allows any community member to easily retain a complete copy of the archive.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Y’all are killing me, @LarryRuane: #1712 (comment)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I don’t care one way or the other. Gonna leave it as is.

The BIP repository is focused on information and technologies that aim to support and expand the utility of the bitcoin
currency. Related topics that are of interest to the Bitcoin community may be acceptable. The scope of the BIP
repository is limited to BIPs that do not oppose the fundamental principle that Bitcoin constitutes a peer-to-peer
electronic cash system for the bitcoin currency.
Copy link
Member

Choose a reason for hiding this comment

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

Line 33-42 above also appear to discuss the scope. Suggest a single point of truth in this document that defines the scope of BIPs.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Okay, folded this section into "What is a BIP?"

bip-update-process.md Outdated Show resolved Hide resolved
gather feedback, shepherd the discussion in the appropriate forums, and finally recommend a mature proposal to the
community.

![Status Diagram](bip-update-process/status-diagram.png "Status Diagram for the BIP Workflow")
Copy link
Contributor

Choose a reason for hiding this comment

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

this is readable when using dark mode,
but a bit low contrast.
What do you think?

Copy link
Contributor

Choose a reason for hiding this comment

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

Is there a reason Closed is grey font, grey lines but all the other states are black font, black lines?

image

Copy link
Contributor Author

Choose a reason for hiding this comment

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

No strong reasons. I changed it to black.

Copy link
Contributor Author

@murchandamus murchandamus left a comment

Choose a reason for hiding this comment

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

I addressed all open feedback. Thanks @jonatack, @katesalazar, and @EthanHeilman.

Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-Updated-BIP-Process
Status: Draft
Type: Process
Created: 2024-05-13
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Replaced with "?" for the time being.

bip-update-process.md Show resolved Hide resolved
one or more Shepherds to their BIP. Shepherds are stand in owners of a BIP who were not involved in writing the
document. They support the authors in advancing the proposal, or act as point-of-contact for the BIP in absence of the
authors. Shepherds may perform the role of Authors for any aspect of the BIP process unless overruled by an Author.
Shepherds share ownership of the BIP at the discretion of the Authors.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Can an author revoke the shepherds?

Yes, an author can revoke Shepherds.

What if there are several authors?

I don’t think we have to litigate every possible interaction of Authors and Shepherds. If the Authors agreed to add Shepherds but then fight over the approach of the Shepherds, the involved people should figure it out. In the worst case someone should open a second BIP with the alternate approach.

The notion of herding sheep...heh :)

I was thinking about "shepherding a process", but if that first association is shared more commonly, maybe it should be "Stewards" after all.

Regarding whether or not to have a second owner role in the first place: It was requested by several BIP contributors. I don’t feel strongly about it either way. I think it’s a bit convoluted, but I see that such a role would have been used a few times in the past years.
If it need some minor clarifications, I’m happy to review suggestions, but if the addition of the Shepherds role would require several more paragraphs to litigate its scope and interactions with the Authors role, I’d prefer just dropping it altogether.

The [BIP repository](https://github.com/bitcoin/bips/) serves as a publication medium and archive for mature proposals.
Through its high visibility, it facilitates the community-wide consideration of BIPs and provides a well-established
source to retrieve the latest version of any BIP. The repository transparently records all changes to each BIP and
allows any community member to retain a complete copy of the archive easily.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I don’t care one way or the other. Gonna leave it as is.

The BIP repository is focused on information and technologies that aim to support and expand the utility of the bitcoin
currency. Related topics that are of interest to the Bitcoin community may be acceptable. The scope of the BIP
repository is limited to BIPs that do not oppose the fundamental principle that Bitcoin constitutes a peer-to-peer
electronic cash system for the bitcoin currency.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Okay, folded this section into "What is a BIP?"

gather feedback, shepherd the discussion in the appropriate forums, and finally recommend a mature proposal to the
community.

![Status Diagram](bip-update-process/status-diagram.png "Status Diagram for the BIP Workflow")
Copy link
Contributor Author

Choose a reason for hiding this comment

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

No strong reasons. I changed it to black.

@JeremyRubin
Copy link
Contributor

Thanks for adding Sheperd, I think it's good enough as written and the name is fine. Rose by any other name would smell just as sweet.

The only other alternative I could think of would be to make Author a newly optional field, and have a new field (e.g., Proposers) be the sub-in for the current meaning of author. This would also serve to separate authorship and champion-ship cleanly. But that's more confusing and a more major change. So I think Sheperd solves the problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants