Skip to content

yaml-rust appears unmaintained... #1921

Closed

Description

@qtfkwk

Activity

  1. qtfkwk commented on Mar 13, 2024

    @qtfkwk
    Author

    Stumbled onto https://crates.io/crates/yaml-rust2 / https://github.com/Ethiraric/yaml-rust2 yesterday... it forks from the latest commit on the original repository https://github.com/chyh1990/yaml-rust on 2021-07-12, and adds commits starting on 2023-08-14 and latest on 2024-02-08.

    I've done a quick review and appears to be functional and in good faith, but should have more people review and confirm.

    Also, strangely... @Ethiraric doesn't seem to have any means of contact posted in Github, and has issues disabled on the yaml-rust2 repository (?). Edit: resolved... see #1921 (comment)

  2. Ethiraric commented on Mar 13, 2024

    @Ethiraric

    Heya!
    Having issues disabled was (I think) an unintended side-effect of the repository being a fork in a first place and was not at all intentional.

    It forks from one of the pull requests from the original yaml-rust where the author added support for the yaml test suite, a set of YAML files and their expected output. yaml-rust did not pass the whole test suite. Although most of the tests were corner cases that were unlikely to be encountered in real-world YAML, I have fixed all of them so that yaml-rust2 now correctly passes the whole suite.

    I've also added a bunch of comments to the code, refactored some constructs and optimized so that the library should be faster than yaml-rust.

    I have waited to produce real benchmark data before doing an announced release. I am fairly new to the art of benchmarking, and my last attempts at optimizing have failed, which is why there hasn't been any meaningful commit for a month now.

    As-is, I see no reason the code would be less functional than yaml-rust, but I am human and make errors, so maybe there's something I missed, in which case a bug report (now that I have issues enabled, thanks to you) would be welcome.

    If there's anything I could help with, do feel free to open an issue or send me an e-mail (I'll add that to my profile in a second, but I have a gmail address whose local part is my username here).

  3. smoelius commented on Mar 13, 2024

    @smoelius
    Contributor

    @davvid's https://crates.io/crates/yaml-rust-davvid is another fork that, to the best of my knowledge, is sincere.

  4. davvid commented on Mar 14, 2024

    @davvid
    Contributor

    Yes, I'm relying on the availability of this functionality long-term so I'd be more than happy to help maintain a fork or swap over to a different fork. I wasn't aware of yaml-rust2, thanks for bringing that to my attention.

  5. Ethiraric commented on Mar 14, 2024

    @Ethiraric

    I've had a look at the commits on @davvid's repository, and it seems that they are mostly focused on the output API and handling of Yaml elements. If that's the case, our works should be complementary as I almost exclusively focused on the parsing side of the project.

  6. Ethiraric commented on Mar 15, 2024

    @Ethiraric

    @davvid Our repositories should have a common ancestor in the latest yaml-rust commit.

    Would it be okay with you if I tried merging your commit tree into my repository?

  7. davvid commented on Mar 17, 2024

    @davvid
    Contributor

    @Ethiraric that'd be great. I actually started on the merge before seeing your message and submitted the changes in a clean rebase over at Ethiraric/yaml-rust2#2

  8. Ethiraric commented on Mar 18, 2024

    @Ethiraric

    Thank you very much for your work on this pull request! I hope we can get it to merge cleanly soon ❤️

  9. tarcieri commented on Mar 18, 2024

    @tarcieri
    Member

    I just wanted to say that yaml-rust appears to be implicitly unmaintained, however per our unmaintained crates policy we prefer to wait for 90 days after an issue like chyh1990/yaml-rust#197 has been opened to give the author time to respond.

    If someone would like to file an unmaintained crate advisory in advance, we can merge it when that time has elapsed.

  10. davvid commented on Mar 20, 2024

    @davvid
    Contributor

    I'm linking these here so that folks landing here can see the full paper trail going back to 2020. I guess waiting another 3 months isn't really going to hurt (or change much) in that respect since we've already waited ~4 years.

    chyh1990/yaml-rust#160

    chyh1990/yaml-rust#192

  11. tarcieri commented on Mar 20, 2024

    @tarcieri
    Member

    Aah, with chyh1990/yaml-rust#160 especially it seems clear this crate is unmaintained as the maintenance status has already been publicly asked about without response.

    Feel free to file an advisory then. It can be merged immediately.

  12. added a commit that references this issue on Mar 25, 2024
    9ad1631
  13. jayvdb commented on Mar 25, 2024

    @jayvdb
    Contributor
  14. tarcieri commented on Mar 25, 2024

    @tarcieri
    Member

    @jayvdb that would be good to report on the yaml-rust2 repo: https://github.com/Ethiraric/yaml-rust2/issues

  15. 3 remaining items

  16. rocallahan commented on Mar 26, 2024

    @rocallahan

    @rocallahan the author is completely non-communicative per:

    Right. Is there no procedure at all to take over the crate name of a core crate that has been completely abandoned? That seems bad.

  17. tarcieri commented on Mar 26, 2024

    @tarcieri
    Member

    No, there is not. The only way to deal with a non-communicative author is a fork.

  18. rocallahan commented on Mar 26, 2024

    @rocallahan

    No, there is not. The only way to deal with a non-communicative author is a fork.

    That is a very bad policy. Bad to the point of ridiculous in a situation like this.

  19. jayvdb commented on Mar 26, 2024

    @jayvdb
    Contributor

    @rocallahan , it is a known problem being discussed elsewhere; it is the way it is because of security, so will require a very careful process to override the current security. rust-lang/crates.io#7202 is one semi-related discussion.
    Maybe some useful discussions at https://users.rust-lang.org/search?q=unmaintained ?
    e.g. https://users.rust-lang.org/t/pre-rfc-we-need-a-process-for-giving-crates-to-new-maintainers/8033 which leads to rust-lang/rfcs#1794

  20. jayvdb commented on Mar 26, 2024

    @jayvdb
    Contributor
  21. rocallahan commented on Mar 26, 2024

    @rocallahan

    @rocallahan , it is a known problem being discussed elsewhere

    Thanks for the pointers but I don't see any active discussion that covers this specific situation.

  22. rocallahan commented on Mar 26, 2024

    @rocallahan

    I see on crates.io yaml-rust is listed as having two owners, and one of them is dtolnay-contrib/yaml-rust. So could dtolnay reassign the yaml-rust crate name to the yaml-rust2 contributors?

  23. tarcieri commented on Mar 26, 2024

    @tarcieri
    Member

    @rocallahan you would have to ask @dtolnay

  24. Turbo87 commented on Mar 26, 2024

    @Turbo87
    Contributor

    That is a very bad policy. Bad to the point of ridiculous in a situation like this.

    FWIW the Python ecosystem has https://peps.python.org/pep-0541/ but when we updated the crates.io policies last year there was a lot of opposition against including something like this.

  25. Ethiraric commented on Mar 26, 2024

    @Ethiraric

    I see on crates.io yaml-rust is listed as having two owners, and one of them is dtolnay-contrib/yaml-rust. So could dtolnay reassign the yaml-rust crate name to the yaml-rust2 contributors?

    This has already been asked. Crates.io has already been informed of the issue.

    Prior to starting yaml-rust2, I have already asked around for any other way this could be resolved. A lot of options have been explored and I do not think any more discussion about possible ways to take over yaml-rust here will come to fruition.

  26. qtfkwk commented on Mar 27, 2024

    @qtfkwk
    Author

    A "takeover" causes more problems than it's worth. And that's even if it's 100% compatible.

    You have competing issues... on one hand you might be thinking: we gotta force everyone who depends on an old and unmaintained crate to upgrade for security reasons. Well (a) you can't because they might have chosen to depend on a specific old version, (b) if they didn't you might be introducing breakage, and (c) it's their problem if they depend on old and unmaintained crates... they still need to exist so the whole thing doesn't fail.

    Further, afaik cargo-audit is an aid to help inform authors and users about security issues... not enforce anyone's particular requirements.

    IMHO, the best way is as it is: Make a new crate, fork, whatever. Let crate authors depend on whichever crates/versions they want. Done.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions