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

Require PRs be in a repo with hacktoberfest topic and be accepted #596

Merged
merged 15 commits into from Oct 2, 2020

Conversation

@MattIPv4
Copy link
Member

@MattIPv4 MattIPv4 commented Oct 2, 2020

Description

To reduce spam and make Hacktoberfest an opt-in event, only consider pull requests that are submitted in a repository that has 'hacktoberfest' as a repository topic. Further, only consider merged, approved or labelled (as 'hacktoberfest-accepted') PRs.

This does not apply to existing PRs.

Closes #583.

Test process

  • Create PR in non-hacktoberfest-topic repo, PR should go to topic_missing state
  • Create PR in hacktoberfest-topic repo, not approved, PR should go to not_accepted state
  • Create PR in hacktoberfest-topic repo, merge or label as 'hacktoberfest-accepted' or approve, PR should go to waiting state

Requirements to merge

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code in hard-to-understand areas
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
@MattIPv4 MattIPv4 marked this pull request as ready for review Oct 2, 2020
@MattIPv4 MattIPv4 changed the title Require PRs be in a repo with hacktoberfest topic Require PRs be in a repo with hacktoberfest topic and be accepted Oct 2, 2020
@MattIPv4 MattIPv4 requested a review from katjuell Oct 2, 2020
Copy link
Collaborator

@katjuell katjuell left a comment

LGTM!!

@MattIPv4 MattIPv4 merged commit 41db8a3 into master Oct 2, 2020
2 checks passed
2 checks passed
Build
Details
Build
Details
@MattIPv4 MattIPv4 deleted the MattIPv4/hacktoberfest-topic branch Oct 2, 2020
@sylveon
Copy link

@sylveon sylveon commented Oct 2, 2020

I'm not a fan of this change because:

  • It significantly reduces the pool of repos that you can PR to. I've contributed to repos which haven't explicitly opted in to Hacktoberfest this year and in the past as well. Repos in which I am more comfortable contributing in than some random GitHub search result for the "hacktoberfest" tag. With this change, I am forced to look into those, or convince the maintainers to tag their repos.
    • For intermediate or experienced programmers it voids the whole event because the vast majority of OSS projects won't get involved.
  • After the spam fest that this year was, people aren't inclined to add the tag to their repos because it paints a target for spam over them.
  • Maintainers can now gatekeep your contributions, so even if it's something meaningful the maintainer can deny you a +1 PR for your work. It can be frustrating spending a non-insignificant amount of time to get the t-shirt the right way and then have that time nullified. I concur, this is a stupid/edge case point.
  • It doesn't address "hello world" spam repos. In fact, it encourages them because of the reduced amount of repos available to contribute to.
@devsnek
Copy link

@devsnek devsnek commented Oct 2, 2020

If you think your PR is meaningful and the maintainer doesn't, the maintainer is correct.

@MattIPv4
Copy link
Member Author

@MattIPv4 MattIPv4 commented Oct 3, 2020

👋 If folks are after a more wordy and high-level summary of the changes made here and everything else we're doing to continue to fight the spam and make Hacktoberfest a better experience for the community, please take a read through https://hacktoberfest.digitalocean.com/hacktoberfest-update

If y'all would like to share feedback, please send us an email via hacktoberfest@digitalocean.com or consider joining our community roundtables: https://docs.google.com/forms/d/e/1FAIpQLSdb2uld_Ln43cWn0Xvfe64S59us38SHl510tHWafTRpctzXOA/viewform

@Nezteb
Copy link

@Nezteb Nezteb commented Oct 3, 2020

@sylveon

I'm not a fan of this change because:

...

It's not a perfect solution but it helps alleviate a major pain point for maintainers caused by Hacktoberfest. Without OSS maintainers, Hacktoberfest would not exist. Individual devs not being able to get a $20 shirt for free seems insignificant in comparison.

Unless anyone has other ideas to contribute in a constructive way, poopooing it outright seems pointless.

@MattIPv4 is working extremely hard on this and I hope DigitalOcean gives him and the other Hacktoberfest organizers more resources next year to address all of these concerns.

@sylveon
Copy link

@sylveon sylveon commented Oct 3, 2020

@MattIPv4 @Nezteb This is extremely disappointing to hear.

I just took a look at which C++ repos have the hacktoberfest tag, since I'm a C++ developer, so naturally I'm going to write PRs in the language I'm the most familiar with.

Conclusion: it's hot garbage
image
image

I do not wish to write hello worlds or CS 101 algorithms four times over. I want to have something that actually makes a difference, like improving codegen, or skipping tests in CI if build fails.

Thankfully, I already have 4 PRs in, but if this rule is kept as-is for 2021, I might as well not even bother with Hacktoberfest 2021.

@sylveon
Copy link

@sylveon sylveon commented Oct 3, 2020

I do not oppose making requirements stricter, but I would go in a different way:

  • Account age minimum
  • Age minimum for the repo you're contributing to
  • Contributions to orgs you're member of or your own repos do not count
  • Some basic line count minimum, like 10, and excluding changes to non-code files from that count.
@devsnek
Copy link

@devsnek devsnek commented Oct 3, 2020

I'm sure a maintainer would be happy to add the relevant labels if they received a nice PR.

@PureKrome
Copy link

@PureKrome PureKrome commented Oct 3, 2020

OMG @sylveon - you're really a negative-nelly, here.

There's been a large negative vibe this year around HF2020. Yes, this is a 🔥 dumpster-fire 🔥 of a year, but we can always do better ... and the D.O. team are trying to do some positive changes. So...

have the hacktoberfest tag

which led you to summarizing..

Conclusion: it's hot garbage

maaaaaate ... as of right now at this post no one KNOWS that this will be the new way forward to include repo's. Give this message some time to get out in the community.

If you want to help .. and i mean really help .. then you'll :

  • find a repo.
  • ask the maintainer(s) to add the tag(s)
  • create an issue (you know, best practice is to create an issue FIRST before a ninja-PR )
  • $$ profit $$

so ... try and be positive and let them get some baby steps out there.

are the better ways? sure, maybe? You just mentioned 4 criteria, so maybe that's the way? Anyways, lets get this out and make some of us Maintainers happier ... which makes the ecosystem more positive.

@jimschubert
Copy link

@jimschubert jimschubert commented Oct 4, 2020

It's pretty shady to start the "contest", and then change the rules two days later without notifying the folks who have signed up to participate.

As an open source maintainer, I do get annoyed by meaningless contributions… but those could easily be mitigated by providing the community a GitHub action for validating a configurable hacktoberfest contribution quality for first-time contributors to a repo.

@carlspring
Copy link

@carlspring carlspring commented Oct 4, 2020

If folks are after a more wordy and high-level summary of the changes made here and everything else we're doing to continue to fight the spam and make Hacktoberfest a better experience for the community, please take a read through https://hacktoberfest.digitalocean.com/hacktoberfest-update

If y'all would like to share feedback, please send us an email via hacktoberfest@digitalocean.com or consider joining our community roundtables: https://docs.google.com/forms/d/e/1FAIpQLSdb2uld_Ln43cWn0Xvfe64S59us38SHl510tHWafTRpctzXOA/viewform

Hey guys,

Did you actually think about all the projects that have already labelled their tasks with hacktoberfest and are new to this, or have participated perhaps once, or twice? How do you expect them to all know about these changes that you've introduced a few days into the event? This should have been done and announced beforehand, or taken as a point for next year's event. Do you realize how many projects will be affected by this and not know about it? Projects will now be expecting people to come and join in and wonder why this is not happening. Surely, you could have thought of this before the event.

How exactly do topics improve things compared to labels? This makes no sense whatsoever!

We have participated in #Hacktoberfest in the past few years and all of our suitable tasks are clearly labelled with hacktoberfest. Thank God somebody pointed out this change to us! Labels make much more sense than topics. Topics are meant for a completely different purpose -- to clarify what category your project is about (for example, if you're making a library for java, spring and security, then you will add the java, springframework and security topics to your project and people will be able to find your project, based on the topic).

You're just adding more complexity and confusion to this and I don't see any benefit from these restrictions. Sure, you can add this to your repositories, but it's an unnecesary duplication.

This sort of confusion will affect first-timers, as well as projects who have already added tasks for #hacktoberfest and are hoping to get help from new-comers wishing to take part in the hackfest. Project maintainers should grow the hell up. If you want help from the OSS community, you have no guarantee that new-joiners will all be as experienced as you would like them to be. However, if you're smart about it, you will break up your tasks up into reasonably small tasks that people can easily understand and help out with, even if they're "very green". You will then guide these people and help them improve their skills. You will gradually benefit from all of this, as it will help you build up your project's community.

There will always be spam. We'd had a few of these non-PR-s ourselves and we also took part in a the Grace Hopper Celebration Open Source Day, which brought an extra amount of contributors in addition to the ones from #Hacktoberfest. Are all the contributors experienced? No. #Hacktoberfest and GHC OSD aren't exactly about you getting super-experienced contributors, they're about your project getting some attention and for:

  • More to people to get into OSS and they haven't done it before (maybe they have some experience, maybe not).
  • People who want to help projects and improve their skills in the meantime.
  • Developers who's like to find a side-project for their free time.
  • Promoting OSS.

Just to clarify that issues for the GHC OSD 2020 are all labelled as GraceHopperOSD. They've had no such odd requirements.

Your algorithm isn't perfect, but the previous rules were more reasonable.

Here's another issue: one of our projects is split across different repositories on Github, as it's a modular project. For dependency upgrades, we require two pull requests, one for the dependency upgrade (which is in one repository) and another one for CI testing (which is in another repository). The test pull request is always closed, not merged, if it succeeds. Obviously, as per your rules, this pull request will not apply, despite it having been help for our project (and we've already had quite a few of these pull requests). How could your algorithm be improved in this case, or should just let people know it won't count?

@IsmaelMartinez
Copy link

@IsmaelMartinez IsmaelMartinez commented Oct 5, 2020

I spent the last two hours looking at python PRs to check if there is anything good for other co-workers to contribute. It will be great to have a way to filter PRs that have been already assign, I feel like searching for a film in Netflix... But hopefully this reduces the spam.

@hertg
Copy link

@hertg hertg commented Oct 5, 2020

Hey guys, i just wanted to point out that I've created the issue #609 and summarized some of the points made here. This PR here gets quite polluted with external references and, unfortunately, with some less constructive feedback. As I believe an issue to be better suited for this, maybe consider reporting your feedback and ideas over there.

As frustrating as the sudden change might have been for you, please stay polite and constructive and try to refrain from comments that don't contribute anything new to the conversation. Also, if you keep your feedback in a well-structured form and keep an open-mind, it will probably be taken more seriously by the Hacktoberfest Team. But that rule goes for every feedback on (open-source) projects in my opinion. :)

Happy coding and good luck with your PRs!

@marceloFA
Copy link

@marceloFA marceloFA commented Oct 5, 2020

Does PRs submitted before hacktoberfest tag was added to the repository topics count?

@luizfzs
Copy link

@luizfzs luizfzs commented Oct 7, 2020

* It doesn't address "hello world" spam repos. In fact, it encourages them because of the reduced amount of repos available to contribute to.

It does address, right? By saying that they will accept .. only consider merged, approved or labelled (as 'hacktoberfest-accepted') PRs.. There is no way that maintainers will accepts pull requests with "hello world" changes.

@sylveon
Copy link

@sylveon sylveon commented Oct 7, 2020

Those repositories are dedicated to accepting spam or junk pull requests so that you can get a shirt.

For example this and this

@luizfzs
Copy link

@luizfzs luizfzs commented Oct 7, 2020

Those repositories are dedicated to accepting spam or junk pull requests so that you can get a shirt.

For example this and this

You're right, I missed that aspect. I naively considered only fair repositories.

@DanielJoyce
Copy link

@DanielJoyce DanielJoyce commented Oct 7, 2020

Google Summer of Code works because repositories/projects have to sign up. This kind of gaming/spam repo was possible before the latest hacktoberfest changes, so no changes there.

The problem again was someone basically making a wider audience aware of Hacktoberfest, leading to an Eternal September for Github projects.

  1. It's just a t-shirt. If Digital Ocean wants to hand them out for for low quality PRs to spam repos, that's their perogative.

  2. It should be opt in, or require some action, because otherwise with the sudden awareness of this program now and forever ( thanks to the youtube video ) there is now potential for this spam to repeat forever.

  3. If DO wants legit repos to sign up / opt in, they need to do better outreach beyond twitter announcements. A website to discuss it. Instructions on opting in. Instructions on being a good submitter. DO blindly trusting crawling the Github API to award t-shirts to spam repos is their own problem.

@DanielJoyce
Copy link

@DanielJoyce DanielJoyce commented Oct 7, 2020

Those repositories are dedicated to accepting spam or junk pull requests so that you can get a shirt.

For example this and this

DO decided to blindly trust the results of crawling the github API to find and award contributions. That problem existed before this Hacktoberfest.

@sylveon
Copy link

@sylveon sylveon commented Oct 7, 2020

Yes, I'm aware, but now the changes are encouraging those even more.

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

Successfully merging this pull request may close these issues.

None yet

You can’t perform that action at this time.