The Schrödinger's Contributor

Merged This Week

Opened This Week

Still Open

run-make Makefiles remaining in master repository: 246/349 - 29.5% complete

Just who are these open source contributors? What drives them forwards?

I can comprehend coming home after a day of chasing around bugs and patching pipelines to knit a sweater or build 18th century miniature sailboat replicas. First, neither of those things require a screen, and second, the skills they require, while difficult to acquire, are not as specialized as compiler development.

So, how does one come home after doing a lot of a thing to do more of that thing? What is the grand conspiracy? Unemployed college students? Sneaking in some PRs during the workday? Lucid dreaming brain-chip coding? The run-make CI will get really fun when I start having to adapt to the x86-neuralink architecture.

What are the demographics? Is it a "young person" or an "old person" thing? When you ask me to imagine an "open source coder", I have this Schrödinger's vision of a superposed 80 year old ancient lich polishing their phylactery full of homebrewed pure-C data structures and algorithms, and a 20 year old wearing the traditional cultist robes of one of the many Internet subculture conclaves available to them.

Wretched thing - I am the former. The perfect recruit. Even though this test-porting business is quite repetitive... I'm quite enjoying it. It's honestly just the digital version of using a vacuum cleaner in a suffocatingly dusty room. Some of these Makefiles truly have formulas inscribed upon them which would shatter any sane mind...

But, I am immune, for I have already excluded myself from sanity in the first place by volunteering to embark on this project.

Keeping The Torch Burning

Merged This Week

Opened This Week

Still Open

  • pgo-branch-weights, which has now been open for 25 days. At least, with this big rebase on top of the new API, maybe something will actually happen for once.
  • nm implementation, which has been completely reworked to use the object crate instead... and is now crushing me under a truckload of lifetime errors. There must be a better way to do this.
  • fs wrappers, which only need to wait for the intimidatingly-named drop bombs to exit the merge queue.
  • symlinked-extern, symlinked-rlib and symlinked-libraries, which simply needs fs wrappers merged before it can proceed.
  • link-arg, link-dedup and clear-error-blank-output, which hilariously previously failed because the final test was previously named no-panic-blank-output, and it includes output.assert_stderr_not_contains("panic"), which was tripped by the name of the test. Right now, the test is failing because I am fighting the borrow checker for the last 2 statements:
out.assert_stdout_contains("lfoo");
out.assert_stdout_contains("lbar");

And it feels wrong to just derive(Clone) and call it a day.

The set of PRs merged and open this week is less bountiful this time - yes, I spent a lot of time debugging and patching some of the cursed tests clogging up the queue, but there has also been some interesting discussions and progress on improvements to run_make_support: tightening up the various utilities like rustc so their output must be handled, and making said output be much more controlled with designated functions to process stdout and stderr.

I've noticed that there's been some interest from experienced contributors in helping out the run-make-support efforts. In a way, I am glad - it shows that maintainers think this project has value and that it's not some "intern oubliette" where you assign beginners to an insignificant part of the codebase and breathe a sigh of relief as you realize there is no way they will break anything important.

But, it also makes it really motivating to do more, seeing all these metaphorical pickaxes striking the rock in unison, and mine not being as used as it could be. Don't get me wrong, the team seems happy with my progress thus far - a sustainable pace to match the extended 18 weeks duration - but had I not balanced this commitment with a full time internship, there could have been a little more pep to it.

Example: other Summer of Code contributors are relentlessly posting about what they do on their side in the Zulip thread, and I harbour some curiosity to understand more what they are doing - as just reading the words quickly without research is roughly equivalent to reading ancient Babylonian scripture. But, I am so drenched in technology weekly that it wouldn't be a good idea. I could, but I'm doing everything to keep the torch burning and try not to go to too many "extra miles" until I fall off the cliff.

My fear was making the foolish choice of mediocrity in two commitments over excellence in one. And, it doesn't seem like that is currently happening, but it is nonetheless worrying.

Once this summer passes, I will definitely be thinking things over more in the future when it comes to opportunities. Life isn't some RPG where you can have 12 active quests at the same time. I wonder how the highest octane maintainers do it, since they might be even busier than I am.