Going Full Time on Open Source
Comments
Lazare
jdxcode
I'm glad you're seeing it this way and finding value in it, this was very intentional. I wasn't happy with the status quo with all of the other tools in this space (nix, bazel, buck2, etc) that all force you to adopt everything from day 1. I think of mise as an overlay on existing systems, not a system in itself.
c-hendricks
Very quickly mise went from "what's that?" to "I need it everywhere" because of the "overlay on existing systems" approach. It's all over our org at work, and all over the local dev community here. It has also simplified all of our CI and made the random python projects a breeze to run. Great work!
Ironically I pushed for it because it also has tasks that can be written in Bash (we have a mix of Bash scripts and Makefiles for task running across projects while I will die on the hill that shell scripts should be written in a shell script: not Makefile, not a string in a json file, not a string in a yaml file) but we never did get around to that.
jdxcode
it was definitely a risky move, env vars are not perfect for this use-case (varargs is awkward) but I'm happy I went with the file tasks setup and the magic comments anyways. It's nice that you're not working in bash-inside-yaml or coming up with a new file type. It is just bash.
kstrauser
Agreed, and thank you. Every editor I personally use knows how to edit, highlight, and language server shell scripts. Zero of them, AFAICT, know how to do any of that with a shell script embedded in YAML.
spankalee
We just started exploring Mise as a (much) simpler alternative to Nix + Bazel for a polyglot monorepo.
One of my concerns was about how well maintained Mise would be given that it's mostly a single maintainer, so I think this is good news in that respect.
Good luck to Jeff!
blcArmadillo
Off topic but how are you using Bazel with Nix? Specifically with regards to Bazel's cache. It doesn't seem like that would work well with Nix.
xyzzy_plugh
As a proponent of both Nix and Bazel, unless you need them for a specific reason you should totally use Mise. I recommend Mise to everyone.
If everyone on your team gets Mise and you're starting to feel pain at the periphery then it can definitely make sense to adopt a more elaborate toolchain orchestrator.
nextaccountic
Note, you can install some packages from nix in mise https://github.com/jbadeau/mise-nix
sangeeth96
Likewise looking to adopt mise at work, have a PR nearly there and especially with all the LLM/skills CLIs, mise looks well positioned. I've been using it for a long time personally and is a delight to work with.
Curious given polyglot monorepo and bazel, does mise have something that solves the build graph/caching stuff that IIUC comes with Bazel or is that something that's not needed for the monorepo you help maintain?
spankalee
Yeah, Mise has caching: https://mise.jdx.dev/cache-behavior.html
I'm a massive fan of Wireit and its caching behavior, so I'm looking for something to live up to that. I have more testing to do. I think Mise defaults to mtime-keyed cache but has an option for content hashing, which it what Wireit uses and makes it quick to undo a change and get a cache hit.
jdxcode
this is probably the better link to what they were asking about: https://mise.jdx.dev/tasks/running-tasks.html#running-on-fil...
mise's sources/outputs is intentionally pretty naive though. It's not bazel/buck2. That may change one day but so far it's more for writing tasks and less trying to be an authoritative build system.
JamesSwift
Devenv is "mise but nix" and is very good. It is currently undergoing a big migration though, so still a few rough edges. I highly recommend checking it out if you find yourself wanting nix at all.
kajman
I don't know what to call this - a "freelancer launch"? It is the best executed one I've seen, though. Maybe even a black-mark on OSS if it does not go well.
antonvs
> Maybe even a black-mark on OSS if it does not go well.
No, because realistically, this is the opposite of what corporations want. If a project is only being maintained by one or two people, that’s a risk, pure and simple. So you look somewhere else for something that matches your needs, with a more sustainable story.
Nothing against the author, but what he’s describing is a business model - just one that’s likely to bring in a negligible amount of money. This is less about open source and more about what kinds of projects society is willing to pay people to work on.
kajman
Corporations seem to rely on key software that just a few people maintain all the time already, but you're right and the bus factor does not look great. Mise is also currently MITMing my shell, along with presumably many other dev machines, so the threat of compromise is pretty scary.
mihaitodor
10th most downloaded Homebrew formula and the maintainer makes ~$600 / month. Not very encouraging for people who are thinking to follow the same path…
jdxcode
$600 was when I was working in a big tech job and while I had a sponsor page I didn't promote it whatsoever. I was surprised people were even willing to give that much given it was obvious I was making good money at my day job.
Now that this is a full time gig for me this has more than quadrupled—this post is a couple of weeks old. Also because I'm offering perks for the first time for people that pitch in. Still not enough to really make a living, but like I said in the post I have a few avenues I am trying out for revenue. I just hope that I can find something that maximizes the time I spend on the OSS tools while being sustainable.
otterley
Mise is number 64, not number 10. Please verify your facts before posting in the future.
https://formulae.brew.sh/analytics/install/30d/
(That said, your observation is well taken.)
jdxcode
this is the leaderboard that matters for CLIs: https://formulae.brew.sh/analytics/install-on-request/30d/
it's 12th now. It was 10th when I wrote this post. GP is just mentioning what I wrote in the blog body.
zaphirplane
How is that counted ? Is it unique installs or counting updates as well It is very very frequently updated
mihaitodor
It doesn’t really matter… My point is that we’re still in a world where such projects are highly unlikely to become sustainable, no matter how popular they get.
avree
Man, that's a weird looking "f" in the font. Why does it have a tail? Feels like someone is trying to inject a company logo/function symbol into the otherwise normal-looking characters.
kajman
> So I left Figma to work on these full time.
The Mise website makes way more sense to me now. I suppose some artistic license is justified when you're at the cutting-edge of the CLI aesthetic and what not.
ggoo
This is great news! I use mise everyday - it's basically muscle memory to type "mise" before a command in many of my projects now thanks to mise tasks
brzz
Pleased for him. I've been an enthusiastic mise user for quite some time, and am keeping an eye on how aube shakes out.
wek
Congratulations! I think that a lot of the value will be in the judgement of the maintainer about the marginal next feature (and saying no to all those other features) ... if software is a stream then the value is in what gets into the stream. That is an AI resistant value and if you can provide it for your project.
dan_sbl
Good luck, and I hope it works out! Make sure you are ready to ride the roller coaster of highs and lows, as there are going to be many. Remember that your time and experience are the most valuable things you have - make sure you're in control of both.
drcongo
I hope this works out - I love mise and sponsor on GitHub already.
hashkb
I had the pleasure of working with Jeff in ... I want to say 2012 - he taught me so much, is a fabulous developer and teammate, and we had some great times together.
Edit: mise rocks.
jdxcode
Feeling is mutual!
slopinthebag
Oooh, bad idea. Bun guy is saying OSS will be written exclusively by AI in 2027, with human authors banned.
Brian_K_White
Are people dinging you because they think you're taking Bun seriously, or because they think you're not?
pseudalopex
I thought it was snarky and added nothing to the discussion.
slopinthebag
Oh, kind of like this comment?
slopinthebag
Probably the former
Not exactly on topic, but I have to endorse mise; it's a really, really great tool that solves a number of different problems.
Example: I was recently working on a large project that needed a specific version of Python, and there's a lot of ways to solve that, but mise was an easy and robust one. But also, the project needed a bunch of different tools to build it, deploy it, do local dev, perform certain maintenance tasks like rotating secrets, work through certain operational runbooks, etc., and mise was an easy and robust way to solve that too. Once you know everyone on the team will have the same tools available, if a runbook would be simpler if you could assume everyone has jq installed, well, just add it your the project's mise config, and now they do. And then when I switched to working on a Java service, and then later a Node service, well, obviously mise was an easy and robust solution there too.
By contrast, I made an effort a year or two back to adopt nix, which (despite starting from a very different place) solves a lot of similar problems, but found it a bit daunting (large, complex, poorly documented, and felt hard to partially adopt), and while I love the concept of nix, as a practical matter I ended up abandoning the effort. But mise was really easy to understand, adopt, and progressively add to an existing project without unduly impacting other team members. (Example: Mise will read existing verion manager configs from tools like sdkman, which makes adopting it over time easier.)
It's got to the point now where I'm using mise in place of Homebrew or other system level package managers for basically all CLI tools. Which feels weird when I think about it, but mise genuinely just feels like the better solution. If mise has a flaw, I haven't stubbed my toe on it yet.