@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 @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.
@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 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.
@charliermarsh @freakboy3742 @jacob @sgillies in a way I feel bad being critical! You and the team are doing great work, I don’t begrudge you for taking money for it, and my concerns are more like “when the investors push Charlie out for poor EBITDA performance in a down market cycle, how is the new management going to be incentivized to maintain things in a way that serves the community’s interest”, which is obviously at least a few years away
@sethmlarson @freakboy3742 @jacob @sgillies kind of a relief to hear that this is a common sentiment, and maybe I will also remain stalwartly anti-uv until a similar milestone
@glyph @sethmlarson @freakboy3742 @jacob @sgillies As much as I hate VC, I find this whole genre of pearl-clutching around uv weird. FOSS projects flame out all the time too. If Frost loses interest, there’s no PDM anymore. Same for Ofek and Hatch(ling).
I fully expect Astral to flame out and us having to fork/take over—it’s the circle of FOSS. To me uv looks like a genius sting to trick VCs into paying to fix packaging. We’ll be better off either way.
@hynek @sethmlarson @freakboy3742 @jacob @sgillies Even in the best case, Rust is more expensive and difficult to maintain, not to mention "non-native" to the average customer here (who presumably knows enough Python to dip into helping out with maintenance if Ofek or Frost wanders off.
@hynek @glyph @sethmlarson @freakboy3742 @jacob @sgillies SAME! Took me five minutes to move to uv in most projects. Will take me 5 minutes to move to vu, pipper, or whatever might be necessary to move to. I don’t think the VC aspect is at all inherently evil but agree the concern of “going all in” which honestly is changing a half dozen lines of your CI/Dockerfile is some big deal.
@hynek @glyph @sethmlarson @freakboy3742 @jacob @sgillies Armin wrote about that here in the footnote: https://lucumr.pocoo.org/2024/8/21/harvest-season/
> However having seen the code and what uv is doing, even in the worst possible future this is a very forkable and maintainable thing. I believe that even in case Astral shuts down or were to do something incredibly dodgy licensing wise, the community would be better off than before uv existed.
He's Rust-fluent though!
@glyph @sethmlarson @freakboy3742 @jacob @sgillies While I'm on board with the "What's the monetisation strategy?" skepticism, I'm also on board with @hynek's point of view here: no matter what happens to the company bootstrapping it, the code is out there now, and we'll collectively figure out a way to pick it up if necessary (FWIW, my bet would be on the problem never coming up due to the VC exit strategy being an eventual sale to an established dev tools player that wants road map influence).
@simon @hynek @glyph @sethmlarson @freakboy3742 @jacob @sgillies Agreed that it seems net positive for Python's tool ecosystem to get a good rejuvenating shot in the arm. Also positively surprised to see the first Python tool exposing a mode that mimics Go's minimum version model (documented at length at https://research.swtch.com/vgo) that I find extremely impressive and next-gen compared to what conda & pip are doing (as someone who tends to lose whole weekends at a time fixing random breakages in 100+ line dep files).
@frank @hynek @glyph @sethmlarson @freakboy3742 @jacob @sgillies the switching cost I worry most about here is documentation and tutorials - if the Python community goes all-in on uv, and uv then fails, that's a metric TON of tutorials, READMEs, YouTube intros etc that would cease to be relevant
@simon @hynek @glyph @sethmlarson @freakboy3742 @jacob @sgillies that’s a good point. The effort to adjust the docs/blog posts/etc is probably larger than that of the actual use. One thing I like about uv is that, if you squint it’s still pip. Won’t matter to the true beginner but 90+% of the time it’s just “put uv in front of whatever you would normally do” which is better than a wildly different interface
@hynek @sethmlarson @freakboy3742 @jacob @sgillies And the difficulty with VC money here is that it can burn out *all* the other projects in the ecosystem simultaneously, creating a risk of monoculture, where previously, I think we can say that "monoculture" was the *least* of Python's packaging concerns.
@glyph @sethmlarson @freakboy3742 @jacob @sgillies Given how much of Python’s ecosystem nowadays depends on Rust, I don’t consider that a valid argument anymore. As Jacob wrote in the initial post, it’s a thing now wherever we like it or not. uv is neither the first nor the last and it shouldn’t be held against it. I’m pretty sure Hatch has a Rust component nowadays too.
@glyph I think the Rust argument is the least convincing. I know every analogy is flawed, but an awful lot of the scientific Python ecosystem depends on C/C++/Cython and I don't think those are "more native" to the average Python developer either.
@glyph @hynek @sethmlarson @freakboy3742 @jacob @sgillies
> Even in the best case, Rust is more expensive and difficult to maintain,
Given someone with similar level of proficiency in both (which is maybe the main/only point you’re arguing), in my (relatively extensive with both) experience Rust will be easier specifically to maintain/grow than Python.