I’ve seen some projects on GitHub (howdy being one of them that came to mind) where there are forks, but when I check the forks out they are either unchanged, or are behind by a few commits. I was wondering why this would happen. It couldn’t be for archival purposes, could it?


I’d do a PR. Although I would understand forking if the project maintainers wouldn’t merge a PR. (or create an issue (for the fix/ addition) if the README says that it’s an option)
So while you’re working on your PR, where do you push your commits? If you don’t fork, you can’t push them to Github. You don’t have access to the repo you’re making a PR for. That’s exactly why people fork.
Of course you could just NOT push any commits, but then your commits only exist locally on your development machine, and if you have a hardware failure you’ve lost them, defeating the point of a distributed version control system. Or you could push them to another computer you have access to, but Github lets you push to your own free account for free, so most people would rather just do that. Which they do. By creating a fork.
Maybe it’s okay if you’re only creating a small PR with a single commit or two. But for more extensive development, anyone reasonable is going to create a fork so they have somewhere to store their work until it’s ready. Once/If the PR is merged, the fork is abandoned as it’s no longer needed. But that’s why they exist.
A PR requires push access… That’s why you create a fork… So you can create a PR from your fork.
You generally have to fork to create a PR…