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

TAP process: issue with pre-implementation phase visibility #127

Open
jku opened this issue Oct 30, 2020 · 0 comments
Open

TAP process: issue with pre-implementation phase visibility #127

jku opened this issue Oct 30, 2020 · 0 comments

Comments

@jku
Copy link
Member

jku commented Oct 30, 2020

I'm writing down some observations on the TAP process as relative newcomer here, as promised in the community meeting:

The TAP process seems useful: the requirement for a design document and the requirement for a reference implementation for the design both make sense. However, my problem has been that reviewing at least the currently open TAPs has been much more difficult than expected. I feel that a core reason is that the problem definition and idea formulation phases are not publicly visible. TAP 1 does say this:

Each TAP MUST have a champion -- someone who writes the TAP using the style and format described below, shepherds the discussions in the appropriate forums, and attempts to build community consensus around the idea. The TAP champion (a.k.a. Author) SHOULD first attempt to ascertain whether the idea is TAP-able. Posting to the TUF issue tracker, the #tuf channel on CNCF Slack, or the TUF mailing list are good ways to go about this.

but in reality finding these discussions has been difficult.


In the community meeting I compared the TAP process to traditional open source SW development which has two visible phases:

  1. Problem definition phase: Issue/RFE is opened and discussion happens: "is this really a problem?", "what is the root cause?", "what options do we have?", "which option should we choose and why?"
  2. Implementation phase: A pull request of a specific solution is made and reviewed

whereas the TAP process is roughly:

  1. Implementation phase: A TAP pull request of a specific solution is made
  2. Implementation phase: A reference implementation pull request is made

There are still two steps but both are about implementing a specific solution. The problem space and the competing solutions are seemingly never discussed. I'm sure the discussion happened somewhere but unfortunately not seeing it and not being able to refer to it later affects my ability to review the actual implementations: if I don't understand why the initial design choices were made how can I say if the implementation is reasonable?

I don't really want to propose making the process more complex by establishing a specific way to discuss problems/ideas... but maybe someone else has good ideas on this?

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

No branches or pull requests

1 participant