I'm one of three “newbies“ taking part in such a four-day endeavour for the first time. Of course all of us have built numerous TYPO3-Installations, are experienced in working with git, and have even now and then had a look into the code of the core - but none of us ever contributed directly to the central piece of TYPO3.
Thinking about what lies ahead, my head spins: Whatever we changed in these days would eventually be played out on more than 500,000 installations worldwide. Better be careful with whatever we do!
But first of all, our friendly hosts from the agency “undkonsorten“ catered for a good atmosphere: coffee and drinks, bread and spread, and fruit and vegetables are awaiting us in the kitchen. In a large workroom, a huge table offers enough space for everyone. Straight after arrival, everyone moves in behind their computers and begins to work.
Our task schedule can be viewed on forger.typo3.org. There the pending tickets are pre-sorted, waiting for us to tackle them. As expected - three weeks after the release of version 9.5 - the priority is on bug fixing.
At the beginning, an experienced mentor takes us newbies aside, and we practice the correct workflow. As soon as everything is clear, we jump right in at the deep end. The first thing to start with is to review existing patches.
This turns out to be surprisingly time-consuming. We always start with a ticket that reports an error and for which a patch has already been written. Our first task is to reproduce the bug in the current version 9.5.0. Once we have done that, we apply the patch and then re-check whether the bug has now been fixed. If we can confirm this, the patch gets a "+1". Four of these ratings are required before a core member can merge it into the current code.
As the days go by, we become faster and faster, and soon even we newbies are busy not only reviewing existing patches, but also writing new ones.
We immediately notice how much responsibility comes with it: Is it really allowed to delete this line with " ", which the RTE produces under certain circumstances? Doesn't it break the frontend in some installations? It's reassuring to have core team members at the table who can answer such questions: You may, you even should - because this line is a historical remnant and should be removed anyway.
While working we can finally close some 15 year old tickets. Especially with the old tickets, often just checking turns out to be sufficient: No, the bugs reported there no longer exist in versions 8.7 and 9.5. Not because they have got fixed, but because the code has become cleaner and more sophisticated over the time. And clean code doesn't produce these bugs in the first place.
Some tickets are quite simple, others surprisingly difficult. Some require a longer discussion, others have even to be postponed because they raise difficult conceptual questions that need to be put back for the time being.
Most of these discussions take place in the kitchen; it becomes a meeting place where the big questions of TYPO3 and the small ones of everyday life are discussed. By the fourth day at the latest, it feels like everyone is living together in a big shared flat.
132 closed tickets finally go into version 9.5.1. A large part of it has been done in the four days in Berlin. We had a lot of fun, laughed a lot together, and still worked intensely. When I left, I understood well why so many sprint participants keep coming back. I'm sure I'll be back at some point, too