The Summer of Nix program proper is now over, and here is the second-to-last update for this year.
Since the last post, most of the larger packaging efforts came to conclusion:
- Rosenpass will appear in the 23.11 NixOS release
- OpenXC7 now has a reproducible development shell upstream
- A service definition was added for Flarum
- The package and service module for mCaptcha are operational, and the corresponding pull request about to get merged
- Exploratory work started on packaging Libervia, but the project is under heavy rework and we will wait for it to stabilise
- proximity_matcher_webservice, which was packaged last year, got a small fixup to unblock development
The list is fairly short: as mentioned previously, participants went for quality rather than quantity and had to deal with a variety of projects on a spectrum of complexity and maturity, which was often tricky. Nonetheless, the three mobs effectively served all but one of the actionable requests made via the NGI0 Review fund and packaged multiple projects funded through NGI0 Entrust, with the software being usable out of the box from NGIpkgs or Nixpkgs. And project authors are happy with the results:
- Esther from Librecast published a brief report on their mailing list and mentioned us on Mastodon.
- Hans, the project lead of OpenXC7, mentioned the collaboration with Summer of Nix on Mastodon
As was planned for this year, Summer of Nix will now seamlessly transition into a continuous and more relaxed mode of operation. We’ve all met for two wrap-up calls (due to distant time zones) to exchange feedback and experiences, which was quite insightful:
- The mob programming format proved to be extremely effective for knowledge sharing. Some started with almost no Nix experience, and were able to ramp up very quickly.
- It was a lot of fun, but also very intense. The workload quite substantial, in part due to challenges with scheduling.
- Working together with project authors was fruitful, and should be emphasized even more, getting them into the loop as early as possible.
- Although we improved a lot over the past years, task curation needs more emphasis. More mature projects are much easier to package and those packages have a longer half-life.
- The program started late this year and barely deserves the title “Summer” even for the northern hemisphere. That’s also one of the reasons why we had more software professionals than students as participants this year. We’ll put more effort into aligning the schedule with the semester breaks next time. And may consider a new name for the program…
- Participants expressedly asked for getting prioritised access NixCon tickets, as that would be a unique opportunity to learn to know the community that otherwise appears only in the form of avatars. We’ll try to make that happen for next year. NixCon 2023 tickets were unfortunately very hard to come by.
- Hardware requirements for mob programming and Nix development at scale should be made explicit. Running NixOS tests or large evaluations runs you into limits quickly.
- There was also a long wishlist with regard to the Nix ecosystem:
- Nixpkgs maintainer capacity is very constrained, and more help getting upstream changes merged would be appreciated
- Nixpkgs documentation is still hard to find or nonexistent, and some concepts such as overlays or the module system remained mysterious to many and required an in-person introduction and working examples
- There’s a clear need for more fine-grained, incremental builds, and better Nix language tooling
Some of the participants will stay to finish up the remaining issues, and packaging work will focus on GNU Taler, which consists of many components. As time and budget constraints allow, they will also update and migrate packages into the monorepo that were created in the past two years.
@mightyiam is working in the background to revamp the website to have a better point of contact for the next season, and is documenting organisational insights for the final report. My focus towards year’s end will be on streamlining the administrative process to ensure a quick ramp-up next year, and make a hand-over easy in case someone else will organise the program.
In the meantime, @mightyiam and me contacted companies who are relying on Nix and may be interested in hiring our program’s graduates.
If you’re representing such a company and you’re looking to expand a DevOps or software development team, check out our list of job seekers. Summer of Nix developers have collected plenty of practical experience getting complex build setups and service configurations to work reproducibly with Nix and NixOS, and demonstrated effective collaboration towards the program’s goals. If you end up hiring one of them, we’d appreciate a donation to the NixOS Foundation so we can continue packaging open source software.
(This is also posted on the job board on Discourse.)
Thanks to @mightyiam’s initiative, some of the participants recently met to record an episode of Mob Mentality with Chris Lucian and Austin Chadwick, which set to air soon. This was exciting! We’ll post a link when it’s out.
Although much delayed, we’re still planning to do a very light-weight version of last year’s lecture series. The purpose is for participants and the general audience to get in touch with developers in the Nix ecosystem, ask questions, and get some insights on what they are currently working on and how one can participate. We’ve sent out invitations to speakers and will post updates when there is more information.
Around the turn of the year I’ll post another update before returning to you with a final report on Summer of Nix 2023.