Skip to content

authors-file package field #14949

@timmypidashev

Description

@timmypidashev

Problem

Hello 👋

I am building some rust software, and couldn't find a package field that allows for mentioning/referencing an AUTHORS file in the authors field. This is unfortunate, as I already make use of a non-standard license, and the license-file field came in very handy. I assumed something like authors-file should also exist, but alas.

When a project sees multiple contributions, It is not feasible to keep track of them all in a authors list, nor is it expandable. It would be nice to have a field where we can pass in a markdown or text file with a list of maintainers/contributors, and have cargo fetch that into its package metadata.

Proposed Solution

I propose adding an authors-file field to Cargo.toml that works similarly to the existing license-file field. Here's how it would work:

[package/workspace.package]
authors-file = "AUTHORS"

The AUTHORS file would support categorization through comments, with lines starting with # being used as category headers:

# Core Team
Your Name <[email protected]>

# Contributors
Another Author <[email protected]>

Additionally, we should provide support for GitHub's CONTRIBUTORS file format, allowing markdown formatting while extracting just the relevant contributor information.

Notes

This is my first potential contribution to the Rust ecosystem, and I'm really excited about it! It follows the precedent set by license-file and provides a more scalable alternative compared to listing authors directly in Cargo.toml.

I'd love to hear what others think and if its a good idea, I'd love to submit a pull request. Looking forward to getting involved with the Rust community through this feature! 😊

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-manifestArea: Cargo.toml issuesC-feature-requestCategory: proposal for a feature. Before PR, ping rust-lang/cargo if this is not `Feature accepted`S-triageStatus: This issue is waiting on initial triage.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions