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

Project status? #128

Closed
dralley opened this issue May 23, 2023 · 6 comments
Closed

Project status? #128

dralley opened this issue May 23, 2023 · 6 comments

Comments

@dralley
Copy link

dralley commented May 23, 2023

This is an awesome project, but it's a little worrying that there hasn't been a commit since 2021. What are the plans, if any, for continued development?

@mpizenberg
Copy link
Member

There is no easy answer but I'll try my best.

First, about the commits. There has been new commits, but just not merged in the release branch, which is the stable one. Instead of a main/release branch model where main is the default branch displayed in github, we have release/dev branches, where release is the default displayed and dev is the one where ongoing progress happens. This is mainly to avoid documentation that does not corresponds to actual package. I prefer this over people often reading the main doc and not understanding why the package does not reflect that. But I agree, it's not conventional. We should mention this in the readme.

Now about the actual status. So back in 2021 and early 2022 we had the perfect combination of time and motivation. @Eh2406 would write most of the improvements, and I would provide reviews, tweaks and write documentation. After version 0.2.1, we started the ambitious goal of changing the API to enable pre-releases in a correct way, which is non-trivial. That work was merged in May last year #108 . Now there are only 2 things left to be able to release version 0.3.

  1. Finish review of perf!: use a priority queue #104 which is an important perf optimization, but changes some internals so requires a very thorough review. I started the review twice, and hope to get back to it soon.
  2. Finish the documentation work in the guide TODO before v0.3 guide#7 which is also impacted by API changes in (1) in addition to the other changes.

I've been the blocking party since I changed situations. Mostly I've moved around and changed work and now I have much less free time in addition to not using Rust anymore at work. So that combination makes it that it requires bigger time slots for me to get back to this, which are much less frequent and thus I also feel less motivated overall than in the 2021-2022 period. I did spend a few hours here couple weeks ago though and plan to spend more in the upcoming weekend.

If someone wants to help me, participating in the guide upgrade pubgrub-rs/guide#7 would be welcome (just let me know there).

That's my overall situation, I'll let @Eh2406 comment on his if he wants.

@Eh2406
Copy link
Member

Eh2406 commented May 29, 2023

As usual @mpizenberg is far more articulate and thoughtful than I am.

I deeply love this project. I would love to be spending significant time on it. I had the good fortune a little over two years ago of getting a job that cares about my open source contributions. Unfortunately that means they also care how efficiently my contributions lead to their desired outcomes. And while I think this work is important, it's a long road before it makes cargo more functional or easier to use. There are many other contributions whose benefits are more measurable over much shorter time horizons. Work time is less available than it was before, and with my open source hobby having become my day job, after work time has also become less available.

Furthermore, the rust community continues to grow exponentially. Almost every aspect of the project doubles every 1.5 years. My work contributing to cargo has definitely followed that pattern. Luckily we have switched from "the work is getting harder but no one showing up to do it" to "there's so much getting done that it's a job just keep track of it".

Or maybe that's all nonsense, and I'm just too tired and burned out to actually productively contribute anything.

@Eh2406
Copy link
Member

Eh2406 commented Oct 27, 2023

I now have a couple of hours a week of work time to answer people's questions and keep the lights on at this project. That's more than enough involvement with this project for my brain to happily spend free time (some when I should be sleeping) exploring the many interesting possibilities. Now that I am a maintainer with time to work on the project, I am trying to be more decisive about merging PR's and making progress. A merged PR that needs fixing is better than a project with no support. Hopefully as it becomes possible for other people to get there PR is merged we might develop some new contributors, so that my decisiveness does not have to be so unilateral.

@Eh2406 Eh2406 closed this as completed Oct 27, 2023
@Eh2406
Copy link
Member

Eh2406 commented Oct 28, 2023

@charliermarsh (re your offer to help). I would definitely appreciate any help. Eventually I would love to have more trusted contributors/reviewers to this project. I don't have a clear vision of how we get there from here.

One thing that Matthieu excels at and I really value is documentation. Updates or improvements to the book would be deeply appreciated. Clarifying or expanding examples would also be wonderful. For example, I will get to making an example eventually, I think you experimented with combining PubGrub with async, a proof of concept example of a way to do that would be valuable. See #138 and #110.

@charliermarsh
Copy link
Contributor

@Eh2406 - You're very welcome to tag me as a reviewer on anything. I will of course ask lots of dumb questions, but they will get less dumb over time, and I am happy to contribute in that way as long as it feels useful to you and @mpizenberg.

@Eh2406
Copy link
Member

Eh2406 commented Oct 28, 2023

I tried to tag issues with "good first issue", any of which would be a helpful way to familiarize yourself with the internals.

The biggest thing for the health of the project would be merging the API changes from #104. With the user's perspective you could provide helpful insight! How hard is it to take a prototype built on dev and updated to being built on #104? Is the updated documentation at pubgrub-rs/guide#6 helpful? As a future contributor, is the implementation understandable?

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

4 participants