Road to Janet Shell 0.1

Having a big mouth is at times one of my character flaws, so a while ago I made a few resolutions:

  • If I say I will do something, I should always follow through.
  • If I get the urge to complain about something, I should work on a solution.

Not long after I couldn’t help myself while talking to a friend:

“I want a new system shell that is small, fast, good for scripting, and also supports things like closures, exceptions, first class functions, a module system , a …”

Some time later I began work on Janet Shell using Janet as a base to build from and I think now is a good time for a mini retrospective.

What is done:

  • A shell that I use day to day on Nixos that ticks my boxes and works pretty darn well.
  • Cross platform support on at least Linux, FreeBSD and OpenBSD. I expect Mac will work easily, if it doesn’t already.
  • A few people using janetsh as their preferred shell.
  • A website (linked above).

What it has taken:

  • Luck that someone did so much amazing work building Janet, clearly Janet Shell would not be possible without it.
  • 2 Weeks of near full time work. (Thousands of dollars investment at market rates).
  • 157 git commits.
  • The help of some great supporters.

What needs to be done for a 0.1 release and beyond:

  • More hours of use to find issues, more test cases.
  • Macos CI testing.
  • Polish polish polish.
  • Documentation and support for new users.
  • A new stable release of the janet programming langauge I can refer people to.
  • Getting the first stable release packaged for multiple operating systems.
  • Marketing and reaching the right people.

Closing thoughts

Even though I clearly lost money to build Janet Shell, I am very happy to have created something I can use daily.

To relieve some of the expense, I was able to create a sponsorship link on the janetsh github page and was even lucky enough to get my very first sponsor (Thank you, I can’t express how happy that made me). This makes me optimistic for the future of sustainable open source development and makes me want to donate to other independant software projects I use.

As always, feel free to give it a try (and let me know how it goes), or you can wait a short while (weeks?) for the very first release.

Thank you for reading.