On Wednesday, 11 March 2015 at 06:45:17 UTC, Andrei Alexandrescu wrote:
I want to make sure vibe releases are in sync and guaranteed to work with dmd, thus making for a perfectly smooth experience.

How will bundling Vibe with D achieve that goal?

What will ACTUALLY change by bundling Vibe with D?

What happens if a regression occurs in Vibe just before a D release? Do we block the release for the sake of Vibe? What if there's no one around to fix it? We have enough problems with blocking bugs in Dub/Vibe-related components in the dlang.org repo already.

What happens if we discover a regression in Vibe after a D release? Do we make a point release just for the sake of Vibe?

What if Vibe needs to iterate faster than DMD's release cycle?

My question about Vibe API versioning still stands, what if people want to use an older Vibe with a newer DMD?

Precedent shows that Vibe and related components simply do not have a bus factor high enough to not be a liability if included with D.

I am trying to work with you here. We just have different values on what is actually important, or there is something more to this plan that I don't see, something more than just including Vibe in dmd.zip.

We do not have a strong precedent for this. The closest thing we have are things like Dustmite, which are so specialized that they don't matter in this case, and Visual D, which I'm not really sure greatly benefited from the exposure - we've covered one IDE among many, and despite moving the project under github.com/D-P-L, Rainer remains the sole maintainer. And you know the story with DDox.

What is indubitably, actually, very important, and something I'm surprised you haven't pushed for since long ago, is making it EASY to get more things. Dub absolutely must be a part of D, and not today but one or more years ago. There is now a rift in this community, between people who use code.dlang.org and its packages, and those who do not. This is not close to the Tango/Phobos split, but we cannot afford anything like this again.

Coming from a language with a package manager, and then trying to build a project with a dozen dependencies by manually cloning the repositories and making sure they are the correct version, is madness. A package manager encourages people to build many small reusable components, because the overhead of managing each component becomes very small, and this is something we really want.

From this perspective, Vibe itself is not that special. It is one big piece of the puzzle, but its value is greatly diminished in isolation.

You don't need to bring in Vibe in D itself, you need to bring in the entire ecosystem.

Reply via email to