Thread overview
On Mir parts migration to DRuntime
Jul 01, 2023
9il
Jul 02, 2023
Walter Bright
July 01, 2023

Hi Walter and Dlang Community,

Mir libraries or their parts can be moved to Phobos/Druntime under BSL-1.0. I won't be able to help with mir migration except for general review and coordination with copyright holders. I use D for work but am no longer an active open-source contributor.

  • mir-ion - JSON, Amazon Ion, YAML, CSV, and Msgpack serialization library
  • mir-algorithm - tensors, prices number printing and parsing, interpolation, and algorithms
  • mir-core - a lot of cool stuff, including algebraic types
  • mir-random - random engine and algorithms
  • mir-cpuid
  • mir-optim
  • maybe some other packages as well

Requirements

  • Full backward compatibility up to the namespace until 2025-12-31.
  • Port as it is with minimal changes, including all Mir dependencies up to the module level.
  • Port to a separate namespace, something like core.mir/std.mir or core.ext/std.ext. The namespace has to be short.
  • Mir libraries must be updated in lockstep to depend on Phobos: if a Mir module is ported to Phobos, it must be removed from Mir.
  • All ported public code documentation must be presented on the dlang.org
  • If a non-mir module, for example, std.format, is reworked with mir, it has to add the credentials.
  • All credentials have to be presented (authors, and note that it was ported from Mir)
  • We would need approval from other copyright holders for some modules. Generally, we have to get approval from Symmetry Investments.
  • Mir code in Phobos has to be frozen from any major rework until 2025-12-31. We may add some exceptions. But the general rule is to freeze the code.

Walter, please let me know what you think.

ki9ilia on G post

Kind regards,
Ilya

July 01, 2023
Thank you, this is great news!

But the license is different from the license Phobos uses, and with the conditions it makes the most sense to add your libraries to the dub repository. That way it will be easy to conform to your requirements.
July 02, 2023
They are already on dub.

https://code.dlang.org/search?q=mir

The stated goal appears to be to get them into Phobos to minimize chance of death.

But yeah the conditions being requested are too restrictive to consider as-is.