Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

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

Discuss @ Discussions, then: discussion to pull requests to commit #12

Closed
thejohnfreeman opened this issue Apr 9, 2020 · 7 comments
Closed

Comments

@thejohnfreeman
Copy link
Contributor

If these standards are submitted as pull requests instead of issues, then:

  • It is easier to merge them into the codebase, to be seen front and center, when "ready". They will be less likely to languish in the issues.
  • Comments can be threaded, and threads can be collapsed.
  • Comments can be automatically marked "outdated" by GitHub after the author edits the document in response.
@RichardAH
Copy link
Collaborator

I agree with you, we need to finish setting up a meta-standard for dealing with XLS standards.

There should be a time limit for XLS draft standards to remain in draft mode. When they are either accepted by crossing the time limit or rejected by the community the issue is closed. If accepted a PR is made to merge the standard into the code-base with draft status removed.

We also need a way to deprecate old standards. I propose old standards can be deprecated by opening an issue which just starts with deprecate: XLS-nn and causes the same sequence of events as above to happen, with a successful deprecation resulting in a simple deprecation notice being entered into the code for that standard.

Time limit for all issues should be 3 months imho. Gives everyone lots of time to comment and integrate.

Thoughts?

@WietseWind
Copy link
Member

WietseWind commented May 13, 2020

@thejohnfreeman I like the proposal to work with PR's.

@codetsunami Maybe with a way to keep it open, eg. a certain reply / ... if things are awaiting other decisions / implementations.

@thejohnfreeman
Copy link
Contributor Author

When they are either accepted by crossing the time limit

This makes it sound like an issue that languishes under the radar long enough is automatically accepted. Is that what you meant?

or rejected by the community

What indicates a proposal is rejected by the community?

I think proposals should be "rejected by default" and acceptance should be explicitly affirmative. The key problem here is that "the community" is a little nebulous. I don't know of a means right now to count stakeholders, much less poll them, especially in a way that is immune to gaming.

I think we can look to other standards bodies, like what exists for Python or C++, for inspiration. In a bright future we might have a non-profit foundation or committee, staffed by volunteers, to discuss and craft the direction for XRPL with an open standards process. For now, I think whoever wants to lead this endeavor (maintainers of this repository?) should design a process, submit a PR documenting it in the README, and use that opportunity to take comments and make revisions. Then use that process to manage the other proposals, including amendments to the process.

@RichardAH
Copy link
Collaborator

This makes it sound like an issue that languishes under the radar long enough is automatically accepted. Is that what you meant?
What indicates a proposal is rejected by the community?

A valid criticism.

At risk of making these rules sound too laissez-faire for a standards body let me back up a little bit and provide some context for XLS.

Prior to XLS, and arguably to some extent now, everyone working with or on the XRPL was just "doing their own thing." Proprietary blackbox interfaces, attempted but unannounced standards, quirks-mode defacto standards haphazardly built from old broken standards, you name it.

The point of XLS, at least in my mind, is to provide a forum for everyone to come together and have a discussion about what external facing interfaces should be. If we make that discussion highly exclusive (like some other standards bodies) then we risk alienating the very developers, exchanges, etc. we want to bring to the table and thus defeat the purpose of the body. If we make the rules too loose we also defeat the purpose of the body.

Like RFC, lots of numbers are used up proposing interfaces that are never used by anyone. In amongst the thousands of RFCs there are perhaps 100 important ones. My sense is we should mirror this approach, allow people to take XLS numbers to propose their idea and if no one has valid criticisms, i.e. it's not widely panned, let the XLS standard be established. If people start to use the standard then a revision to the standard might attract increased attention and/or a new standard might need to emerge to fix deficiencies in the old one.

Since this ecosystem suffers from, at least for now, a lack of participation using a time based "acquiescence" approach for allowing standards out of draft makes sense to me. But I'm happy to hear everyone else's thoughts on it.

@thejohnfreeman
Copy link
Contributor Author

I see. I 100% agree we shouldn't be guarding numbers like treasure. Even with Python PEPs and C++ proposals, numbers are freely handed out to ideas that never cross the finish line. I agree we shouldn't have a high bar for what is merged into this collection of documents.

I guess I was assuming that "standard" has a stronger meaning than "request for comments" or "proposal" or "specification". "Standard" makes me feel that a large group has agreed to it, which should carry a higher bar for reaching the status of "accepted". Even RFCs match this intuition, where an RFC is elevated to Internet Standard only by the judgment of the IETF.

Perhaps we could call these RFCs or Proposals or Specifications and attach a Status to each one, much like Python does in their PEP Preamble, or the way IETF distinguishes Internet Draft from Proposed Standard from Internet Standard. In fact, when I recommended we formalize the process, that's much like PEP 1 which lays out the process for Python Enhancement Proposals, or the IETF does with RFCs 2026 and 6410. Each Proposal could start with Status: Draft and freely merge into branch master with that status. Gaining Status: Accepted should require approval of a committee, e.g. the maintainers.

@RichardAH
Copy link
Collaborator

Agree standard probably isn’t the correct term but like RFC I expect each XLS will exist on a sliding continuum from a literal request for community comments to a description of current best practices to full blown standards adopted widely.

Therefore tongue in cheek I suggest we implicitly backronym XLS to: XRPL Ledger ( Suggestion | Summary | Standard ) as applicable to the individual submission.

I still think for maximum ease of submission XLS drafts should start as an issue but I can see the benefit of requiring a PR

@WietseWind
Copy link
Member

WietseWind commented Feb 25, 2021

I feel we should use the new Github "Discussions" feature from now on.

  1. Discussion: Proposal » Discussion » Settled on proposal
  2. Close, and convert discussion to Issue to PR (PR mentions issue)
  3. Merge PR, close issue

I propose these Discussion categories:
Screenshot 2021-02-25 at 09 51 49

@WietseWind WietseWind changed the title Suggestion: submit standards as pull requests Discuss @ Discussions, then: discussion to pull requests to commit Feb 25, 2021
@WietseWind WietseWind pinned this issue Feb 25, 2021
@XRPLF XRPLF locked and limited conversation to collaborators Feb 25, 2021

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants