The last year was… interesting.
#Roots
After using Ansible, Chef and Puppet in various setups, discovering NixOS was a breath of fresh air. I loved how it fundamentally solved configuration drift on my machines. Nix, in essence, is making a single change to the POSIX standard: instead of installing software in a shared file structure, install each to unique locations. From this “small” change, all sorts of cool properties emerge. The composition of software, the immutability, the configuration rollback, the caching, and the (better) reproducibility…
At that point in my life, I had spent an entire month tuning Ubuntu unattended installers, burning them to ISOs, and then trying them out on physical machines. I had also spent weeks tuning Packer scripts, each run taking 30 minutes and sometimes failing to build AMIs. Now, I can do both of those things in 5 minutes.
I am convinced that having non-reproducible systems will soon be weird, just like having a software project without source control or continuous integration is today. Nix is still in its infancy. It can take many roads, and history will tell if Nix will become Git or SVN in this story.
So convinced that I quit my job and created a consulting company around it. I have also been fully invested in the NixOS project since 2014, doing all sorts of things such as organising NixCon(s), setting up Discourse, the nix-community org, funding nixpkgs-fmt, adding the :edit
command to nix repl
, and so many commits and projects.
My point is that Nix is cool (did I say it already?).
#Foundation
On top of Nix, one of the things I enjoy the most is enabling other people to work on their things. So, when I was offered the foundation role last year, I was interested. To me, the foundation is an interface between the community and the commercial/legal world. It handles background work, like talking to sponsors, reimbursing events, ensuring that assets are under control, signing documents… The idea then was to sacrifice some of my free time to allow the community to make progress.
I’m happy with some of the things I achieved, like bringing almost all the disparate resources under the foundation’s control (domain, AWS accounts, etc.… which took the whole year), dealing with GDPR issues, helping consolidate the infra, helping Domen with the funding forms for events, unblocking people in the organization.
I also messed up in many places, like publishing Eelco’s private information by mistake (if you merge the PR, it’ll keep a reference, and you must contact GitHub to remove it) and not responding to emails quickly (sorry, Hetzner). There is also the whole story with the binary cache where I couldn’t create the right conditions to solve this. But the worst part was all the conflicts that erupted in the community that I couldn’t address adequately. That was difficult. Many people got hurt emotionally. I’m sorry I failed there.
What was difficult was that the foundation wasn’t designed to resolve those conflicts in the first place. Our strength is our ability to connect with the business world and serve the community, not to set the project’s direction. Suddenly, we had to have opinions and consensus. Now! I wanted to provide answers, but we debated internally once every two weeks.
So, I proposed creating a second body that could lead the community. Return the foundation to its strengths: handling boring administrative tasks. And that’s what the assembly team is going to do.
I feel lucky to have worked with Ron, Eelco, Theophane, Ryan and Janik on the board for a year, from whom I have learned a lot of things. Also, amazing Kate is helping with our admin in the background. Thanks for having me.
For my part, I have reached enough of my objectives. I resigned, first privately on May 13th while the assembly was getting set up and now publicly.
#What’s next
Since the 13th, I have had some time to think and reset. The biggest thing was lifting that negativity veil. Did you know we merged more nixpkgs PRs than ever in the past months? I know it’s a silly metric, but it was nice to see it.
Many challenges still await, but I know the assembly will do well. I also know that we will keep failing many times, and that’s fine. The community was always a bumbling mess of diverse opinions, and that’s OK as long as we find ways to put those aside and build together.
What brings me joy is building things, and I will return my focus there. I don’t know what exactly, but I know I will have fun doing it.