Going Full Time on Open Source

(jdx.dev)

199 points | by thunderbong a day ago ago

42 comments

  • Lazare a day ago ago

    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.

    • jdxcode a day ago ago

      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 a day ago ago

        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 a day ago ago

          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 a day ago ago

            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 a day ago ago

    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!

    • xyzzy_plugh a day ago ago

      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.

      • invalidSyntax a day ago ago

        All these positive reviews really makes me wonder. Maby I should use Mise. The creator looks like he's really in it. Starting it now might be a good option.

    • sangeeth96 a day ago ago

      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 a day ago ago

        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.

    • nextaccountic a day ago ago

      Note, you can install some packages from nix in mise https://github.com/jbadeau/mise-nix

    • JamesSwift a day ago ago

      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.

    • blcArmadillo a day ago ago

      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.

  • mihaitodor a day ago ago

    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 a day ago ago

      $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.

      • senko 18 hours ago ago

        Do not ignore the marketing and (especially) sales part. You're going to be running a business and just the fact that your software is genuinely useful and popular will not bring in the money.

        Don't shy away from pitching companies you see using your tools to pay (note it's a sales pitch: a "here's actual value you get for your spend", not "support us, it's the moral thing to do")

        Thanks for working on open source and good luck with this!

    • zaphirplane a day ago ago

      How is that counted ? Is it unique installs or counting updates as well It is very very frequently updated

      • mihaitodor a day ago ago

        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.

    • otterley a day ago ago

      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.)

  • kajman a day ago ago

    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 a day ago ago

      > 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 a day ago ago

        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.

  • nicbou 9 hours ago ago

    Thank you for mise! I started adding it to my projects, because it removes a lot of the mental overhead of moving between them. I just cd to a project and everything just works.

    The documentation is a little difficult, but LLMs seem pretty capable of understanding it and generating new tasks.

    Good luck with your new endeavour! I have made a similar move in 2020 and it made me a much happier person.

  • avree a day ago ago

    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 a day ago ago

      > 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.

  • brzz a day ago ago

    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 a day ago ago

    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.

  • jdmoreira 17 hours ago ago

    I really really like mise! I've been using it for everything lately. all my repos / projects now start with a mise.toml

  • dan_sbl a day ago ago

    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.

  • ggoo a day ago ago

    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

  • drcongo a day ago ago

    I hope this works out - I love mise and sponsor on GitHub already.

  • hashkb a day ago ago

    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 a day ago ago

      Feeling is mutual!

  • slopinthebag a day ago ago

    Oooh, bad idea. Bun guy is saying OSS will be written exclusively by AI in 2027, with human authors banned.