2000s: "extend Python with C"
2010s: "extend Python with Python"
2020s: "extend Python with Rust"
I have many conflicting feelings about this progression…
2000s: "extend Python with C"
2010s: "extend Python with Python"
2020s: "extend Python with Rust"
I have many conflicting feelings about this progression…
@jacob in the last few months use uv is addressed more things that people realize. pip, pipx, github actions, and now a docker image.
🤔 I wonder when they have their own python fork.
@webology @jacob … you mean RustPython? https://github.com/RustPython/RustPython It’s been around for years; but it’s quite a bit slower than CPython.
@freakboy3742 @jacob No, I'm aware of it and I wish them luck with it.
I mean the UV people taking a fresh take on it using whatever magic they are working with.
@freakboy3742 @webology @jacob Unrelated to the discussion, but the logo of the project is super cute 😀
@webology @jacob I don’t think the magic is that magic… the magic is money. If you spend money, you can hire people, and *shit* *gets* *done*. Astral’s proving that with packaging; I’ve spent the last week working full time on getting iOS cross compiles working. That’s time that I don’t have unless someone’s (Anaconda, in my case) is paying me to do it.
@freakboy3742 @jacob Exactly that.
@freakboy3742 @webology @jacob this is what makes me nervous about the lack of an obvious revenue stream or a stated business plan: what happens when the investor money dries up?
Can't deny the point you're making, though. People getting paid to maintain a thing gets a lot more done than whatever a community can spare.
@SnoopJ @freakboy3742 @jacob Regarding revenue streams and business plans - I can't speak for the VCs or who they are funding, but these are small investments compared to their overall portfolios. Many have orgs building tools that benefit from it. I heard from several people (no one under the UV umbrella) that they had no pressure to work on the business or revenue side. Their work was advancing other businesses they owned which paid for itself.
@SnoopJ @freakboy3742 @jacob I'm not saying the funding was out of the goodness of anyone's hearts, but they can also write off the debt which is a form of tax savings.
@webology @SnoopJ @jacob If that *is* the play, then it’s a master stroke of getting VC money to do what *we* need, not what *they* want. I just find it hard to believe that “we’ll be a loss leader so your other investments succeed” is an actual investment pitch. Or, they’re pitching a services business, which traditionally VC’s get bored with because they can’t 1000x.
@freakboy3742 @SnoopJ @jacob The US changed our R&D budgets, which are expensed and amortized, with more changes coming next year (depending on what expires, what gets renewed, and what passes, aka it's confusing AF.)
I was told that's why there was a shift in fellowship funding and other more creative ventures like this. You can use some of that tax money to reinvest but it doesn't look the same as saying everyone who builds your product is taxed (aka not taxed) as R&D.
@freakboy3742 @SnoopJ @jacob I am not an accountant and this is not legal advice. I'm just passing along how it was explained to me when I asked and what we have seen from companies I have *not* signed any agreements with.
@webology @freakboy3742 @jacob that's an interesting point, I can see how that arrangement would be preferable to a B2B contract because of said write-offs.
I don't think it's an existential threat to the project or anything, but it's something that I think about, especially in light of the tools being written in not-Python.
@freakboy3742 I'm impressed with how they are managing so much, too. Their output is stability has been impressive.
@webology @freakboy3742 it’s that but it’s not JUST that. Plenty of people get paid to write some pretty terrible software. It’s also taste, and good design, and good execution, and listening to the community, and the benefit of having like a dozen pieces of prior art to learn from, and, and, and …
@jacob @freakboy3742 sure, but it's one of the main ingredients too.
@jacob @freakboy3742 Second mover, moving in across the board, is that what you're saying?
@sgillies @jacob … no? Astral is hardly the *second* mover here - cf pipenv, poetry, pdm, etc etc. But, they’re the first one that has been *funded*, which means it’s not “2 folks fixing bugs on weekends”, it’s “a whole team writing code full time with a purpose”. That makes a *big* difference to the rate of progress. *That* is the point.
You can question whether the money poses a strategic risk if/when it goes away; but you can’t argue the money yields *progress*.
@freakboy3742 @sgillies ha yeah it’s more like the 12th mover than the 2nd. I mean, it’s not even the first that’s been funded.
@freakboy3742 @sgillies @jacob Weren’t there funded teams working on pip/pipenv and the likes?
The leadership and vision (aka product management) are more key than the money. Money without that doesn’t do that much and for something as specialized as this, it may be rather difficult to buy vision no matter what amount of money you throw at the problem.
@jacob @freakboy3742 @sgillies I _want_ to be supportive of and enthusiastic about this work, I think it's great that people are getting paid properly, but it just has neon warning lights flashing "unsustainable" all over it. and the fact that it is being written *assuming* a full time maintenance team — writing Rust — leads me to an inexorable conclusion that the community will all switch to this great option, which will start bitrotting in 10 months when astral flames out
@jacob @freakboy3742 @sgillies the only times I have ever wanted to be wrong about something more badly have been about US federal politics and the pandemic (unfortunately, I was not wrong either of those times)
@glyph @jacob @sgillies Oh - absolutely this. As enthusiastic as I am about the direction uv is going, I *haven't* adopted them anywhere - because I want very much to understand Astral’s intended business model before I hook my wagon to their tools. It's definitely not clear to me how they're going to stay liquid once the VC money runs out. They could get me onboard in a hot second if they published a "This is what we're planning to charge for" blog post.
@glyph @jacob @freakboy3742 @sgillies
Those neon warning lights should have been flashing this whole time anyway, given that the foundational development workflow tools have been almost exclusively relying on people volunteering their time for the last decade or so. If anything, this has been a push toward making the space meaningfully better _now_ and if it results in a multi-stakeholder open source project at the end of this, it's a win-win overall? It's a load-bearing "if" tho.
@freakboy3742 @glyph @jacob @sgillies I haven't adopted uv anywhere for similar reasons. 100% agreed on money being the magic, it turns out you can do a whole lot with 8 hours a day.
@freakboy3742 @glyph @jacob @sgillies Honestly I try to be really open about this stuff in my writing, on podcasts, in 1:1 conversations, Q&A at events, etc. I really have nothing to hide here, and people ask me about it all the time, I just probably haven't done enough proactive sharing.
@freakboy3742 @glyph @jacob @sgillies Charlie did explain their strategy in this interview: https://www.bitecode.dev/p/charlie-marsh-on-astral-uv-and-the
Basically, they are going in a similar market than Continuum: selling provisioning and packaging tools B2B.
Given how much I've seen it cost in corporations, and the friction it introduced, they can pull it off.
But even if they can't, their track record demonstrated enough skill and vision to make a pivot.
@bitecode Thanks - I'll give it a listen. Also - worth noting that Continuum changed its name 7 years ago - it's now called Anaconda (they're my employer :-) )
@freakboy3742 @glyph @jacob @sgillies I won't really try to convince anyone of anything, I'll just share my most honest answer on how I think about this stuff right now. I don't want to charge people money to use our tools, and I don't want to create an incentive structure whereby our open source offerings are competing with any commercial offerings (which is what you see with a lost of hosted-open-source-SaaS business models).
@freakboy3742 @glyph @jacob @sgillies What I want to do is build software that vertically integrates with our open source tools, and sell that software to companies that are already using Ruff, uv, etc. Alternatives to things that companies already pay for today.
@freakboy3742 @glyph @jacob @sgillies An example of what this might look like (we may not do this, but it's helpful to have a concrete example of the strategy) would be something like an enterprise-focused private package registry. A lot of big companies use uv. We spend time talking to them. They all spend money on private package registries, and have issues with them. We could build a private registry that integrates well with uv, and sell it to those companies.
@freakboy3742 @glyph @jacob @sgillies I'm hesitant to share specific examples like that, because we may build something totally different! Or decide that the specific idea isn't good! But part of what we want to do is experiment. So while I worry about people anchoring on any specific idea we share, I also sense and understand a desire for those specific ideas / examples :)
@charliermarsh @freakboy3742 @jacob @sgillies I have heard you say as much on podcasts, and this *could* be quite a sustainable path forward, but the specifics of what and how are actually pretty important. you want to go up against Artifactory and friends, but it’s quite possible that in the course of doing so, you discover that users don’t care about Python so much as Docker, and that makes you heavily prioritize a linux-container workflow, which cuts off native app development at the knees
@charliermarsh +1 on this. The experience with private registries is a bit of a misery. I would be intrigued to see Astral build a "Vercel for Python".
@charliermarsh
I love what you're doing with uv - if you could replace devpi with something super simple and very fast, that supports all the relevant peps, you could eat the internal registry market from the bottom up and iterate from there. We would pay for that. You could call it ir - Internal Registry ;)
@freakboy3742 @glyph @jacob @sgillies
@charliermarsh @freakboy3742 @jacob @sgillies this is just a nightmare scenario that I have made up based on a niche edge case I happen to personally care about a lot, not particularly a likely one, but there are a million like it I could throw out. Until the community knows where this is all going, it’s going to be a point of concern. And I realize that trying to find that path really quickly is hard! I do not read any bad faith into what you’re doing.
@glyph asking Charlie to share specific business plans and ideas is super unfair. There’s real advantage to getting to test stuff out and iterate privately; developing a business model in the open is risky as fuck. It’s fine if you want to withhold judgement but I think right now at this early stage you’re being unfair. @charliermarsh @freakboy3742 @sgillies
@jacob @charliermarsh @freakboy3742 @sgillies later in the thread I did make it explicit that there’s no way to answer these concerns immediately. I will not feel comfortable until the business plan is proven out, that does not mean I expect that it should or even *could* be proven out immediately, and I am sorry if I implied otherwise!
@jacob @charliermarsh @freakboy3742 @sgillies I realize “the specifics are important” could imply the imperative “give me the specifics!” But that’s not what I was trying to say :).
@glyph @jacob @charliermarsh @freakboy3742 @sgillies I have the position that it does not matter and the PSF/core python should act as if astral turns into a burning pile of flames. (Which to be clear, I neither hope nor expects). A lot of open source software was build by failing companies and we still benefit from all the work that went into it.
@glyph yeah you did and I’m sorry for jumping on you before reading the whole thread. I’m just feeling kinda frustrated at the way this conversation is going and I took it out on you. Sorry again. @charliermarsh @freakboy3742 @sgillies
@jacob @charliermarsh @freakboy3742 @sgillies honestly if Charlie said “here is exactly what we will be doing for the next five years, I promise” I might be considerably *more* suspicious, there’s no way that could be committed to publicly right now
@glyph @freakboy3742 @jacob @sgillies Thanks, I genuinely appreciate that you're thinking about this seriously. To some degree what you're describing is just an unavoidable part of trying to build a business -- we might learn something new and our direction could change. It'd be wrong of me to try to convince you that it's impossible. The best I can do is just be honest about how I view the company and what we want to do vs. what we don't.
@glyph @freakboy3742 @jacob @sgillies For example... It's hard for me to imagine a future where we're not extremely focused on Python. It's the community and ecosystem that we know, it's huge and growing, it's where we we're known and where we know users / companies, etc. But again: that's just me being honest about how I view our roadmap / strategy today (and how I describe it to investors too). I think it's the best I can do right now, won't try to convince you of anything more.
@freakboy3742 @glyph @jacob @sgillies But the core of what I want to do is this: build great tools, hopefully people like them, hopefully they grow, hopefully companies adopt them; then sell software to those companies that represents the natural next thing they need when building with Python. Hopefully we can build something better than the alternatives by playing well with our OSS, and hopefully we are the natural choice if they're already using our OSS.
@charliermarsh @freakboy3742 @jacob @sgillies I certainly hope you succeed. I think there are ways that this could go bad, but I don’t think it *needs* to go bad. There are some significant challenges on the way there which need to be addressed as they come, there’s nothing to do or say right now, today, that can fully address those concerns
@charliermarsh Thanks for the response - and totally understand the limitations around sharing specific plans. The general direction definitely sounds promising; but there's a big gap between here and execution :-)
In terms of messaging - I've missed where you've said these things; the one place it isn't laid out (AFAICT) is the Astral blog/website (beyond high level “we believe in fast Python tools" stuff). A "Why should you trust uv/ruff/Astral?” post would go a long way.