August 30
Mike Parker kirjoitti 28.8.2024 klo 10.43:
> I asked who wanted to join me as moderators. Steve and Dennis both volunteered. Átila noted that covered all the time zones.

Great! And also great job from yourself moderationg so far!

> When I announced the new DIP process, the one thing I hadn't yet worked out was how to handle DIPs from Walter and Átila. I believed that if Walter wrote a DIP and could persuade Átila to approve it, that should be enough, and vice versa. But I remembered the big community blowup over the safe-by-default DIP and how we responded to that by requiring Walter and Átila to find someone else to take on their DIP ideas. We'd since decided that was a mistake, but I didn't want to make an arbitrary decision myself about how to handle their DIPs in the new process.
> 
> [snip]

I don't think there's anything in particular wrong with the process. Àtila just happened to make a poor decision when approving that DIP of Walter. If anything, maybe it could help if you *didn't* discuss it face-to-face before making the decision. The forum feedback is all just text without much human element, so it's probably easier to be fair to the DIP if your last-minute personal exchanges about it are also just emails.


> Walter asked if everyone remembered his string interpolation proposal. There was just him, and then everybody else. It was a pretty painful thing for him, all the arguing about it. He didn't like what happened, but he eventually threw in the towel on it. He couldn't fight everybody on it. He still thought it had been a bad idea to give up, but he accepted that the community wanted a different approach.

That was an excellent thing to do.

All this (the whole summary, not just this paragraph) sounds like you (especially Walter but not just him) still weigh community opinion on the DIPs far less than it'd be wise. I get it, it isn't a democracy, but nonetheless how much you respect the opinions of regular users heavily affects the popularity of the foundation and the language. It ought to be only in very rare special cases that you decide against an overwhelming opinion. I see a bit improvement in understanding this point, maybe thanks to IVY, but not as much as I'd like.

Sorry for being harsh. I appreciate that you still keep writing these summaries.

August 30
On Friday, 30 August 2024 at 13:49:09 UTC, Dukc wrote:

>
> All this (the whole summary, not just this paragraph) sounds like you (especially Walter but not just him) still weigh community opinion on the DIPs far less than it'd be wise. I get it, it isn't a democracy, but nonetheless how much you respect the opinions of regular users heavily affects the popularity of the foundation and the language. It ought to be only in very rare special cases that you decide against an overwhelming opinion. I see a bit improvement in understanding this point, maybe thanks to IVY, but not as much as I'd like.
>
> Sorry for being harsh. I appreciate that you still keep writing these summaries.

I can't understand how that's the impression you get from this. I was looking for a solution that would find a balance between the "dictatorial" aspect of approving DIPs authored by Walter and Atila and the input of the community when a DIP is unpopular.

I think what we've settled on will help with that. Had something like this been in place when that safe-by-default DIP was proposed, I expect the outcome would have been very different. It wouldn't have made it to approval without modification. That's the point here.
August 30
Mike Parker kirjoitti 30.8.2024 klo 17.30:
> On Friday, 30 August 2024 at 13:49:09 UTC, Dukc wrote:
> 
> I can't understand how that's the impression you get from this. I was looking for a solution that would find a balance between the "dictatorial" aspect of approving DIPs authored by Walter and Atila and the input of the community when a DIP is unpopular.
> 
> I think what we've settled on will help with that. Had something like this been in place when that safe-by-default DIP was proposed, I expect the outcome would have been very different. It wouldn't have made it to approval without modification. That's the point here.

Right, you do aknowledge the problem and are making honest effort to solve it, yet I still posted criticism almost as if you didn't. I certainly owe details on what about the summary worries me. Let's go.

First off,

> Steve didn't think the bitfields DIP was as controversial as the `extern(C)` functions being safe by default, which was the source of the blowup over that DIP, because not many people were using bitfields. He thought Walter's concerns were a non-issue as nobody would care. The penalty would be that we'd just inherit all of C's problems with bitfields.

There's nothing inherently wrong in this. Steve is probably right, it isn't _as_ controversial as the safe-by-default C functions. But saying that it would lead to _just_ inheriting C's bitfield problems is what worries me. It likely wouldn't result in a wave of ragequits of D, but that doesn't mean it would have no effect on general impression of the foundation. On positive note though, you _did_ decide revising it more before proceeding so there still is progress!

Second, this:

> He said that going forward, accepting a bad DIP would be less consequential than it had been in the past once we had editions. In the worst case, we'd have one thing more to maintain in an intermediate edition before it was fixed. Maybe that was a calculation we could take into consideration. Átila said that was a good point.

You should be at least as worried about the damage to contributor morale on a bad decision as about the damage to the language. Editions do good job limiting the latter but not the former. If you accept that you can see why this attitude is unnerving.

Also, the general idea that you want a better process to avoid such failures, feels like you're using it as a substitute to simply raising the bar of going against community consensus. This also deserves elaboration.

We all know that when Walter starts pursuing an idea he just won't hear "no". It's just his nature. Sometimes it's a virtue - D exists because Walter refused to believe he couldn't implement a C compiler, and also the countless naysayers when he still was working alone on D. It's probably overwhelmingly difficult for him to seriously question those parts of his DIPs he considers central to his visions. Meaning I shouldn't have written "especially Walter" in my last post - sorry about that.

But, the old process already has Átila as the gatekeeper. I think Átila is more capable than Walter to stop and reconsider, and even if he isn't his fixations are different from Walter's. Therefore when the community is virtually unanimously screaming NO NO NO it ought to make him extremely unlikely to apply the green stamp. Or at least to correct his attitudes about that after making one bad decision, without needing a change to the process.

That said, I did miss a few paragraphs when I read the summary. When I check it again, it seems the new process isn't that heavy (discuss it on meeting if unpopular). Also it does address the problem - the usual participants of the meeting are a reasonable representation of the community so as long as you listen to the participants it should work. So I agree the process revision sounds good, even if in my view you shouldn't have had to do it.
August 31

On Friday, 30 August 2024 at 20:36:09 UTC, Dukc wrote:

>

Mike Parker kirjoitti 30.8.2024 klo 17.30:

Thanks for elaborating.

> >

Steve didn't think the bitfields DIP was as controversial as
the extern(C) functions being safe by default, which was the source of the blowup over that DIP, because not many people were using bitfields. He thought Walter's concerns were a non-issue as nobody would care. The penalty would be that we'd just inherit all of C's problems with bitfields.

There's nothing inherently wrong in this. Steve is probably right, it isn't as controversial as the safe-by-default C functions. But saying that it would lead to just inheriting C's bitfield problems is what worries me. It likely wouldn't result in a wave of ragequits of D, but that doesn't mean it would have no effect on general impression of the foundation. On positive note though, you did decide revising it more before proceeding so there still is progress!

I can't speak for Steve, but I can tell you how I interpret what he said. He objected to the bitfields DIP for the same reason others did. Here, he was just expressing his opinion that this wasn't an issue he was willing to plant a flag over. He feels the consequences of it don't go beyond the feature itself and, since he thinks most people aren't going to use it anyway, he isn't going to waste energy fighting over it if it comes to that.

I don't see any disrespect of community opinion in that. And in the end, his input during the meeting on the DIP contributed to the outcome. He was essentially an advocate for the opposition to the proposal.

>

Second, this:

>

He said that going forward, accepting a bad DIP would be less
consequential than it had been in the past once we had editions. In the worst case, we'd have one thing more to maintain in an intermediate edition before it was fixed. Maybe that was a calculation we could take into consideration. Átila said that was a good point.

You should be at least as worried about the damage to contributor morale on a bad decision as about the damage to the language. Editions do good job limiting the latter but not the former. If you accept that you can see why this attitude is unnerving.

Again, I can't speak for Timon, but I can tell you how I interpret this. He was simply pointing out that editions give us more freedom to correct mistakes when we make them. Since editions are intended to encapsulate breaking changes, then we can undo in one edition any mistakes we made in a previous one. That doesn't mean we have a license to go wild, it just means we have more room to maneuver. I son't see anything unnerving about that.

Speaking for myself, I agree with him. Going a step further, I think editions will enable us to test new features without preview flags. We could add a feature in an edition and explicitly label it in the changelog as a preview feature, or maybe have a "preview edition" of preview features. I don't know, I'm just spitballing here. But the point is, if something isn't working, we have the flexibility to improve it or remove it in a future edition without worrying about breaking changes.

>

Also, the general idea that you want a better process to avoid such failures, feels like you're using it as a substitute to simply raising the bar of going against community consensus. This also deserves elaboration.

I want a better process because the old one wasn't working. Period. The DIP process itself was onerous and time consuming. I've seen it described as disrespectful of the DIP author's time. It had to change. I think the new process is much better.

The last piece was deciding on an established process for evaluating Walter's and Atila's DIPs and, since it came up in the meeting, controversial DIPs. I wanted that because I want to make sure that we have solid footing for any approval or rejection, regardless of opinion in the forums.

There has to be a balance here. It cannot be the case that forum opinion overrides maintainer decisions, and it must be the case that forum opinion is considered in the evaluations. I think the solution we've arrived at gets us close to that middle ground. Some of the members in any DIP review meeting will certainly represent opinions raised in the forums.

Like you said, we've got some respected voices on the team. We can add more voices with relevant experience or knowledge regarding specific DIPs when needed. Their role is to put the brakes on when they believe a proposal is flawed and should not go forward. If we then get to the point where they're satisfied that the flaws have been overcome, then the DIP can move forward on a solid basis.

Whether a DIP ends up approved or rejected after this process, the idea is that we'll have established a solid rationale either way.

Regarding contributor morale, we do consider it. Of course we do. That's what motivated us to go through Ucora's program, to expand our meeting team, to overhaul the DIP process, to start inviting stakeholders from the community to the planning sessions we have when we're discussing issues related to their interests.

It's why these days I push Walter and Atila for more verbosity in their rationales when they approve or reject a DIP. They are both very terse when they initially let me know their decision. I'm the one writing the announcement in the forums, so I want to make sure I understand the rationale fully and that it adequately addresses potential questions. I've learned the hard way that even uncontroversial decisions need a solid rationale that everyone can understand.

Anyway, I'm sorry that you feel we've been disrespectful of community opinion. I hope that over time the new process has a more positive impact.

August 31

On Saturday, 31 August 2024 at 08:29:57 UTC, Mike Parker wrote:

>

Regarding contributor morale, we do consider it. Of course we do. That's what motivated us to go through Ucora's program, to expand our meeting team, to overhaul the DIP process, to start inviting stakeholders from the community to the planning sessions we have when we're discussing issues related to their interests.

It's why these days I push Walter and Atila for more verbosity in their rationales when they approve or reject a DIP. They are both very terse when they initially let me know their decision. I'm the one writing the announcement in the forums, so I want to make sure I understand the rationale fully and that it adequately addresses potential questions. I've learned the hard way that even uncontroversial decisions need a solid rationale that everyone can understand.

Ok, maybe I just read more to the nuances of the summary than there actually is. And in any case, clearly you do consider my points important already.

August 31
On 8/30/24 22:36, Dukc wrote:
> 
>  > He said that going forward, accepting a bad DIP would be less consequential than it had been in the past once we had editions. In the worst case, we'd have one thing more to maintain in an intermediate edition before it was fixed. Maybe that was a calculation we could take into consideration. Átila said that was a good point.
> 
> You should be at least as worried about the damage to contributor morale on a bad decision as about the damage to the language. Editions do good job limiting the latter but not the former. If you accept that you can see why this attitude is unnerving.

Rejecting a DIP can be one of those bad decisions.

Anyway, obviously I prefer good decisions over bad decisions,
August 31
On 8/31/24 17:41, Timon Gehr wrote:
> On 8/30/24 22:36, Dukc wrote:
>>
>>  > He said that going forward, accepting a bad DIP would be less consequential than it had been in the past once we had editions. In the worst case, we'd have one thing more to maintain in an intermediate edition before it was fixed. Maybe that was a calculation we could take into consideration. Átila said that was a good point.
>>
>> You should be at least as worried about the damage to contributor morale on a bad decision as about the damage to the language. Editions do good job limiting the latter but not the former. If you accept that you can see why this attitude is unnerving.
> 
> Rejecting a DIP can be one of those bad decisions.
> 
> Anyway, obviously I prefer good decisions over bad decisions,

but language development is an incremental process and it helps if progress does not have to be fully monotone.

(Accidentally hit send.)
September 02
Timon Gehr kirjoitti 31.8.2024 klo 18.44:
> On 8/31/24 17:41, Timon Gehr wrote:
>> On 8/30/24 22:36, Dukc wrote:
>>>
>>>  > He said that going forward, accepting a bad DIP would be less consequential than it had been in the past once we had editions. In the worst case, we'd have one thing more to maintain in an intermediate edition before it was fixed. Maybe that was a calculation we could take into consideration. Átila said that was a good point.
>>>
>>> You should be at least as worried about the damage to contributor morale on a bad decision as about the damage to the language. Editions do good job limiting the latter but not the former. If you accept that you can see why this attitude is unnerving.
>>
>> Rejecting a DIP can be one of those bad decisions.

Good point. It's easier to accept a DIP with popular pressure behind when there's a way to back off if necessary.

1 2
Next ›   Last »