Skip to content
This repository was archived by the owner on Mar 29, 2022. It is now read-only.
This repository was archived by the owner on Mar 29, 2022. It is now read-only.

re-evaluate and discuss participation rules #609

@hertg

Description

@hertg

This issue is regarding PR #596 which recently changed the participation rules of hacktoberfest. A lot of feedback from the community went into the comments of the Pull Request.

The PR gets polluted from issue references and, unfortunately, some non-constructive comments, so I think that an issue would be a better place to continue the discussion and community feedback for the participation rules.

Please keep in mind that Hacktoberfest is an event organized by DigitalOcean, and it is entirely up to the team actually working on the event on what rules get implemented. But since the event is all about working with the open-source community, i hope that this feedback can provide some value for the Hacktoberfest team.


I'd like to start by summarizing the most constructive feedback from the PR comments here and adding some of my own thoughts. Please feel free to debate any of the points made below and add your own feedback. :)

Questionable Rules

  • Opt-In / hacktoberfest topic requirement
    The event being opt-in drastically reduces the positive impact Hacktoberfest could have on smaller Open-Source projects. Especially those where the maintainers don't know anything about Hacktoberfest. While it reduces the negative impact the first few days had on larger Open-Source projects, there are less drastic measures to give maintainers more power if they get overwhelmed by spam PRs (for example: easy opt-out via no-hacktoberfest topic).
    The new requirement of having a hacktoberfest topic on the repository doesn't necessarily reduce spam, because people might assume the maintainer just doesn't know about Hacktoberfest and bother them by requesting that they add the label.

    This also makes the event a lot less wholesome in my opinion. Why not letting maintainers of smaller / halfway abandoned projects be positively surprised when a sudden PR arrives that might have been partially motivated by Hacktoberfest. That person then bothering the maintainer to add a hacktoberfest-accepted label to the PR or even adding a non-related hacktoberfest topic on the repository makes it seem as if getting a free tshirt was the only goal of the person contributing. That might hold back some more self-aware people to even do the PRs in the first place. Not really a strong point to make, just a thought.

  • Always requiring the hacktoberfest-approved label on PRs
    That is probably a good idea, allowing maintainers to set a PR as hacktoberfest-approved when the PR can't be merged immediately. But if a PR already does get merged, why does it need that label? Isn't it already proof enough that a PR was meaningful if it got merged into the source? I don't see any benefit if a contributor needs to bother the maintainer to add this label if the PR already got accepted.

    The only positive side of requiring the label would be that the maintainer can merge a PR that just fixes a simple typo, but decide to not make it eligible to count in Hacktoberfest. However, this might cause a heated discussion between the contributor who wants to participate in Hacktoberfest and the maintainer, leaving pressure on the maintainer again. Solving that via additional minimum line changes or excluding documentation changes (see below) might solve that without leaving pressure on the maintainers.

    My info was wrong, as @fer22f and @MattIPv4 pointed out, every PR that is either approved, merged or labelled hacktoberfest-accepted actually gets counted.

Further Improvements

  • Require an account age minimum in order to participate
    I don't know if newly created accounts play even a big role in the spam PRs, but I can imagine that some spammers probably open new accounts to spam the PRs, rather than risking the "reputation" of their actual account.

  • Require a repository age minimum in order for PRs to count
    Might prevent some hello-world repositories that are just created to get the PRs

  • Require a manual review of any repository having "Hacktoberfest" in the repository name, whether they are actually eligible for the event.
    Searching for Hacktoberfest on Github lists a lot of repos that are just there for people to get the free T-Shirt. Although I'm guessing a lot of them get reported and are no longer considered for the PR count.

    Also, while browsing some repositories with the hacktoberfest topic, I found that there are a lot of repositories from colleges / universities that already let their students do assignments via Github. I'm not sure whether such repositories should be counted towards Hacktoberfest or not, they don't really provide a lot of value to people outside of those classes, but I understand that this is pretty hard to differentiate.

  • Exclude contributions to own repos.
    Or maybe only count them if the repository has a certain amount of stars, that way maintainers of meaningful repositories could still participate themselves.

  • Exclude documentation only changes to .md, .adoc, etc. and require a minimum line count
    Might be hard to implement. After all, adding documentation to projects is a very meaningful contribution, but just fixing 1 typo or adding an unnecessary sentence isn't that meaningful, so that's hard to differentiate

  • Allow maintainers to completely opt-out easily if they get overwhelmed with spam (i.e. with a no-hacktoberfest label or similar)
    Obviously, only if the event is opt-out. With the current opt-in strategy, this proposal doesn't make sense

  • Disqualify anyone who has 1+ PR marked as spam immediately.
    This seems harsh at first, but there is a big difference between the labels invalid and spam.
    Whether or not that gives too much power to the maintainer, and whether that might get abused is open for discussion. But maintainers aren't the bad actors here, the spammers / cheaters are.

Metadata

Metadata

Assignees

No one assigned

    Labels

    feature-requestUnaccepted user submitted new feature suggestion

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions