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.

Reply via email to