Breaking
OpenAI announces GPT-5 with breakthrough reasoning capabilities | OpenAI announces GPT-5 with breakthrough reasoning capabilities |

Home / The Bash Successor Dilemma: Oils Project Reflects on Four Years of NLnet Funding

Technology

The Bash Successor Dilemma: Oils Project Reflects on Four Years of NLnet Funding

Saran K | June 3, 2026 | 4 min read

Oils shell

Table of Contents

    A Decade of Shell Evolution

    For over ten years, the Oils project has pursued a seemingly impossible goal in the world of Unix-like systems: creating a principled, modern replacement for the ubiquitous Bash shell without sacrificing POSIX compatibility. After four years of support from the NLnet foundation, the project’s lead developer, AndyC, has released a comprehensive retrospective on what that funding achieved and where the project stands in the broader Linux ecosystem.

    The project’s strategy has been bifurcated. On one hand is OSH, a shell designed to be a drop-in, compatible replacement for Bash. On the other is YSH, a more ambitious, general-purpose language intended to evolve the shell into something far more powerful. The tension between these two goals—maintaining the legacy of the past while building the interface of the future—has defined the project’s trajectory since its first NLnet grant in June 2022.

    Bridging the Implementation Gap

    The most immediate victory of the funding period was the successful translation of the shell’s core logic. Through a process of “middle-out” implementation, the project worked to align its Python implementation with a C++ version to ensure performance and reliability. By early 2023, the two implementations converged, passing identical test suites and providing a stable foundation for further development.

    This stability allowed the project to move into high-stakes stress testing. During the fourth grant cycle, the team attempted to run OSH as the sole shell on Alpine Linux, a lightweight distribution often used in containers. The results were promising: the team managed to reduce “disagreements”—instances where OSH behaved differently than expected when building the system—from 139 in August to just 11 by December.

    The Distribution Hurdle

    Despite these technical wins, the project has hit a wall that is more cultural and systemic than technical. The original thesis of Oils was to provide a seamless “upgrade path” from Bash to a better language and runtime. However, the reality of Linux distribution maintenance has proven more stubborn.

    Most foundational shell scripts in major distributions are in a state of permanent maintenance. The maintainers of these scripts often only understand specific fragments of the code and are hesitant to pivot to a new runtime, even one that is functionally superior. While radical changes like the adoption of systemd proved that the foundations of Linux can be shifted, such shifts usually occur when there is an overwhelming “killer reason” to switch. For most distros, the marginal gain of moving from Bash to Oils does not yet outweigh the perceived risk of disrupting stable, legacy boot and setup scripts.

    The Resource Bottleneck

    The project’s ambition has consistently outpaced its available manpower. While the NLnet grants increased the velocity of development, the scope of the project—simultaneously refining OSH and expanding YSH—proved too large for the core team. The recent early termination of the fourth grant was not due to technical failure, but rather a combination of personal constraints and a growing backlog of unreviewed pull requests from a community of contributors.

    The challenge remains that while contributors are eager to help with OSH, the more avant-garde elements of YSH—such as closures and a headless GUI interface—have struggled to attract the dedicated development hours required to move them from sketch to stability.

    A Shift in Perspective

    As the project moves forward, there is a palpable shift in how its goals are framed. The dream of a linear upgrade path from Bash is being re-evaluated in favor of a more ambitious, albeit slower, pursuit of a general-purpose shell language. The project has proven that a principled, compatible shell is possible, but the path to systemic adoption in the Linux world remains an open question, contingent on whether the industry finds a compelling enough reason to leave Bash behind.

    #openSource #linux #softwareDevelopment #programmingLanguages

    Related Posts

    Leave a Reply

    Your email address will not be published. Required fields are marked *