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 ANNOUNCEMENT] Looking for maintainers for Doctest #554

Open
onqtam opened this issue Nov 29, 2021 · 19 comments
Open

[PROJECT ANNOUNCEMENT] Looking for maintainers for Doctest #554

onqtam opened this issue Nov 29, 2021 · 19 comments

Comments

@onqtam
Copy link
Member

onqtam commented Nov 29, 2021

Working on doctest has taught me two very important lessons: how to prioritize and how to say no, and now it's time to apply them to my life. I can no longer maintain doctest properly and that's evident by my inactivity for the past 8 months - I haven't touched C++ professionally in almost 2 years and I've moved on to other things.

I invite anyone interested in the development & maintenance of the framework to join the Discord server. I just moved doctest to a GitHub organization as suggested here and will add whoever is interested as a member. I'll release a version or two and will stick around for some time as people join in order to resolve any disputes and respond to questions and at some point, I'll promote the ones that have shown the most interest to admins & owners of the repository and the Discord server - I won't leave but I hope that by that time others would be able to reach consensus on contentious issues and I'll redirect any donations to the maintainers once this transition period is over.

Doctest doesn't require too much work (unless new features are added) - mostly the occasional compiler bugfix & support in issues. The design goals of the framework should be followed - what made doctest successful is the art of saying no and keeping it light & easy to use.

EDIT: some more info - #554 (comment)

Best regards,
Viktor

This was referenced Nov 29, 2021
@onqtam onqtam pinned this issue Nov 29, 2021
@paulocoutinhox
Copy link

Thanks @onqtam for your excellent work!

@onqtam
Copy link
Member Author

onqtam commented Dec 8, 2021

Tagging some people who have been active with issues/PRs before with the hopes that someone would be interested:

This is not an exhaustive list and I've definitely missed people who ought to be in it!

@Trass3r
Copy link

Trass3r commented Dec 8, 2021

Unfortunately I've never been able to actually use doctest professionally. 😅
But would be fine to take care of it a bit.

@bilderbuchi
Copy link

I know the feeling from my open source work. Thank you for all your work on this, and retain your balance!

@eyalroz
Copy link

eyalroz commented Dec 9, 2021

@onqtam : Unfortunately, I cannot spare the time to undertake this. A few months ago I undertook the maintenance and fix integration of a popular self-contained printf()-function-family implementation, thinking that there would be not much to it, and work has not ended since. This project would be much more work IMHO.

Having said that - I will try to be available to help whoever does take this mantle onto themselves. So feel free to ask me for more specific things when/if relevant.

@onqtam
Copy link
Member Author

onqtam commented Dec 9, 2021

@eyalroz Absolutely understandable!

This project would be much more work IMHO.

I might have understated the amount of work a bit indeed : )))

@onqtam
Copy link
Member Author

onqtam commented Dec 9, 2021

@Trass3r Thanks a lot! I sent you an invite to the org.

Unfortunately I've never been able to actually use doctest professionally. sweat_smile But would be fine to take care of it a bit.

To be honest I have never written unit tests extensively in C++ (or any other language actually) and yet here we are 😅

@dankamongmen
Copy link
Member

i've been using doctest for about two years now, and it is critical to my Notcurses project. i'm well-versed in C++ and have deployed it on all major platforms. i maintain doctest for FreeBSD, Fedora, Alpine, and probably one or two i've forgotten about.

i'm not in a position to further develop it, really, but i'm happy to maintain it and corral bugfixen.

@onqtam
Copy link
Member Author

onqtam commented Dec 9, 2021

@dankamongmen Thanks a lot! Just sent you an invite to the org ))

@eyalroz
Copy link

eyalroz commented Dec 9, 2021

@dankamongmen : My offer stands, so if I can be of assistance, feel free to ask.

@u3shit
Copy link

u3shit commented Dec 9, 2021

Thanks for the offer, but I don't think I'm the right person, I wouldn't have enough time for this. And actually I can't even push to github nowadays...

@philbucher
Copy link
Member

Hi @onqtam, thanks for the offer!
I was going to write that I am busy otherwise, but after reading the replies from the others it seems like this is the norm for open-source devs :)
Hence I would be very happy to contribute a bit my maintaining the project, even though my contributions might also be limited at times due to other obligations.
I would like to especially bring the MPI-testing a bit more forward.

Also thanks to you for establishing such a cool testing framework, I used it quite a lot in the last year and I really like it!
Good luck with your other endeavors!

@onqtam
Copy link
Member Author

onqtam commented Dec 10, 2021

I'll provide some details for what I'd hope for the framework because otherwise maintenance is quite vague:

  • all inhouse development (by people with push privileges) should go through PRs and no direct commits
  • no PR gets merged if there isn't a consensus that it should be accepted (lack of comments/objections for a few weeks can be regarded as consensus if engagement is low)
  • good PRs should not have to wait more than a couple of months to be merged
  • critical issues (not compiling or behaving properly @ runtime) should be fixed with priority
  • features from the roadmap don't have to be developed by the maintainers - if someone needs something they should do the work themselves and present polished PRs - resources are scarce
  • niche feature requests should be turned away - avoiding bloat and minimizing maintenance
  • the bias should be towards conservatism, not breaking things & considering side effects of changes - not wild refactors & feature creep
  • occasionally questions are submitted as issues and also the occasional false positives with static/dynamic analysis tools - hopefully, those could get a response & be evaluated
  • new version at least once every 6 months or when critical bug fixes are present in dev
  • communication through issues/PRs & Discord - that's increasingly becoming the way online communities coordinate

The most important thing IMO would be to keep the framework relevant and working - anything else on top of that is a bonus. If there's motivation - workflows for managing/triaging/labeling issues & PRs can be agreed upon. Release processes can be improved. Testing could be more thorough. If there are 4-5 people that monitor issues & PRs - that ought to be enough to not have anything unresponded to for more than a month or 2 and also having a second opinion on things is nice. I'm not sure a lead role is necessary, but if someone turns out more active/competent and others are OK with them - why not. Also, work/roles can be divided - for example:

  • answering questions/issues & labeling them, also work on documentation
  • reviewing more C++-ish template & ADL-related PRs & issues
  • release schedule & processes
  • maintaining specific extension headers for specific functionality (such as MPI)

I've had only one encounter where someone stubbornly insisted on something that I didn't agree with (practicality versus UB maximalism related to forward declarations of std types) but hopefully we're all adults here :)

Doctest has carved a niche for itself and is providing value to a surprising number of companies & projects - it would be a waste to simply abandon it - thanks to anyone who participates! I also think that finding some actual funding for it is possible, although I did fail when I tried contacting a few specific companies... Any initiative on that front is to be encouraged!

@onqtam
Copy link
Member Author

onqtam commented Dec 10, 2021

@eyalroz If you'd like to participate in any way - even just occasionally as explained above - I'd love to invite you to the org :)

@philbucher Yep, busy is the norm :) Thanks for agreeing - adding you to the org!

@u3shit - no problem, thanks for responding! :)

@dankamongmen
Copy link
Member

@onqtam your outline of expectations and duties correlates quite closely with the level of effort i was expecting to volunteer, good deal.

@dankamongmen
Copy link
Member

@onqtam your outline of expectations and duties correlates quite closely with the level of effort i was expecting to volunteer, good deal.

as in, i primarily intend to jump on build issues should/when they surface, and wrangle submitted PRs

@eyalroz
Copy link

eyalroz commented Dec 10, 2021

@onqtam : Do invite me then.

ItsBasi added a commit to ItsBasi/conan-center-index that referenced this issue Dec 11, 2021
The maintainer onqtam moved the doctest project to a dedicated organization. (doctest/doctest#554)
This change makes it so that downloads do not have to rely on redirects.
@onqtam onqtam unpinned this issue Jan 10, 2022
@onqtam
Copy link
Member Author

onqtam commented Jan 10, 2022

@Saalvage has stepped up in the past couple of weeks and has contributed quite a few near-perfect PRs and helped solve non-trivial issues - I've been chatting with him and he has agreed to maintain doctest for the foreseeable future!

I'll still be around for questions when pinged directly with @onqtam or in Discord (he is there as well), but I won't be reviewing code actively & answering issues going forward unless asked.

I'm releasing a new version which fixes some problems which were recently introduced - v2.4.8 should be considered a stable version. I'm closing this issue. I'll leave it up to you guys to sort things out & review code from now on :)

@onqtam onqtam closed this as completed Jan 10, 2022
conan-center-bot pushed a commit to conan-io/conan-center-index that referenced this issue Jan 15, 2022
* doctest: Update url's to new doctest organization

The maintainer onqtam moved the doctest project to a dedicated organization. (doctest/doctest#554)
This change makes it so that downloads do not have to rely on redirects.

* doctest: avoid runing cross compiled exe in doctest_discover_tests

doctest provides a convienience macro called "doctest_discover_tests"
which querries the available test-cases by trying to run the executable.
This should not be done durring a cross compile.
@onqtam
Copy link
Member Author

onqtam commented Sep 29, 2023

Well, it seems that this issue will have to be reopened to draw more attention by potential maintainers. I'll have less bandwidth for onboarding compared to in the past, but will do my best. The good thing is that the library is in a very stable state and most new issues & PRs (from the past 1 year) are either trivial/easy or very niche - it's not going to be a high load for maintenance!

Some big company that uses it should cough up 1-2k$ a month for this and other similar projects so that someone maintains them.

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

No branches or pull requests

8 participants