D Language Foundation Quarterly Meeting Summary -- July 23, 2021
Mike Parker
aldacron at gmail.com
Wed Jul 28 06:37:56 UTC 2021
### Background
At the end of 2018, the DLF began hosting quarterly meetings with
representatives from companies using D in production. The
motivation was to provide the companies with a means to directly
communicate their headaches, issues, and ideas to the D
maintainers. Their success is D's success, after all. We could
also use their feedback, based on their experience using D in
production, on moving the language forward.
At first, we didn't have the organizational structure in place to
make things happen, so I was unable to report any progress on
previous issues more often than I would have liked. But that has
changed. With Razvan in place to oversee the progress of priority
Bugzilla issues and fix them where he can, and strike teams now
available to solve those he can't, we're in a much better
position to resolve problematic issues no matter how they come to
our attention (through these meetings, through forum posts,
through Discord chats, etc). And we're slowly seeing our way more
generally to a position where we will be able to resolve broader
issues that don't fit into Bugzilla.
The companies have also given back. Some examples: the HR Fund
for D Ecosystem Tasks came out of these meetings, seeded with a
significant amount from Weka; Symmetry provided funding for the
positions filled by Razvan and Max (Laeeth proposed the general
idea outside of the meetings, but the final result was influenced
by discussions in the meetings); Funkwerk has quietly been
providing time once a quarter for one of their employees to work
on solving issues on projects in the D ecosystem.
Aside from specific outcomes like the above, it's hard to measure
the impact our discussions have had in terms of motivation,
attitudes, inspiration, etc. I suspect that most of the regular
attendees of these quarterly meetings would agree with me when I
say that they have been productive. We may not have been able to
help them solve every issue, and not all of the ideas may have
panned out, but the major benefit from my perspective is that the
meetings have gradually led to improved focus, direction, and
organization to the management of D. It's still a work in
progress, but progressing it is.
At one point, after one of these meetings wrapped up, the DLF
folks hung around a while longer to focus on a couple of
foundation-specific issues. This became a regular thing, and we
soon began inviting the industry folks to stick around if they
wanted. That ultimately led us to start having monthly DLF
meetings from the beginning of this year.
I think there's no doubt that regular face-to-face contact, even
if it's just over video, has significant benefits over text-only
communication. And that's one of the reasons why we invited a few
regular contributors to join us for a discussion of memory safety
at the most recent quarterly meeting, which took place last
Friday the 23rd.
### The participants
Industry reps:
* Iain Buclaw representing GDC
* John Colvin representing Symmetry
* Martin Kinkelin representing LDC
* Mario Kröplin representing Funkwerk
* Mathias Lang representing BPF Korea
* Robert Schadek representing Symmetry
* Joseph Rushton Wakeling representing Frequenz
Contributors:
* Florian (MoonlightSentinel)
* Sebastiaan Koppe
* Dennis Korpel
* Vladimir Panteleev
And from the DLF:
* Andrei Alexandrescu
* Walter Bright
* Ali Çehreli
* Max Haughton
* Átila Neves
* Razvan Nitu
* Me
### Summary
The meeting lasted 2.5 hours. It began on a really interesting
note: when I went one-by-one to the industry folks, none of them
had any major new issues to report. There are still some big,
long-term issues we'll need to deal with at some point, such as
long compile-times in certain codebases, but it was nice to hear
so many "Nothing"'s when I went around the virtual table.
Through the first hour of discussion, we touched on a handful of
different topics. These specific pull requests/bugzilla issues
came up:
* [Bugzilla
#21919](https://issues.dlang.org/show_bug.cgi?id=21919)
* [Bugzilla
#21989](https://issues.dlang.org/show_bug.cgi?id=21989)
* [Bugzilla
#22025](https://issues.dlang.org/show_bug.cgi?id=22025)
* [DRuntime PR #1576](https://github.com/dlang/druntime/pull/1756)
* [libdparse PR
#387](https://github.com/dlang-community/libdparse/pull/387)
Max brought up his ongoing project to get Ali's 'Programming in
D' book onto the website. For anyone willing and able to help him
get it across the finish line, the PR is here:
https://github.com/dlang/dlang.org/pull/3063
At this point, we prepared to open the memory safety discussion.
Mathias was already slotted to participate via his role as a
memory safety contributor, but we invited the other industry reps
to stay around if they wanted to. They all did.
To start it off, Dennis was looking for direction on his [DIP
1035], "@system variables". Based on feedback in the first review
round and his subsequent thinking on the topic, he was uncertain
if the DIP still has merit. Walter, Átila, and Andrei agreed to
consider the DIP and provide feedback on how to proceed.
[DIP 1035]:
https://github.com/dlang/DIPs/blob/master/DIPs/DIP1035.md
The rest of the meeting was focused on DIP 1000. The discussion
touched on a number of issues with the implementation. Some
topics discussed: there are a number of accepts-invalid bugs;
some changes unrelated to DIP 1000 have been lumped behind the
`-preview=dip1000` switch; how to help new D programmers get up
to speed with DIP 1000; the transition path for DIP 1000; and the
relationship of preview switches and breaking changes. Dub also
came up in a tangential discussion regarding an issue in which
dependency configurations can pollute the caller.
Some specific pull requests/Bugzilla issues that were referenced
in this discussion:
* [Bugzilla
#20023](https://issues.dlang.org/show_bug.cgi?id=20023)
* [Bugzilla
#20150](https://issues.dlang.org/show_bug.cgi?id=20150)
* [Bugzilla
#21525](https://issues.dlang.org/show_bug.cgi?id=21525)
* [DMD PR #10951](https://github.com/dlang/dmd/pull/10951)
The discussion eventually led Mathias to pose this question: by
what measure can we definitively declare that DIP 1000 is
"ready"? A consensus was reached rather quickly when Walter put
this forward: when there is no known way to escape a pointer from
a function.
The issues brought up throughout this meeting are now on Razvan's
radar as priorities. That doesn't mean they'll be solved very
quickly, but they aren't going to be forgotten.
At the end of the meeting, I asked the DLF folks to review the
current draft of the vision document, and we decided that we'll
post it on dlang.org under the Community menu rather than on the
wiki.
### Future meetings
Our next monthly DLF meeting should take place on August 27, and
the next quarterly meeting on October 29. We intend to continue
inviting contributors to these meetings to discuss issues that
affect them or topics on which they have demonstrated competency.
In the interest of keeping the meetings manageable, we have to
limit the number of topics and participants, but as time goes by
we hope we can bring a variety of voices in.
More information about the Digitalmars-d-announce
mailing list