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

Push for v4.4/v5.0 before Ownership Transfer or Maintenence #40

Closed
2 of 3 tasks
berkowski opened this issue Jul 13, 2021 · 31 comments
Closed
2 of 3 tasks

Push for v4.4/v5.0 before Ownership Transfer or Maintenence #40

berkowski opened this issue Jul 13, 2021 · 31 comments

Comments

@berkowski
Copy link
Owner

berkowski commented Jul 13, 2021

My motivation to keep tokio-serial up to date with the async ecosystem has long since waned and it shouldn't be the limiting factor for other people. I'd like to get this crate usable with tokio 1.X, then transfer of ownership to someone more active in the space. Or failing such, explicit notice that the package will no longer be actively developed.

  • Get CI working again. travis-ci isn't viable anymore.
  • Get tokio 1.8 support working at least at a beta level.
  • Add github:tokio-rs:core as owner on crates.io once stable package is released
@berkowski
Copy link
Owner Author

AsyncWindowsSerialStream needs some cleanup, most importantly to address this comment

Working towards a release of 5.4.0-beta1 to crates.io

@ColinFinck
Copy link
Collaborator

I wonder if there might be any interest from the tokio maintainers themselves (@Darksonn @carllerche ?) to take this project under the umbrella of the https://github.com/tokio-rs org. That would make it independent from the GitHub account of a single person, and probably easier to reassign maintainership later.

After all, this is the de-facto official tokio crate for dealing with serial ports.

@Darksonn
Copy link
Contributor

You are welcome to add Tokio as an owner to function as a backup. You can do that by using github:tokio-rs:core as the username when adding an owner. I don't have any plans to be active in the development of tokio-serial myself.

@berkowski
Copy link
Owner Author

This might be the way to go. @Darksonn, just to confirm, you're talking about ownership on crates.io and not github itself correct? I only see ownership transfers on github and for organizations I'd need creation permissions for the tokio-rs org which I obviously don't and shouldn't have.

It doesn't quite solve the repo maintenance issue but it would at least keep the crates.io space from fragmenting

@Darksonn
Copy link
Contributor

Yes, I was talking about ownership on crates.io. Though, I assume you would also add whoever will take over maintenance duties as an owner.

When it comes to location of the repo on github, we prefer to only have repositories in the tokio-rs org that we are committed to maintaining ourselves, and I don't personally have the time to take on tokio-serial.

@berkowski
Copy link
Owner Author

Yep, that's perfectly reasonable. I'm more concerned about keeping crates.io fragmentation to a minimum

@anton-dutov
Copy link

@berkowski
Thank you for creating and maintaining this crate, this is really hard work, so that is reason why everyone is afraid to be maintainers, the proposed option for transfer ownership to tokio-rs is probably the best in that case.
I think all interested people will take own part to keep the crate up to date

@berkowski
Copy link
Owner Author

@anton-dutov @ColinFinck @emgre

5.4.0-beta1 has landed on crates.io for testing. Merging #39 and #41 with dev/FromRawHandle into master required some manual intervention but appears to have been successful. It's worth checking that I didn't drop some functionality along the way.

I'm at the "seems to work for me" stage but I'm not happy about the lack of tests. I'm not sure there's really a way to do anything using a CI service, but at least I could create some manual tests like serialport-rs uses.

In the meantime I will start re-evaluating outstanding issues here and in mio-serial to see which are still valid.

@anton-dutov
Copy link

@berkowski
About automated tests, something like pipes
On linux
socat /dev/ttyS0,raw,echo=0,crnl /dev/ttyS1,raw,echo=0,crnl

O windows com0com, but the installation task will be non-trivial

@ColinFinck
Copy link
Collaborator

Looks good! Will do some more testing next week, and I suggest some minor improvements in #42. But other than that, I have no objections regarding a release.

@berkowski
Copy link
Owner Author

Good to have something on crates.io again that seems to help people.

I've been slowly bashing my way through setting up com0com on appveyor for mio-serial testing. I'm more familiar with socat so the linux side of things should be more straight forward.

@berkowski
Copy link
Owner Author

5.4.0-beta2 published to crates.io. I don't plan on making any further major changes, though I may add a few more test cases. If no major issues are found I'll publish a final release in a few weeks.

@anton-dutov
Copy link

@berkowski Both my projects linux/windows works fine after updated to 5.4.0-beta1, no issues to report

@berkowski
Copy link
Owner Author

bumped to 5.4.0-beta3 due to berkowski/mio-serial#27

@berkowski
Copy link
Owner Author

bumped to 5.4.0-beta4 with #46

@estokes
Copy link
Collaborator

estokes commented Jul 26, 2021

If no one else is willing to step up then I volunteer. I can't promise to commit a huge amount of time, but I do have several crates depending on this one, so there's that .... Someone from the Tokio org would obviously be much better, please consider me a last resort.

Also, thanks a lot for stepping up and putting time into this important crate even though you no longer personally care about it.

@ColinFinck
Copy link
Collaborator

I have a few crates depending on tokio-serial as well. As a contributor, I will also do my best to keep it aligned with latest tokio releases, but I can't promise more than that.

I guess it's the best to put it under the umbrella of the tokio GitHub and crates.io organizations and give admin access to a few people, e.g. @estokes, me, and possibly others that volunteer. Changes can then be mutually reviewed via PRs without depending on a single person alone.
And in the rare case that all contributors disappear, the tokio organization could still hand over admin access to new people. It's very unlikely that they disappear too.

@berkowski
Copy link
Owner Author

Thank-you @estokes, @ColinFinck. Would you be willing to take on mio-serial as well? In my mind they go hand in hand.

It doesn't seem like tokio-rs is interested in taking ownership of the actual repos at this point. They are willing to monitor the packages on crates.io to prevent fracturing the user side of things for cargo though. How does this sound?

  • Add estokes and ColinFinck as collaborators to mio-serial, and tokio-serial. That provides the ability to commit and merge PR's in my absence
  • Add tokio-rs, estokes, and ColinFinck as owners on crates.io. That provides the ability to publish new versions
  • Keep the repos under my ownership. Keeps all existing links to these repos intact.

This seems like the easiest path forward but let me know if you have reservations about any portion.

Hopefully the actual effort in maintaining these crates will be minimal moving forward now that tokio is stable. It's not that I don't care about these crates anymore, more that I just don't use them at all for any projects in over a year. I learned a lot from this experience, both good and bad, and at the very least will try to be more up front with publicly released code that seems to gain some use by others.

@estokes
Copy link
Collaborator

estokes commented Jul 28, 2021 via email

@ColinFinck
Copy link
Collaborator

Sounds great! 👍

@ColinFinck
Copy link
Collaborator

So how are we going to proceed here?
Shall we try to meet on the tokio Discord some time and handle the ownership transfer? Or do you first want to finish the 5.4.0 release?

@berkowski
Copy link
Owner Author

berkowski commented Aug 2, 2021

I figured I would wait on the 5.4.0 release, which I'll plan on doing this weekend assuming there's no issues that crop up this week.

As I see it the steps left are:

  • Bump mio to 5.4.0 as well to bring the version scheme back up in line. Won't do that until just before we consider things "final"
  • Add @ColinFinck and @estokes as maintainers on github repos. Don't need any extra info to do this.
  • Add @ColinFinck and @estokes as owners on crates.io. I'll need both of your crates.io usernames to do that. Email, discord, just listing it here; all fine by me.

@estokes
Copy link
Collaborator

estokes commented Aug 2, 2021 via email

@ColinFinck
Copy link
Collaborator

Same here. This is my crates.io page: https://crates.io/users/ColinFinck

@berkowski
Copy link
Owner Author

released 5.4.1 with no code changes since the previous beta besides bumping mio-serial to version 5 (itself having no code changes since the previous beta).

@ColinFinck, @estokes: Ive added you both as collaborators for the tokio-serial and mio-serial github repos and as owners of the crates.io packages. If the invites don't get through let me know.

@Darksonn: I'm having trouble adding github:tokio-rs:core as an owner of the packages on cargo.io. I'm getting

Error sending invite: could not find the github team tokio-rs/core

Ever see this before?

@estokes
Copy link
Collaborator

estokes commented Aug 8, 2021

hmm, so far I only have a crates.io invitation for mio-serial

@berkowski
Copy link
Owner Author

Might have just done it on mio-serial, resent both for tokio-serial

@ColinFinck
Copy link
Collaborator

Thanks a lot for handling this! I accepted the invitations for mio-serial and tokio-serial on crates.io and GitHub.

@estokes
Copy link
Collaborator

estokes commented Aug 10, 2021

Yep, that worked, thanks!

@berkus
Copy link

berkus commented Jan 30, 2022

Folks, if you are the new maintainers, care to update the README with the status quo?

@estokes
Copy link
Collaborator

estokes commented Jan 30, 2022

It's always the little things ... Done, thanks for reporting.

@estokes estokes closed this as completed Jan 30, 2022
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

6 participants