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

Epics and champions #787

Closed
dr-orlovsky opened this issue Jan 15, 2022 · 22 comments
Closed

Epics and champions #787

dr-orlovsky opened this issue Jan 15, 2022 · 22 comments
Labels
epic Tracking issues for epic tasks

Comments

@dr-orlovsky
Copy link
Collaborator

dr-orlovsky commented Jan 15, 2022

Issue to maintain the list of the ongoing epics in rust-bitcoin: long-lasting projects achieving well-defined goals, requiring cooperation of multiple contributors and many PRs.

Each of the epics has

  • a dedicated project (org level for epics involving multiple repos, or repo-level for a single-repo epics);
  • a tracking issue, one per repository participating the epic;
  • a champion - maintainer or a contributor driving the implementation forward, pinging reviewers and authors for stalled PRs, keeping the project and track issues updated;

The initial draft to start from (includes both historical and current epics, since historical epics may be revived)

Epic Repos Project Tracking issue in rust-bitcoin Target rust-bitcoin version Champion(s)
✅ Derive unification all https://github.com/orgs/rust-bitcoin/projects/2 #555 0.26.2 @dr-orlovsky
no_std support all n/a n/a 0.27.0 @devrandom
✅ Taproot implementation all https://github.com/orgs/rust-bitcoin/projects/3 #503 0.28.0 @dr-orlovsky & @sanket1729
✅ Rust 2018 and MSRV 1.41.1 all n/a #510 0.29.0 @tcharding,
Error improvements all n/a #820 ? @Kixunil
PSBT refactoring & PSBTv2 bitcoin, miniscript https://github.com/rust-bitcoin/rust-bitcoin/projects/1 #1055 ? @DanGould
Documentation improvements all n/a n/a ongoing @tcharding
✅ Code formatting all n/a #788 ? @tcharding
Multi-crate refactoring bitcoin https://github.com/rust-bitcoin/rust-bitcoin/projects/2 #550 0.30.0 @tcharding
Script types refactoring bitcoin, miniscript n/a n/a (but see #653) ? vacant (@sanket1729 ?)

Please feel free to directly edit this description, add your epics etc. The discussion will happen in comments

@dr-orlovsky dr-orlovsky added the epic Tracking issues for epic tasks label Jan 15, 2022
@dr-orlovsky
Copy link
Collaborator Author

Notes on championship: In vacant positions I proposed those who already did some PRs under these topics or expressed interest in getting that done. Please let know are you willing to take the championship - or, if anyone else is willing.

I am willing to champion PSBTv2 (since I have worked in PSBT refactoring for the last year and really need this feature) - but if everyone else want to champion that I will be happy to have less work :)

@dr-orlovsky dr-orlovsky pinned this issue Jan 15, 2022
@dr-orlovsky
Copy link
Collaborator Author

I also propose to discuss priorities between different epics.

My own preferences are:

  • PSBTv2 (v0.29.0)
  • Rust MSRV / edition 2018 (v0.29.0)
  • Multi-crate refactoring (v0.30.0)
  • Script type refactoring (v0.31.0)

Docs, lints, errors imo should be ongoing

@tcharding
Copy link
Member

Thanks, this issue is super useful. I'm not sure linting should be part of rustfmt. Enabling linting in CI should be pretty easily possible as soon as edition 2018 work goes in. rustfmt is going to be a massive head ache to do. I've created a new tracking issue for rustfmt (could you please edit the original posted table changing #692 for #788).

@dr-orlovsky
Copy link
Collaborator Author

I agree with @tcharding that linting is not a part of formatting epic, and probably does not deserves an epic of its own; it will be a part of 2018 edition work.

I updated tracking issue number. @tcharding pls also indicate where you'd like to volunteer for the championship.

@tcharding
Copy link
Member

I took docs, I don't think anyone is going to fight me for that one :)

First pick at edition-2018/MSRV should go to @Kixunil or @elichai, they both did work in this area before me. I'm happy to take it if they say so.

I'm happy to take crate smashing if that's ok with @apoelstra.

4 is probably being greedy but if no-one else takes rustfmt I can take that one too.

@tcharding
Copy link
Member

I set MSRV to 0.29, I don't think this is contentious.

@Kixunil
Copy link
Collaborator

Kixunil commented Jan 17, 2022

Interesting idea but TBH I don't care much who's champion as long as the things I'd like to see are done. My main interests lately are using important new language features to improve code/API quality and making stabilization a realistic goal by splitting it up and stabilizing components on-by-one with idiomatic well documented Rust APIs.

@apoelstra
Copy link
Member

@tcharding go ahead and take everything you want :)

@tcharding
Copy link
Member

My main interests lately are using important new language features to improve code/API quality and making stabilization a realistic goal by splitting it up and stabilizing components on-by-one with idiomatic well documented Rust APIs.

Cool. Well let me take on the softer work of championing so you can focus on more complex tasks, keep poking and prodding me with those good suggestions :)

@sanket1729
Copy link
Member

Sounds good to me. I think we should also add "cleanup secp verification context from rust-secp, rust-bitcoin and rust-miniscript". This will significantly simplify the usage of all projects downstream. It is not a super big task but still would require over API name bikeshedding.

On a similar note, feel free to assign any PR to me review code that deals with script, psbt, keys, taproot, sighashes. On the other hand, I am not that interested/knowledgeable about network-related code, or no-std.

@Kixunil
Copy link
Collaborator

Kixunil commented Jan 18, 2022

I've conservatively taken errors, we will see if I will have time to do other things.

@tcharding
Copy link
Member

@DanGould has put his hand up to be champion for the PSBT epic. I've had some email chats about it with him, flagging this for other maintainers to see. Dan is relatively new to Rust but seems to know his way around PSBTs, I thought this would be a great way for him to help out with rust-bitcoin. Please speak up and help him out during his efforts. Cheers Dan.

@sanket1729
Copy link
Member

@DanGould, sorry I have been away for the past month. I can help in reviewing and moving things forward in the psbt land from today. Feel free to bug me in getting things moving if you need help

@DanGould
Copy link
Contributor

Stoked to contribute. May an owner/admin grant me psbt project board permission? I've read only access.

@tcharding
Copy link
Member

We need @apoelstra to do that it seems, here is a post about it since I looked it up anyways: https://docs.github.com/en/organizations/managing-access-to-your-organizations-project-boards/project-board-permissions-for-an-organization

@apoelstra
Copy link
Member

Hmm, I don't have the "Settings" menu option there that the docs say I should ... maybe it's someone else?

Weird because I am an admin across the whole rust-bitcoin org..

I've never heard of this project board and don't know who set it up.

In any case, you can certainly have write access @DanGould if we can figure out how..

@apoelstra
Copy link
Member

I think maybe because the project is part of the repo rather than part of the org, I can't set fine-grained permissions?

@tcharding
Copy link
Member

tcharding commented Jul 20, 2022

The projects were, as I understand it, set up by @dr-orlovsky. The columns are autogenerated and github populates them, I think, based on milestones from projects menu on each PR . I'm not an expert on project management (it hurts a little bit just writing that) or github. You won't be able to edit the side menus @DanGould, if you want to use them you could just ping me to do it but that is a bit inefficient.

Perhaps you could just open a 'PSBT tracking issue' @DanGould. If we are lucky, if you open it you might even be able to edit it also (other maintainers can edit it as well)?

@sanket1729
Copy link
Member

sanket1729 commented Jul 20, 2022

I think maybe because the project is part of the repo rather than part of the org, I can't set fine-grained permissions?

I can create a new project inside the whole org and give permissions specifically for writing to that project. It's only 9 cards in TBD, so should not be too much effort in copying things.

@apoelstra
Copy link
Member

Go for it @sanket1729

@RCasatta RCasatta unpinned this issue May 2, 2023
@tcharding
Copy link
Member

This is not being used, shall we close it?

@Kixunil
Copy link
Collaborator

Kixunil commented Jan 31, 2024

I think so. We've also shifted priorities a bit.

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

No branches or pull requests

6 participants