I thought contributing to open source would be straightforward. Clone the repo, find a bug, fix it, done.
My first real attempt proved me completely wrong.
I was working on adding 90 realistic bread ingredients to bakerydemo. The data was good — Sourdough Starter, Kalamata Olives, Dark Muscovado Sugar. I ran dumpdata, formatted the fixture, submitted the PR.
The maintainer's response was short.
"There are 20k lines changed in here, so clearly you haven't tried to check what you added?"
PR closed.
I sat with that for a while. Then I actually looked at the diff. Windows had silently changed every single line ending in the entire fixture file — CRLF instead of LF. One setting. 20,000 lines of noise. The ingredient data itself was fine. Nobody could see that through the chaos.
The second attempt
I didn't give up on bakerydemo. I found a different issue — misleading gallery image titles showing "Breads 1", "Breads 2" across the entire gallery page. I traced it through gallery_tags.py all the way down to the fixture file. Found the root cause. This time I edited manually in VS Code instead of using dumpdata. Checked the diff carefully before pushing.
Six lines changed. PR merged.
Same person who got a PR closed for 20k lines got a clean merge two weeks later. The code wasn't the difference. The process was.
Building the prototype
After getting selected as a GSoC applicant for the Demo Website Redesign, I didn't want to just write about what I'd build — I wanted to actually build it first.
So I built a working prototype on PythonAnywhere before writing a single line of my proposal. PersonPage model, pagination, templates — all working. Not perfect. But real.
It changed how I wrote the proposal entirely. Instead of guessing whether my approach would work, I already knew.
What I actually learned
Open source doesn't care about your intentions. A 20,000 line diff looks the same whether you worked hard or didn't. The output is what gets reviewed.
Read the diff before you push. Always.
And if you're going to propose building something — build it first, even badly. You'll write about it completely differently.
For further actions, you may consider blocking this person and/or reporting abuse
Top comments (0)