One-off contributions are the most common type of contribution in open source projects. It would be very disturbing to know that, by running an open source project, I'm spreading guilt throughout the world! Fortunately that's far from the truth.
From experience, one-off contributions are almost always useful, even if about half the time the contributions aren't incorporated as-is. This is because:
- Contributions come from super-users, users who care enough about the project to reach out with free work. Contributors, through their contributions or follow-up conversations, provide a valuable window into what super-users want out of the project. Open source, and free (gratis) software in general, suffer from this problem where creators are out of touch with users. Unlike paid software, there is no easy trail for creators to find out who their users are and what they're like. Market research is hard. Every contribution is a data point.
- One-off contributions are usually simple and small, and something I missed despite this. Why? Because it's an edge case I didn't consider. Because it's for a platform I didn't port to. Because it's a hole in my testing procedures. Because it scratches an itch I didn't have. Because it's an issue I wasn't skilled enough to resolve. Whatever it is, addressing it improves the polish of the project. Polish isn't a single feature, it is smoothing out thousands of rough edges, which is better addressed by multitudes of users providing feedback and sometimes contributions.
In my experience, one-off contributions provided much more value than the changeset alone, and they were useful even if I rejected the contribution. Here are some examples:
- Very minor formatting improvements to the readme. This taught me some Markdown tricks and got me thinking about how to better structure the readme to address its readers, to become a better writer.
- A collection of bug reports around a common module. This alerted me to some poor code design, which motivated me to perform rewrites, greatly reducing the defect rate of future releases.
- A number of change requests to the build script. Even though I rejected all these because it turns out they didn't follow the instructions 100%, I eventually simplified the build process.
Without a doubt, one-off contributions helped me steer the project, improving their popularity and usefulness, as well as greatly improving my breadth of skills. If anything, the guilt is all on my end as I had to say no on occasions.
Also, the charity analogy is flawed; I think you've been duped by unscrupulous charities that want to guilt people into donating more. One-off donations are less useful but not entirely without value.