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.