My Second Week Contributing to Debian: Merged Code, Real Feedback, and Learning to Trust the Process
Description and use
The author successfully merged two contributions to the DebConf project—a Yoruba translation and a functional code change—after learning to adapt to static site generation constraints and to discuss design before coding.
Problem
The author needed to understand how to contribute effectively to a large, long‑running open‑source project and to produce code that meets the project's architectural constraints.
Outcome
Two merge requests were merged, the author gained practical knowledge of static site generation constraints, and learned the importance of design discussion before coding.
Workflow
- 1. Submit translation MR for Yoruba certificates.
- 2. Submit code MR to enable certificate validation without JavaScript.
- 3. Receive mentor feedback with list of required changes.
- 4. Study feedback to understand static site generation constraints.
- 5. Refactor view to BuildableDetailView and adjust URL patterns.
- 6. Implement 404 handling for invalid certificates.
- 7. Wrap user‑facing text in translation marks.
- 8. Debug stale code loading by reinstalling package in editable mode.
- 9. Test valid attendee, valid speaker, and invalid key cases locally.
- 10. Propose design discussion for public attendee list feature.
- 11. Await maintainer approval before coding.
Evidence
I had submitted a merge request to make the certificate validation page work without JavaScript. When the mentor merged it, he left a comment saying it looked good, and mentioned he'd open a follow‑up issue to improve how the page looks
The main points were: My validation view needed to be a BuildableDetailView, not a plain view. The reason was something I had never considered: the DebConf websites get exported to static HTML after the conference
At one point, the validation page kept throwing errors no matter what I changed. I'd fix something, reload, and get the same failure. After a lot of digging, I discovered the real problem: the application was loading an old, installed copy of the code from the virtual environment instead of the source files I was actually editing.
- Record date: 2026-10-27T01:11:29.704Z