does it scale to have 1 person approve of all phobos additions?

Jonathan M Davis newsgroup.d at jmdavisprog.com
Tue Mar 20 23:38:16 UTC 2018


On Tuesday, March 20, 2018 22:58:44 bachmeier via Digitalmars-d wrote:
> On Tuesday, 20 March 2018 at 22:09:18 UTC, Timothee Cour wrote:
>
> [...]
>
> No, it doesn't scale, and years of evidence have demonstrated
> that.
>
> I see no way that this will change, and because delegation is off
> the table, the only realistic way for the language to progress is
> to put as much as possible into libraries. From time to time I
> see posts saying more should be added to Phobos, but the reality
> is that stuff should be removed from Phobos.

Well, the kind of improvements that potentially have Andrei as a bottleneck
are generally small. We're talking a function or two at a time here. And the
pros and cons of that situation can definitely be debated, but in terms of
adding anything significant to Phobos, Andrei isn't generally a bottleneck.
Adding modules means going through the Phobos review process, which is an
entirely different beast and one that almost no one seems to want to go
through - or in some cases, part of the problem may be that few enough
attempts have been made recently to include new modules that potential
contributors don't even realize how that works. Either way, we don't have
people coming forward with major contributions to Phobos. All we're dealing
with is a bunch of smaller improvements to Phobos, and while those are
definitely valuable, they're also frequently not the sort of thing where
there's debate about putting it in Phobos vs a third party library - or at
least, you wouldn't create a third party library for that functionality; at
most, it would just fit into an existing library that contains a variety of
functionality, whereas if you're talking about adding large enough pieces of
functionality to add a new module, creating a library for that would
probably make sense.

So, we're really dealing with two separate issues when we start talking
about Andrei being a bottleneck and talking about making major contributions
to Phobos where maybe those contributions should just be third party
libraries.

And as for putting major, new functionality into Phobos, we probably do need
to do a better job of that than we have given that we have some older
modules that we'd like to replace that haven't been, but for most stuff,
there's really no reason that it needs to be in Phobos as opposed to on
code.dlang.org other than the fact that having it in Phobos gives it more
exposure and makes it easier for folks to find. Some of it could go into
Phobos, and there is a debate to be had there with any particular piece of
functionality, but it can also just be on code.dlang.org and work just fine.
In either case, it needs folks to write it and maintain it.

Arguably, if we're looking to improve the situation with major pieces of
functionality being available in D, we need to figure out how to improve the
situation with code.dlang.org and encourage solid contributions there. Some
of that could and should end up in Phobos, but the vast majority of useful
code out there is not going to be in the standard library, no matter what
language you're talking about. So, no matter where the line is exactly for
what should and shouldn't be in Phobos, finding ways to improve
code.dlang.org and encourage contributions there may very well be more
valuable in the long run.

In any case, overall, I'm inclined to think that some of what's managed to
make it into Phobos and a number of the things that some folks push to have
in the standard library (e.g. http stuff or database stuff) should probably
just be third party libraries rather trying to insist that Phobos include
everything and the kitchen sink. I think that our experience thus far has
shown that it's fairly difficult to have everything and the kitchen sink in
Phobos and have it be well-maintained. The issues that led to Andrei
deciding to insist on approving every symbol being added to Phobos are just
part of that, but regardless, in order to have more of a kitchen sink, we
would probably not only need to make adjustments to how we handle PRs for
Phobos, but we would need more people to come forward with major
contributions for the review queue.

In the end, the biggest thing we need is for useful libraries to be written,
be available, and be discoverable by those looking for them. Whether that
code is in Phobos or not doesn't matter in that respect. code.dlang.org is
getting there, but as has been discussed before, there are improvements that
should be made to it to help with all of that, and ultimately, we need folks
who are willing to spend their time writing good code and making it
available, whether we're talking about code.lang.org, Phobos, dmd, or
whatever.

- Jonathan M Davis



More information about the Digitalmars-d mailing list