October 2025 Reply - oils-for-unix/oils GitHub Wiki
October 13, 2025
Hello! I posted a request for help on October 2nd, and got over 40 responses! Thank you
- https://lobste.rs/s/a3wcu0/who_s_hiring_q4_2025#c_pwnd05 - Language Engineer / Debugger of Other People’s Cursed Shell Programs / Writer
- https://news.ycombinator.com/item?id=45446865 - The
lobste.rs
posting has a bit more detail than this one
I replied to the first few people with October 2025 Posting, but not everybody. It's worth reading that page, but I intend to make this reply a bit shorter, and more to the point.
What happened is that a few people showed up and just started getting stuff done, which I really appreciate !!!
Oils is an open source project, so it's a good sign that some people can "just start".
FAQ: How do I know if I can contribute?
The shortest way to answer this is to give some concrete examples.
In the job ad, I included these links, so people can self-select into the project.
- https://op.oils.pub/aports-build/published.html
- https://github.com/orgs/oils-for-unix/projects/1/views/1
I don't really expect those links to make sense to most people!
But some people have been following the project for a long time, and have worked on similar projects, so they understand it. (The project is 9.5 years old now!)
Teaching me something is a good sign
-
Andriy noticed that the ulimit -n bug #2335 has the symptom "errno EINVAL Invalid Argument", and added this information to the linked Zulip thread!
- And he additionally taught me that the
ulimit -n
sets a limit for the maximum descriptor number (e.g. 32), not the maximum number of open file descriptors. That pointed the way toward the root cause of the bug.
- And he additionally taught me that the
-
Bram ran into build failures with the Contributing instructions
- Then he fixed our build scripts to include -std=gnu99 and other flags
- It turns out that this error is related to stricter GCC 15 on Fedora and Arch, compared to GCC 12 on Debian, which I use. I remember trying to fix this last year, and didn't know this!
Andriy and Bram have also fixed other parts of Oils since then. The general idea is that any movement on the Kanban board, from left to right, is worthwhile progress. But I also expect that everyone will need to ask questions about each issue, which is why it's a collaborative process.
(Existing grant contributors Aidan, Koichi, Melvin, and Samuel have all taught me things too -- getting things done in a way that I wouldn't have necessarily done myself!)
Quick Test: You should have a personal motivation for shell, and OSH or YSH
Some people who responded are not that familiar with the Oils project -- e.g. they're not sure what OSH and YSH are.
If so, this "job" is probably not right for you. The project is 9.5 years old now, and I think most good contributors are fans of the project, and want to use it.
(I mentioned some other "signs" in October 2025 Posting.)
FAQ: Is work still available? Will We Run Out of Money?
As mentioned in October 2025 Posting, this is not a "normal job". It's more like an open source project where you happen to get paid.
The grant is for 50K euros, and so far we've paid out 5K euros. (We've received 3 grants of 50K euros in the past, so 150K euros.)
This grant technically lasts until August 2026. Based on current progress, I believe we could apply for another NLnet grant and receive more funding in 6 to 9 months. That is, it's better to get it done in less than a year.
(We also have Github sponsors money, and a ~$4K donation from myself and a former co-worker, which I'll mention on the blog.)
My long-term goal is for others to be able to work on OSH and Oils independently, with or without their own funding.
I also think NLnet would like to receive Oils grant applications from people other than me. If the projects goals can be achieved, I'd like to help others be funded.
In contrast, I want to spend more time working on YSH and related projects. (I don't need funding to work on Oils -- I took 5K euros and zero euros on our last 2 grants.)
YSH requires a lot of design, which is not parallelizable. While OSH is more about compatibility at this point. (A few bugs "expand" into design issues, and that's why I'm still heavily involved in OSH.)
Is the Project Parallelizable?
That's what I've been working on since this grant started -- and especially for the last week, after all the interest. I want everyone to be able to make smooth progress towards the project's goals!
As noted, our communication style means you may end up digging through large Zulip threads. This is similar to other open source projects -- e.g. if you try to follow the Rust project, it's easy to become overwhelmed.
Corrections / Clarifications
50 Hours
I said in the job listing that you can "do as much or as little as you like". But this is not quite true -- it can create an adminitrative headache for NLnet if there are too many people to pay.
So I'm asking people to self-select into 50 hours of work = 2500 euros. I mention this on October 2025 Posting, and I acknowledge that it creates a dilemma for some people who are interested: it's hard to tell if you can contribute without putting a bunch of time into it.
(Although as mentioned, at least 2 people "just started", but I don't expect that to be true for everyone.)
That basically means reading Zulip and asking good questions, and then seeing if you can contribute code / testing / public writing to the project.
As I wrote, this is necessarily a collaborative process, because many bugs are too hard for one person to fix.
The collaboration happens mostly on Zulip, although we also have video meetings.
Language Engineer / C / C++
Some people interpreted the job as just "debugging shell scripts".
But the "language engineer" part is important too. See October 2025 Posting.
It also turns out that C and libc / C++ / Unix background has been important for most bugs. We don't write a lot of C and C++, but it's very useful if you can read it.
Three Kanban Boards Now
I started with one Kanban board:
- Prove We Can Build Distros with OSH - https://github.com/orgs/oils-for-unix/projects/1
Now we have two more:
- aports/community - Build More Packages with OSH - https://github.com/orgs/oils-for-unix/projects/3
- More 4th Grant Work - https://github.com/orgs/oils-for-unix/projects/2
Any movement from left to right is progress, and questions are welcome!
Feel free to join https://oilshell.zulipchat.com/ if this makes sense!