On Tuesday, 7 July 2020 at 12:04:43 UTC, Steven Schveighoffer
wrote:
Guys, this is all open source, all licensed identically. There
are ways to solve this. Practically speaking, just because DMD
depends on Mir, doesn't mean that Mir has control over how the
dependency works. DMD can depend on a specific version of Mir,
upgraded when reasonable (i.e. it should take a PR change to
DMD for upgrading which code exactly is depended on) and if
something changes in the future, you can fork it, or move back
to using libc. This way, the code is only maintained in one
place unless something catastrophic happens.
Well, for avoidance of doubt, I'm not personally opposed per se
to the use of 3rd party libs in DMD or druntime/phobos. It just
struck me as important that everyone understands clearly each
other's concerns.
What I think provoked concern was not the idea of using
mir-algorithm as a 3rd party lib, but this alternative suggestion:
The second solution is to move `mir.bignum` and `mir.parse` to
DRuntime/Phobos. In this case, I would like to preserve the
`mir.`
namespace and the same authority and veto right for this part of
the codebase as I have at Mir Org.
... where what's being asked is a rather stronger commitment, and
not really workable: if the code's going to live in D foundation
repos then any maintainer or veto rights are going to be
provisional. It's just not reasonable for the maintainer of 2
stdlib modules to be able to unilaterally veto changes, or force
breaking change.
There's no reason per se why 3rd party libs can't be used under
the hood to provide implementations, but druntime and phobos
maintainers need to be able to make their own API guarantees.