TRASCRIZIONE 🔗
WEBVTT
00:00:00.160 --> 00:00:02.000
And so it had very high consensus.
00:00:02.000 --> 00:00:17.280
So, I mean, this still leaves 25% of people that are like upset about it, but we have this process where everyone comes to the meetings, we have all the points of view in the room at the same time, everyone gets to have their say, sometimes for way too long, and then finally we come to a vote, and people are persuaded or they're not persuaded.
00:00:17.280 --> 00:00:24.480
The idea that we missed something, there was an oopsie, and the design has defects in it that no one realized before is just incorrect.
00:00:24.480 --> 00:00:29.920
All of the things that have been said since the CD and since the disc went out were said before either one of them went out.
00:00:30.239 --> 00:00:30.320
Right.
00:00:30.320 --> 00:00:32.479
There has not been substantial new information.
00:00:32.479 --> 00:00:36.159
That's one of the reasons why I point to this as a fundamental breakdown in the process.
00:00:36.399 --> 00:00:48.560
What it feels like to me is happening is people that were salty about it, who have a lot of pull in the community, went and lobbied with people that they thought they would get a friendly year with on those national bodies, and they just changed people's minds.
00:00:48.560 --> 00:00:50.000
That's what it feels like happened to me.
00:00:50.000 --> 00:01:00.560
I don't have any proof of that, but that that's I mean, when you see no technical difference and yet you see the votes change radically, like, well, people's opinions changed, but the technical details didn't change, so what's going on there?
00:01:10.079 --> 00:01:16.159
Welcome to ADSB the podcast, episode 312, recorded on October 28th, 2026.
00:01:16.159 --> 00:01:22.480
My name is Connor, and today with my co-host Bryce, we chat with Zach Lane for part two of this three-part conversation.
00:01:22.480 --> 00:01:37.760
In this episode, we chat about the drama in the C ISO committee relating to C26 contracts and how the DIS draft international standard for C26 failed when it went to a vote.
00:01:53.373 --> 00:01:55.694
So uh is this it?
00:01:55.694 --> 00:01:57.134
Is this the end?
00:01:57.453 --> 00:01:58.093
The drama.
00:01:58.093 --> 00:01:58.974
The drama.
00:01:58.974 --> 00:02:09.280
I had to mess up the rice because like I I guess full uh full disclosure, not full disclosure, for potentially you know, I mean I haven't been the last one.
00:02:12.080 --> 00:02:22.960
Right, I mean I have the I love I love the time at the Fourth meeting, but then like I skipped a meeting last year.
00:02:22.960 --> 00:02:27.680
I was actually sadly at the to find the ones.
00:02:27.680 --> 00:02:32.080
was like the 2025 Kona meeting.
00:02:32.080 --> 00:02:41.199
And I was not able to play that movie because I may have had a is your wedding! It was your wedding! It wasn't twenty twenty five, it must have been twenty twenty six.
00:02:41.520 --> 00:02:44.719
Wait, uh the Kona Kona meetings are usually beginning of the year.
00:02:44.719 --> 00:02:45.599
My wedding was in November.
00:02:45.759 --> 00:02:48.080
It was in it was No, this was this was one in November.
00:02:48.080 --> 00:02:48.719
Yeah, yeah.
00:02:48.719 --> 00:02:50.080
Yeah.
00:02:50.319 --> 00:02:50.960
Okay, you were in the middle of the year.
00:02:51.120 --> 00:02:55.199
Yeah, it was that was my ten my ten year my ten year anniversary on the committee.
00:02:55.199 --> 00:03:01.919
It would have been the perfect meeting for me to like end close that that that that chapter, but no, I I had to go anyways.
00:03:03.280 --> 00:03:05.759
This meeting coming up is I think my ten-year anniversary, now that I think about it.
00:03:05.759 --> 00:03:06.960
I didn't even think about that to right now.
00:03:07.199 --> 00:03:08.000
Did you join after this one?
00:03:08.000 --> 00:03:09.439
Did you join after me then?
00:03:09.680 --> 00:03:10.240
Yeah, yeah.
00:03:10.240 --> 00:03:12.800
I think uh a year or two after you, maybe longer.
00:03:12.800 --> 00:03:13.280
Yeah.
00:03:13.280 --> 00:03:24.560
You were you were the one that gave me my orientation to the first meeting I went to, and that you gave me advice like I continue to give to brand new attendees, which is go to every room and see what they're like because you're not gonna believe how different they are from each other.
00:03:24.560 --> 00:03:28.719
And sure enough, at the end of the week, sometimes at such bases, people were like, so were they different?
00:03:28.719 --> 00:03:30.479
And they were like, oh my god, they were so different.
00:03:30.479 --> 00:03:33.039
It's like not even like it's the same organization.
00:03:33.360 --> 00:03:36.879
I I don't I do not think I will be at another C committee meeting.
00:03:36.879 --> 00:03:37.439
Okay.
00:03:37.439 --> 00:03:38.800
Probably probably ever.
00:03:39.039 --> 00:03:48.960
Alright, well, so he so you you I was trying to give like a little rapid fire update on everyone's like committee involvement, and then Bryce been on a little tangent, which has never happened before, surprisingly.
00:03:48.960 --> 00:03:50.639
Uh that's a unique experience.
00:03:50.639 --> 00:03:53.520
My point is I haven't been involved in years.
00:03:53.520 --> 00:03:57.759
Bryce has been going, but stepped down as Luke chair a couple years ago.
00:03:58.080 --> 00:04:02.000
I'm I'm a backbencher now, which means I throw tomatoes at the uh at the leadership.
00:04:02.400 --> 00:04:06.159
And then I knew we were having this interview today, and I was like, is Zach still involved?
00:04:06.159 --> 00:04:07.199
Because I'm not involved, so I don't know.
00:04:07.199 --> 00:04:08.560
I don't I don't even read the papers.
00:04:08.560 --> 00:04:10.400
I don't see whose names are on the papers and whatnot.
00:04:10.400 --> 00:04:17.360
And then Bryce said, Yes, Zach is involved, and I was like, fantastic, because I do frequent the C subreddit from time to time.
00:04:17.360
Load full transcript
--> 00:04:17.759
Right.
00:04:17.759 --> 00:04:25.360
And uh I saw the dumpster fire that is the contracts mess slash C26 being.
00:04:25.360 --> 00:04:29.600
So I don't even set it up because I don't even know how to describe it.
00:04:29.600 --> 00:04:31.839
And then we'll get Zach to answer all our questions.
00:04:32.160 --> 00:04:47.759
So the the way that the standard actually gets made is the the committee produces a committee draft, and then we vote out that committee draft, and then that gets sent out to balloting for approval by the national bodies, which is all the various countries.
00:04:48.399 --> 00:04:51.120
So the CD goes out and they we get comments back, and we have to do that.
00:04:51.120 --> 00:04:52.240
Yeah, we get comments, that's right.
00:04:52.240 --> 00:04:56.240
And then there's another thing called a DIS that gets sent out, and that's the thing that gets voted on.
00:04:56.240 --> 00:04:56.399
Yeah.
00:04:56.800 --> 00:04:59.279
What is D D I S's draft international standard?
00:04:59.279 --> 00:05:00.959
The draft international standard, yes.
00:05:01.439 --> 00:05:06.160
And there's the the F DIS, which is the final draft international standard, which is like I think what they call it after the voting.
00:05:06.160 --> 00:05:09.519
I'm not sure about the F versus non-f DISC, but something like that.
00:05:09.759 --> 00:05:11.360
You gotta love processing committees.
00:05:11.519 --> 00:05:12.240
Uh yeah.
00:05:12.560 --> 00:05:19.920
So so first it goes out for, as Zach said, for the sort of like beta testing, like like you know, beta release where we get comments back on it.
00:05:19.920 --> 00:05:26.639
And then after that, we go and we send out, you know, we make some changes, and then we send out the final, the final draft version.
00:05:26.639 --> 00:05:32.639
We send out the committee's final draft version, hopefully, the disc ballot.
00:05:32.639 --> 00:05:42.399
And I don't think a disc ballot has failed before, although maybe No, the it has not ever failed before, and in fact, there's never been a no vote before.
00:05:42.399 --> 00:05:53.759
I thought that in the I think I thought that in eleven or oh three that the Irish NB like said that they were gonna no vote if they didn't it take out Autoputter, which was horribly broken.
00:05:54.000 --> 00:05:55.120
Yeah, but then it got taken out.
00:05:55.279 --> 00:05:55.439
Yeah.
00:05:55.439 --> 00:05:56.560
So they didn't no vote.
00:05:56.560 --> 00:06:04.000
So I don't think there's ever been a no vote vote before, and uh this time there were twelve, nine no votes.
00:06:04.000 --> 00:06:04.240
Yeah.
00:06:04.800 --> 00:06:06.000
There were twelve in favor, nine eight.
00:06:06.319 --> 00:06:14.319
One of the things that I did during my career on the committee was I worked very hard to recruit new national bodies.
00:06:14.319 --> 00:06:26.079
And the reason I wanted more national bodies on the committee was I did not like the idea of a single NB having of a single NB's no vote being enough to tank the standard.
00:06:26.079 --> 00:06:32.160
So if we had a lot more NB's, then we could have one or two no votes.
00:06:32.160 --> 00:06:40.079
So we wouldn't have this tyranny of like a single a single NB, which in some cases can be a single person being able to have a veto on the standard.
00:06:40.079 --> 00:06:46.959
And I'm very happy that we now have like enough NB's that that you know we we can sustain one or two or even three no votes.
00:06:46.959 --> 00:06:49.360
However, we had a we had a few more than that.
00:06:49.360 --> 00:07:16.720
And there's a whole separate drama about the the the US delegation abstained, but the US C plus plus committee, the US C committee wanted to vote to approve, but the US C committee has a parent organization that through a series of unfortunate events decided to overrule the uh US uh committee.
00:07:16.720 --> 00:07:18.959
So there's sort of two interesting things that happen here.
00:07:18.959 --> 00:07:22.800
One, there's like a very big procedural breakdown here.
00:07:22.800 --> 00:07:29.120
I think regardless of what you think about contracts, this never have sh should have gotten to this point.
00:07:29.120 --> 00:07:38.959
If there was this much sustained opposition, we, like the leaders of the committee, should have made sure that that it was addressed before it got to this stage.
00:07:38.959 --> 00:07:40.560
So clearly some rules were.
00:07:41.120 --> 00:07:41.920
there really wasn't, right?
00:07:41.920 --> 00:07:49.199
I mean we had we had we had lots of people that were very opposed to some of the aspects of contracts.
00:07:49.199 --> 00:07:54.079
Some for reasons that a lot of people I think identified with and thought were valid reasons.
00:07:54.079 --> 00:07:58.000
Some for reasons that seemed specious and were just like seemed rhetorical to me.
00:07:58.000 --> 00:08:01.839
But you know I don't really I don't really know a a lot about the contract stuff in detail.
00:08:01.839 --> 00:08:04.079
Like I I I'm I wasn't involved in those papers.
00:08:04.079 --> 00:08:12.480
I I will use contracts sometimes probably if it gets in you know if this if this gets resolved and we end up with contracts I'll probably use it a little bit but if we don't have it I'm not going to miss it.
00:08:12.480 --> 00:08:15.680
So don't don't think that this is some you know ideological thing for me.
00:08:15.680 --> 00:08:22.720
But um But ultimately, like there were people that were definitely opposed, and some of the reasons seem more reasonable than others.
00:08:22.720 --> 00:08:31.519
But what kept happening was every time we voted, the consensus grew until maybe at the end there was some noise in the consensus, maybe it went down a little bit, but it was always very, very high.
00:08:31.519 --> 00:08:38.399
We're talking about like 75%-ish of people in favor when usually consensus is considered two-thirds, right, not three-quarters.
00:08:38.399 -->
00:08:40.320
And so it had very high consensus.
00:08:40.320 --> 00:08:46.080
So, I mean, this still leaves 25% of people that are like upset about it, but or maybe it was a smaller number than that.
00:08:46.080 --> 00:08:47.120
I'm I'm not sure exactly.
00:08:47.120 --> 00:09:01.200
But the point is that like we have this process where everyone comes to the meetings, we have all the points of view in the room at the same time, everyone gets to have their say, sometimes for way too long, and then finally we come to a vote, and people are persuaded or they're not persuaded.
00:09:01.200 --> 00:09:09.600
And the idea that we missed something, there was an oopsie, and the design has defects in it that no one realized before is just incorrect.
00:09:09.600 --> 00:09:15.919
Like all of the things that have been said since the CD and since the disc went out have were said before either one of them went out.
00:09:16.240 --> 00:09:16.320
Right.
00:09:16.320 --> 00:09:18.559
There has not been substantial new information.
00:09:18.559 --> 00:09:23.919
And that that is why that's one of the reasons why I point to this as a fundamental breakdown in the process.
00:09:23.919 --> 00:09:32.320
And what's interesting, if you read the comments, which you and I can read, but the general public cannot, because this is not an open and transparent process.
00:09:32.320 --> 00:09:33.200
This is ISO.
00:09:33.360 --> 00:09:33.519
Right.
00:09:33.759 --> 00:09:39.039
Um but if you read the comments, yes, the majority of the comments are about contracts.
00:09:39.039 --> 00:09:47.600
But there are some comments on from people from NBs that voted no that say, yeah, we we think a contract is bad, we should take contracts.
00:09:47.600 --> 00:09:49.519
But also here's some other things that we think about.
00:09:49.840 --> 00:09:51.279
Yeah, reflection was one of the things I heard mentioned.
00:09:51.519 --> 00:09:53.919
Yeah, reflection senders, there's a couple other things.
00:09:53.919 --> 00:09:58.559
And this that that's sort of what I'm referring to.
00:09:58.559 --> 00:10:03.279
That there's we've never had no votes in the past, we've never had this quantity of no votes in the past.
00:10:03.279 --> 00:10:21.840
Clearly, something has broken down in our process that a lot of people felt strongly enough to vote no at this stage, not with a lot of new information, but with information that had already been surfaced, but they were just not convinced that this standard was baked enough, or they felt like they weren't heard enough.
00:10:21.840 --> 00:10:38.799
I've heard you know that there are some people that say that that the policies and norms that the committee has been using for a few years have been sort of suppressing minority voices, and that this is those minority voices making themselves heard.
00:10:38.799 --> 00:10:51.679
There's some people who point to the fact that the stakehol the stakeholder model that actually votes on the standard, which is national bodies, is not the same as what votes to ship the draft out.
00:10:51.679 --> 00:11:05.279
That you know, you could have it be the case where you know 80% of the people in the room vote in favor of a thing, 80 per 80% of the experts, 20% vote against, but those 20% represent 12 national bodies.
00:11:05.279 --> 00:11:22.320
Um but but usually like one part of our process is to not just look at the numbers, but also to look at who like the national body positions before like the convener will usually go and ask the national bodies, you know, you know, we saw that somebody from your NB voted no on this.
00:11:22.320 --> 00:11:23.919
Does this represent a national position?
00:11:23.919 --> 00:11:25.679
Would you vote no on the standard on this?
00:11:25.679 --> 00:11:35.360
And for this to have happened at the scale that it happened really, I think, indicates a breakdown of trust and faith and communication on the committee.
00:11:35.840 --> 00:11:39.759
So I I don't I don't think that I mean, well, I don't get the impression that's what's going on anyway.
00:11:39.759 --> 00:11:53.600
I I don't know if you may be right about some or all of that, but my impression is that what happened was and especially because if you look at how the national bodies voted or the the way that they were producing comments from the CD to the dis, right?
00:11:53.600 --> 00:11:58.799
So the the first draft before we have the comments and after we resolve the comments in the second draft is the DIS, right?
00:11:58.799 --> 00:12:02.720
So between those two, all that happened was consensus got greater, right?
00:12:02.720 --> 00:12:06.960
Like all the comments that were addressed addressed some of those issues that people had.
00:12:06.960 --> 00:12:08.799
And there were some that obviously were not addressed.
00:12:08.799 --> 00:12:11.600
We don't we don't take every issue and just radically change everything.
00:12:11.600 --> 00:12:16.799
Sometimes an issue gets rejected because people say that's out of scope or we're gonna do it later or whatever it is.
00:12:16.799 --> 00:12:30.639
And um and so like if you look at the kind of straw poll kind of votes that we had before that, you will see that like a bunch of the votes changed between those two drafts in a way that doesn't make any sense.
00:12:30.639 --> 00:12:32.799
Like there's no new technical information, but they changed.
00:12:32.799 --> 00:12:46.960
And so what it feels like to me is happening is people that were salty about it, who have a lot of pull in the community, went and lobbied with people that they thought they would get a friendly year with on those national bodies, and they just changed people's minds.
00:12:46.960 --> 00:12:48.480
That's what it feels like happened to me.
00:12:48.480 --> 00:12:59.600
I don't have any proof of that, but that that's what I mean, when you see no technical difference and yet you see the votes change radically, like, well, people's opinions changed, but the
technical details didn't change, so what's going on there?
00:12:59.600 --> 00:13:09.200
And so I I kind of think like if you have the system where all the technical people come into the same room and talk about it, and now we have virtual attendance.
00:13:09.200 --> 00:13:17.919
So especially if you have subject matter expertise or interest in a particular thing, it's very easy to get an invite for just one session or for the whole meeting remotely or whatever.
00:13:17.919 --> 00:13:32.879
And if you come for just the session that you care about or just the day you care about, you know, it if it's in the wrong part of the world, it might cost you a night of sleep, but that's like that level of participation isn't there from people that are then going and saying like it's fine, but then it's not fine later on with the same technical stuff.
00:13:32.879 --> 00:13:36.159
It it it it it smells it smells like something's off in Denmark.
00:13:36.159 --> 00:13:37.600
It's it does not smell right to me.
00:13:37.679 --> 00:13:56.480
Like I I think so, but I I also like we for a long time have assumed that voting things into the draft and voting the draft out were sort of the be-all and end-all, and that the rest of it was procedure that we like were for that was forced upon us by ISO.
00:13:56.480 --> 00:14:02.720
Like back in the day, we used to take plenary vote by NB, not by individual expert.
00:14:02.720 --> 00:14:02.879
Right?
00:14:02.879 --> 00:14:04.240
And that actually was.
00:14:04.240 --> 00:14:11.679
And that actually was it well, maybe it was in play when I started, and I just don't remember.
00:14:11.679 --> 00:14:13.200
But that actually is a good idea.
00:14:13.759 --> 00:14:15.519
That was in in in plenary that was the case.
00:14:15.759 --> 00:14:15.919
Yeah.
00:14:15.919 --> 00:14:16.799
That's actually my own.
00:14:17.039 --> 00:14:20.000
Oh no, actually, it was actually something weird, it was a weird hybrid of that.
00:14:20.000 --> 00:14:23.759
It was NBs get a vote, and then everyone from Insights also gets a vote.
00:14:23.759 --> 00:14:24.879
Which is really weird.
00:14:24.879 --> 00:14:27.679
Like, why does the US Insights is the US organization?
00:14:28.399 --> 00:14:37.200
It's because, and I I have railed on this before, but now have this one beautiful week where I am unemployed and can speak more freely.
00:14:37.200 --> 00:14:41.200
The the stakeholder model is fundamentally broken.
00:14:41.200 --> 00:14:50.399
Neither of those neither of the two stakeholder models, either like a committee of experts, neither a committee of experts nor a committee of 300 experts.
00:14:50.399 --> 00:14:59.600
Neither a committee of 300 experts nor a collection of national bodies is representative of the C ecosystem as a whole.
00:14:59.600 --> 00:15:06.240
Um I like the the cost of what has happened here is not great.
00:15:06.240 --> 00:15:12.480
This is gonna delay the C 26 standard, it's probably gonna be the C 27 standard.
00:15:12.480 --> 00:15:24.879
It's gonna delay it at least four to five months, maybe more, because we're assuming all all assumptions about the timeline now are on the basis that we'll be able to reach some agreement in Brazil.
00:15:24.879 --> 00:15:33.039
And I think the Brazil meeting is gonna be consumed by finger pointing and getting to the bottom of what happened here.
00:15:33.039 --> 00:15:34.559
And I'm I think that's a good thing.
00:15:34.960 --> 00:15:35.679
Well maybe.
00:15:35.679 --> 00:15:38.240
So so there's an there's another way it could go, though, right?
00:15:38.240 --> 00:15:39.600
I I understand what you're saying.
00:15:39.600 --> 00:15:49.679
Like, and a lot of people have this fear that, oh, we're gonna have to go back and yank out contracts, or we're gonna have to go back and like achieve consensus some other way and do this whole long process, and maybe the whole week will be taken up by it and so forth.
00:15:49.679 --> 00:15:51.440
But there's another way it could go, right?
00:15:51.440 --> 00:16:00.559
Which is that we could say at the very beginning of the the first day, let's talk about this as much as we want for today or for the first half of today, and then let's vote.
00:16:00.559 --> 00:16:06.559
And if it doesn't get different consensus than it did before, let's just move on with our lives and pretend this didn't happen.
00:16:06.559 --> 00:16:07.600
Like, who cares, right?
00:16:07.600 --> 00:16:14.000
We'll just we'll just this will be 26, the implementers are already implementing it, and then we'll just make it 29, and we'll vote then.
00:16:14.000 --> 00:16:17.440
And if I mean to not to not actually publish a standard?
00:16:17.440 --> 00:16:18.720
Yeah, we'll just skip one.
00:16:18.879 --> 00:16:34.639
Yeah, I read in the there's a paper that got published that I'll link that was had like a bunch of different authors, and it said one of the options was just like skipping C26, which I thought was like Well, it's not it's not skipping C plus plus 26, it's skipping ISO's C plus plus 26.
00:16:35.039 --> 00:16:35.440
That's the thing.
00:16:35.440 --> 00:16:40.639
So we've we basically already produced a PDF independent of ISO that says what C plus 26 is, and it's already out there.
00:16:40.639 --> 00:16:41.120
Well right.
00:16:41.120 --> 00:16:42.399
So I want to talk about it.
00:16:42.399 --> 00:16:49.679
Stamps a particular PDF that says no, this is the official one, and they get to charge you money if you if you pay for it.
00:16:49.679 --> 00:16:58.799
But like other than then, you know, I don't know who's buying that ISO standard these days, but but like other than the fact that ISO puts a stamp on it, like we don't actually need that.
00:16:58.799 --> 00:17:03.840
And there's there's even an argument to be made that we don't need ISO at all.
00:17:03.840 --> 00:17:04.319
Right.
00:17:04.400 --> 00:17:06.160
That that that that's what I strongly believe.
00:17:06.240 --> 00:17:06.400
Yeah.
00:17:06.400 --> 00:17:13.359
So I'm not advocating for that necessarily, but what I'm saying is like I don't think that it's obviously going to cause a big delay.
00:17:13.359 --> 00:17:15.119
I think there's a question of whether it will.
00:17:15.119 --> 00:17:24.079
But but yeah, it it I think the probable thing is that people are gonna want to talk about it for way too long, and it's gonna take them a whole bunch of of uh that week, if not the whole week.
00:17:24.079 --> 00:17:39.200
But there's also the possibility that we say, okay, well, the people that really want to hash this out, you go off in a room and and you kind of you know work on it until you've got something for everyone else to talk about in plenary, and then everyone else goes off to their other rooms, and maybe we make progress that way, even if it's gonna take a long time.
00:17:39.200 --> 00:17:39.920
So who knows?
00:17:40.160 --> 00:17:43.119
We could we the other option is we could just go to F Dis.
00:17:43.119 --> 00:17:49.680
One of the one of the features of F Dis is on a DIS ballot you can vote yes, no, or abstain.
00:17:49.680 --> 00:17:54.319
On an F DIS, all NBs have to vote and they have to vote either yes or no.
00:17:54.319 --> 00:18:01.279
And so we we would and and the can the the barrier for what's required is a little bit lower.
00:18:01.279 --> 00:18:04.799
So there were a bunch of NBs, including the US, that abstained.
00:18:04.960 --> 00:18:05.279
Yeah.
00:18:05.519 --> 00:18:08.799
So I I want to touch a little bit more on the question of ISO.
00:18:09.119 --> 00:18:18.559
I just want to throw I just want to throw my my acronym that I came up with, ISO I know, which is ISO in name only, inspired by the Rhino Republican in Name Only.
00:18:18.559 --> 00:18:20.079
ISO I know, folks.
00:18:20.079 --> 00:18:24.240
Uh it's uh I'm just throwing it out there in case anybody needs an acronym for whatever we do next.
00:18:24.240 --> 00:18:25.839
Or C does next.
00:18:25.839 --> 00:18:28.240
I shouldn't say we there, because I don't have a dog in this fight.
00:18:28.240 --> 00:18:34.720
I'm just eating my popcorn, listening to this back and forth, being like, oh boy, are the ADSP listeners in for a treat.
00:18:35.680 --> 00:18:38.799
So I for once I can say that I'm unemployed.
00:18:38.799 --> 00:18:48.000
My views do not represent the position of my previous employer or my future employer or my current non-existent employer.
00:18:48.000 --> 00:18:58.160
And I've said this before, and I'll say it louder and more specifically here, that I think that the C committee, I think actually all of the programming languages should exit ISO.
00:18:58.160 --> 00:19:01.119
And yes, it is possible to do so.
00:19:01.119 --> 00:19:03.920
I think it can be negotiated and arranged with ISO.
00:19:03.920 --> 00:19:11.279
It does not mean that we do not continue publishing standards as ISO, because ISO does not want to compete with other standards organizations.
00:19:11.279 --> 00:19:19.200
And because of that, ISO has this fast track submission process by which an external standards body can publish their standard through ISO.
00:19:19.200 --> 00:19:28.319
And I think that that's a route that we can do, but the advantage is that if we exit ISO, we can own our process.
00:19:28.319 --> 00:19:31.279
And there's a few things that are fundamentally broken with the process.
00:19:31.279 --> 00:19:35.440
One, it is not an open and transparent system.
00:19:35.440 --> 00:19:44.480
And a lot of people like l like you know make a point of this that like, you know, the the the papers, the minutes, like there's large parts that are not public.
00:19:44.480 --> 00:19:55.119
And I'm not saying that in the future that we would make everything public, because there is an argument that it does have a chilling effect on on people if every every everything that they say in the meeting is broadcast out to the internet.
00:19:55.119 --> 00:20:12.000
However, what people don't realize is that the current status quo, where we're allowed to publish the papers openly, where we're allowed to have some amount of information openly, every couple of years, ISO tries to take that away from not just us, but all JTC standards.
00:20:12.000 --> 00:20:22.319
And there have been pushes recently that there's the parent body that the C committee is a part of, is called JTC One, which is the joint technical committee for all the tech standards.
00:20:22.319 --> 00:20:27.200
And they have to fight with the rest of ISO to have the levels of openness that we have today.
00:20:27.200 --> 00:20:39.359
And even then, the level of openness that the C committee has, if JTC One knew about that level of openness, they would probably crack down on it because it's technically not really kosher.
00:20:39.359 --> 00:20:44.000
It's just sort of like a status quo that's been necessary for evolving the language.
00:20:44.000 --> 00:20:48.880
But a crackdown could come at some point in time, and and they've tried to in recent years.
00:20:48.880 --> 00:20:54.000
The other thing is that the stakeholder model is just wrong.
00:20:54.000 --> 00:21:07.440
The model that we use, where it's a committee of experts at some points in time, and then it's you know, national bodies at some other points of time is just not reflective of the C ecosystem.
00:21:07.440 --> 00:21:13.200
And no other programming language uses this stakeholder model to make decisions.
00:21:13.200 --> 00:21:18.559
Some of them have, you know, a small committee or panel of decision makers.
00:21:18.559 --> 00:21:22.880
Sometimes it consists of representatives from both the vendors and the community.
00:21:22.880 --> 00:21:29.200
In some cases, it's where there's a voting body, but it's a voting body of like a core developers, as in the case of Python.
00:21:29.200 --> 00:21:30.880
There's a lot of different models out there.
00:21:30.880 --> 00:21:34.079
None of them have this model where
national identity matters.
00:21:34.079 --> 00:21:44.480
And I do not think that your opinion on C should be a factor of what country you live in or what country your company is in.
00:21:44.480 --> 00:21:59.839
And in particular, there have been two events in the past couple of years in which the majority of companies on the committee and the USNB's voice has been significantly suppressed that really troubled me.
00:21:59.839 --> 00:22:05.279
The first is we had a convener election, a convener election in which I did not run for convener.
00:22:05.279 --> 00:22:06.799
I had no horse in this race.
00:22:06.799 --> 00:22:09.920
We had two candidates for convener.
00:22:09.920 --> 00:22:15.039
One candidate was nominated by the U.S., one candidate was not nominated by the U.S.
00:22:15.039 --> 00:22:21.200
Due to an obscure rule, because there was a candidate nominated outside of the U.S.
00:22:21.200 --> 00:22:25.759
by somebody that was not by an NB that was not the U.S., that candidate won by default.
00:22:25.759 --> 00:22:39.599
So instead of having a chance for the national bodies to vote on two candidates and pick which of the candidates was more qualified, we picked a candidate solely because this was the candidate that was not from the U.S.
00:22:39.599 --> 00:22:44.640
And the committee did not have a chance to vote on these two candidates based on their merit.
00:22:44.640 --> 00:22:56.559
The decision was made solely based upon where a particular person lived, or more accurately, on what national body they they chose to join and were able to join.
00:22:56.559 --> 00:23:02.079
And the second thing that happened is with this vote, the within the U.S.
00:23:02.079 --> 00:23:08.799
delegation, which is the largest delegation and represents most of the major tech companies and most of the major vendors.
00:23:08.799 --> 00:23:13.759
So every major vendor is represented on the C committee through the U.S.
00:23:13.759 --> 00:23:20.319
delegation, and every one of the biggest companies in the world is represented by the U.S.
00:23:20.319 --> 00:23:21.039
delegation.
00:23:21.039 --> 00:23:26.960
And also the majority of the members of the committee, the majority of the committee members are from the U.S.
00:23:26.960 --> 00:23:29.599
delegation, and they all share one national body vote.
00:23:29.599 --> 00:23:30.480
The U.S.
00:23:30.480 --> 00:23:34.079
committee voted to approve the standard.
00:23:34.079 --> 00:23:35.200
Now, the U.S.
00:23:35.200 --> 00:23:39.920
committee doesn't actually get to vote on the C standard.
00:23:39.920 --> 00:23:40.559
What the U.S.
00:23:40.559 --> 00:23:47.759
committee gets to do is they get to make a recommendation to a parent organization called the Insights Executive Board.
00:23:47.759 --> 00:23:53.519
And then the Executive Board gets to decide whether to go with that recommendation or not.
00:23:53.519 --> 00:23:57.680
And almost always that parent body has gone with that recommendation.
00:23:57.680 --> 00:24:00.000
But in this case, it did not.
00:24:00.000 --> 00:24:09.279
And they also did not communicate that they did not go with this decision until it was late enough in the process that this could not be overturned.
00:24:09.279 --> 00:24:16.559
So there was a lot of secret meetings and communications in which the majority of the members of the U.S.
00:24:16.559 --> 00:24:19.039
delegation were not aware that the U.S.
00:24:19.039 --> 00:24:21.440
was going to vote to abstain.
00:24:21.440 --> 00:24:23.599
And at one point their U.S.
00:24:23.599 --> 00:24:27.759
was going to vote to disapprove, even though everybody in the U.S.
00:24:27.759 --> 00:24:32.240
committee had voted and thought that our position was going to be to approve the standard.
00:24:32.240 --> 00:24:36.559
And there was a lot of back and forth about this, and some things were rectified.
00:24:36.559 --> 00:24:42.720
But at the end of the day, for a second time, you know, people's voices and votes were taken away.
00:24:42.720 --> 00:24:44.880
So we did not get to vote on a convener.
00:24:44.880 --> 00:24:45.599
The U.S.
00:24:45.599 --> 00:24:50.480
delegation did not have their vote on C26 recorded properly.
00:24:50.480 --> 00:24:54.160
And all of these to me are just symptoms of a fundamentally broken process.
00:24:54.160 --> 00:25:16.799
And so I think that I think that the committee as a whole should figure out how to negotiate an exit and establish a separate, nonprofit foundation, specifically like and Standards Institute for lack of a better term, similar to like the Python Software Foundation or the model that Rust uses, or that any of these other languages, like web standards too, have a separate system.
00:25:16.799 --> 00:25:28.720
Establish our own system with our own policies and procedures that is more open, more transparent, has less arcane rules, and has a stakeholder model that's actually representative and lets us make decisions.
00:25:28.720 --> 00:25:31.759
And I think that if that's not done, then C will die.
00:25:31.759 --> 00:25:38.640
So I would encourage everybody to go lobby your local national body and C committee representatives.
00:25:39.039 --> 00:25:44.640
So there's a couple of other things that are like really specific to ISO that are like problematic.
00:25:44.640 --> 00:25:59.119
Like one of them is if you have someone, you know, we have this code of conduct, and if you break it and you do some truly awful stuff to people at the at one of the committee meetings, there is no process or there is no mechanism by which you can be essentially told like you're not welcome here, right?
00:25:59.119 --> 00:26:00.799
Like it doesn't matter what you do.
00:26:00.799 --> 00:26:06.799
Like because the the national bodies are supposed to handle this kind of thing internally.
00:26:06.799 --> 00:26:10.319
And then if you if you escalate to ISO, they're like, well, that's a national body thing.
00:26:10.319 --> 00:26:23.119
Like
we don't we don't we don't have any control of the individual membership, that always comes from the national bodies, and frequently the national bodies, well, I shouldn't say frequently, the the biggest national body of the US has a bunch of member organizations, and they let them do that internally, and they say the same thing.
00:26:23.119 --> 00:26:24.880
They're like, well, we don't have any control over membership.
00:26:24.880 --> 00:26:31.200
People aren't members of the national body for the United States, they're members of NSIS directly, they're members through their membership organization.
00:26:31.200 --> 00:26:35.839
And so that that's bad for like people feeling comfortable to come to meetings.
00:26:35.839 --> 00:26:42.000
If we want to have, and I I do, I think we should have broader participation from kind of rank and file programmers.
00:26:42.000 --> 00:26:49.759
Uh, and that that really limits that if people are gonna be even occasionally doing bad actions that that are just like given a pass, right?
00:26:49.759 --> 00:26:54.079
Like there's a certain group of people just will not come to to your meetings if that's if that's the case.
00:26:54.079 --> 00:27:04.160
And then there's also this thing of like, you know, we have this remit to make this PDF that specifies what's in the C programming language.
00:27:04.160 --> 00:27:10.559
And what is in the language is restricted to exactly what is in the language proper.
00:27:10.559 --> 00:27:15.759
So something like a package manager cannot be part of the current standard, right?
00:27:15.759 --> 00:27:23.759
We had an effort for a while to have like uh an ecosystem standard as well that would have stuff like that in it, but that that ended up not coming to the same.
00:27:23.759 --> 00:27:25.359
I sorted that effort famously.
00:27:25.359 --> 00:27:34.240
Well, and and I don't I don't actually know any of the details of of why it's it's not happening, but the person who was spearheading it kind of stepped away, and uh like I said, I have no idea why.
00:27:34.240 --> 00:27:38.640
So there may have been like ISO-specific reasons for that as well that I don't know.
00:27:38.640 --> 00:28:02.240
But but the point is that like if you were able to say like, well, you know, a modern programming language should have certain things in it, and a standard library is an important element of it that we have, but there's also other important elements like a package manager or a build m maybe build system or whatever thing, or or even just like the the agreed-on conventions that build systems have to conform to if we don't want to have like uh a build system so the official one for C.
00:28:02.240 --> 00:28:06.160
And we've been doing those kinds of things in an ad hoc way, right?
00:28:06.160 --> 00:28:34.319
Like people come together and they'll write papers for like, you know, a bunch of the CMake folks were were involved in this, I should call them the Kitware folks, and you know, they
were saying, like, well, you know, it would be nice if we could write CMake and and upstream patches to Ninja and Make and so forth that that expect this kind of format, this like particular JSON format for this particular kind of build product, and it'd be nice if all the compilers would generate that build product that same way so that they can be consumed by these other tools, and then they all got on the same page and they did part of that, right?
00:28:34.319 --> 00:28:35.279
And so that's great.
00:28:35.279 --> 00:28:42.960
But the thing is that the kind of scope that people are willing to do that, uh at which people are willing to do that, is is is very limited, right?
00:28:42.960 --> 00:28:54.559
Because you you have this limitation inherent to any effort along those lines, which is how much does it cost an implementation to do it, and how do they justify that as a business expense to their management, right?
00:28:54.559 --> 00:29:07.519
And so if I work at Red Hat and I'm working on GCC, how can I say like, well, I want something like, I don't know, portable BMIs for modules, and there's a good business reason for that, like it's very hard to justify to anybody, right?
00:29:07.519 --> 00:29:10.319
And so we end up having non-portable BMIs.
00:29:10.319 --> 00:29:31.119
But maybe if we had as part of this this notion of how C works, the broader ecosystem, and we could say, like, well, we want BMIs to have the certain guarantees for portability, you know, maybe not across all compilers and across all architectures, but some kind of portability guarantees, and let's see if we can do that, or some kind of build or package management kind of formats that we want.
00:29:31.119 --> 00:29:52.960
And so people, you know, at KitWare and at Microsoft and at at you know like Red Hat and places like that who are who are who is whose job it is to implement these things, they want to know that they're not just like spending 18 sprints in a row on the same feature that ultimately people end up not adopting, and their management is like, never again will I let you run off and and spend all my money this way.
00:29:52.960 --> 00:29:57.279
And so you really need the standard to get behind stuff like that, or a standard.
00:29:57.279 --> 00:30:03.759
And you know, if you weren't under ISO, you wouldn't have this narrowing of what the remit can be, which I think is problematic.
00:30:04.160 --> 00:30:06.240
And also, there's a huge overhead.
00:30:06.240 --> 00:30:09.920
Like we ship on a three-year cycle, the C committee.
00:30:09.920 --> 00:30:31.200
And and a large part of that is because there's a huge procedural overhead to everything we do, to how we we actually turn the standard into the final document and ship it out the door, and it's this arcane process that requires multiple levels of approval, and then it has to be sent off to ISO, and then we have to argue with them about how we formatted our PDF, because they would really just prefer.
00:30:31.200 --> 00:30:33.920
Can you please just send us this thing as a Word document?
00:30:33.920 --> 00:30:37.119
That would really that would really be how we would like to operate.
00:30:37.119 --> 00:30:55.039
Despite the fact that famously back in the like late 1990s, early 2000s, there was a huge drama on ISO about the open office like document format because open document format Microsoft uh may have packed the committee a little bit with experts back in the back in the day.
00:30:55.039 --> 00:30:59.279
Anyways, it's funny that they use that they use word docs for everything.
00:30:59.279 --> 00:31:07.519
But the do we think in this day and age, given the nature of our industry today, that a three-year cycle makes sense?
00:31:07.519 --> 00:31:09.359
And I think the answer is obviously no.
00:31:09.359 --> 00:31:10.799
I think we need to ship faster.
00:31:10.799 --> 00:31:13.359
And people are gonna hear me saying ship faster.
00:31:13.359 --> 00:31:16.240
A certain camp is gonna hear me as saying we should ship more stuff.
00:31:16.240 --> 00:31:19.759
I didn't say we should ship more stuff, I just said we should ship faster.
00:31:19.759 --> 00:31:24.559
I think that we should ship more incrementally and we should be able to rev faster.
00:31:24.559 --> 00:31:28.960
Almost every other language revs faster and is able to get updates out faster.
00:31:28.960 --> 00:31:33.519
And C's inability to do this is one of the things that's holding us back.
00:31:33.519 --> 00:31:39.200
There's a lot of small stuff, small changes and fixes that take like three years to deploy.
00:31:39.200 --> 00:31:50.160
And vendors, understandably, are hesitant to roll out those changes before the final standard gets shipped because they don't know whether they're going to be tweaked.
00:31:50.160 --> 00:31:56.880
And in this m this creates a long delay on when just like fixes get out to users.
00:31:57.279 --> 00:32:03.200
And especially because many shops are like one or two standards behind all the time because of their own internal processes, it it's a very long cycle.
00:32:04.000 --> 00:32:04.160
Yeah.
00:32:04.160 --> 00:32:15.200
And and so like I think to remain a competitive language, to remain an important language, C ⁇ has to be able to evolve with less overhead.
00:32:15.200 --> 00:32:17.440
And that that's not going to happen to RISO.
00:32:17.759 --> 00:32:21.920
And so the the overhead in the current process is more or less fixed at two meetings, right?
00:32:21.920 --> 00:32:26.640
Like we have two meetings every three-year cycle, and if we had a two-year cycle, we would still have two meetings.
00:32:26.640 --> 00:32:29.440
And so it would be a much larger overhead.
00:32:29.440 --> 00:32:32.799
So if we ship more often, we would actually ship less stuff, just inherently.
00:32:33.200 --> 00:32:33.920
Which some people would like.
00:32:33.920 --> 00:32:37.440
But but we what I would really like is you know, Rust ships twice a year.
00:32:37.440 --> 00:32:41.119
If we could ship once a year, that would probably that that would be a big improvement.
00:32:41.119 --> 00:32:41.759
And which is the same.
00:32:41.920 --> 00:32:47.279
Well, that would mean one meeting of with the current system, one meeting of changes and two meetings of bookkeeping, right?
00:32:47.279 --> 00:32:48.880
Like we I don't think we could manage that.
00:32:49.359 --> 00:32:53.200
Yeah, it would be impossible to to to accelerate to to even that cycle.
00:32:53.599 --> 00:32:53.839
Yeah.
00:32:53.839 --> 00:32:56.160
You could do it every 15 months, maybe.
00:32:56.160 --> 00:33:02.000
Right, like every four meetings, you could have half the meetings for for work and half the meetings for for overhead, but that's even that's a lot.
00:33:02.000 --> 00:33:23.680
But I mean, yeah, I mean, I've thought for a long time that maybe because of the overhead, like, and because we have this problem that uh and I'm I'm maybe arguing against myself, you'll you'll see in a second, but like we we have this problem right now that you know you get the three-year cycle, and a lot of times towards the end of that cycle, last two or three or four meetings, people are like, uh I I gotta get my thing in, and and people have objections, like, well, whatever, man.
00:33:23.680 --> 00:33:29.440
I just get my thing in, and they start like really advocating for stuff that's not fully baked sometimes.
00:33:29.440 --> 00:33:29.839
Yep.
00:33:29.839 --> 00:33:31.119
And and it's just human nature.
00:33:31.119 --> 00:33:37.039
I just I'm not, you know, I'm not pointing the finger, I've done it myself, and and I realize that I'm doing it, and you know, I try to mod moderate that.
00:33:37.039 --> 00:33:43.599
But but the thing is that like when you know you're gonna have to wait four years instead of a year, it's a big deal, you know?
00:33:43.599 --> 00:33:44.079
Yeah.
00:33:44.079 --> 00:33:47.519
And so so and that all has to do with that amount of overhead, right?
00:33:47.519 --> 00:33:57.759
And so shortening the cycle does make sense for that problem, and and you know, another thing that might ameliorate that a little bit is just having a longer cycle so you have more time to do stuff.
00:33:57.759 --> 00:34:07.119
And so you end up with that less of like fewer things that get sub suggested are like in the last year if you have a four-year cycle or five-year cycle instead of a three-year cycle.
00:34:07.119 --> 00:34:26.880
But like, yeah, that would be so much more painful to wait five years when you wanted something to to you want some new thing, especially if you had something like Reflection, which, you know, I think the the version of Reflection we got in 26 is great, but I've been playing with the all of Barry's changes for, you know, he's got a he's got a branch of LVM he maintains that has these papers implemented in it.
00:34:26.880 --> 00:34:39.119
And um, I'm getting it's actually funny, I've been I've been working on something that I'm gonna propose using the 29 features, and like as he's writing papers, he's telling me about it, I'm like, well, it'd be great, that would fix this problem that I have.
00:34:39.119 --> 00:34:44.159
And he's like, Well, okay, let me just sit down with Claude for a while and like generate the new changes.
00:34:44.159 --> 00:35:06.079
So he's like literally one day he was like, Oh yeah, well, uh so I the the exact example was I said, you know, I want to be able to detect when I'm in this this, you know, I want to be able to open a constex, a constant valve rather block at the end of a class declaration, and based on what's already declared in the class or defined in the class, the defined members so far, I want to be able to take those and generate some code from that, right?
00:35:06.079 --> 00:35:08.000
And so that's gonna add an extra interface.
00:35:08.000 --> 00:35:12.239
This is for an iterator interface replacement for the CRTP way of doing it before.
00:35:12.239 --> 00:35:22.639
And so I said, well, one of the problems is one of the most common ways that people write operator equals is friend bool operator equals, you know, left right equals default, right?
00:35:22.639 --> 00:35:28.320
And I said, so if someone writes that, like they don't write it in the member form, but in the free function form, I can't see it.
00:35:28.320 --> 00:35:31.360
He's like, oh, well, I can just add a thing that tells you about member functions.
00:35:31.360 --> 00:35:32.480
And I was like, cool.
00:35:32.480 --> 00:35:38.639
And then literally the next day, I just pulled the changes, did a rebuild, and I'm using it.
00:35:38.639 --> 00:35:41.440
So it's it's kind of amazing how fast he's able to do these things.
00:35:41.440 --> 00:35:43.840
Now he's got some automation helping him do it.
00:35:43.840 --> 00:35:49.199
But but like if I had to wait five years for these things, I would be pulling my hair out, you know.
00:35:49.199 --> 00:35:57.840
So you know, I I think a shorter cycle would be nice, and it's definitely impossible with ISO to make it a reasonable thing to do a shorter cycle with all the bookkeeping.
00:35:57.840 --> 00:36:12.159
But I I will say, like, even if we didn't do the ISO cycle, I would still want to have some kind of early review feedback mechanism like we do that takes up those two meetings where we we send it out to people and we say, like, hey, give us detailed notes and we're gonna fix the things that we think are fixable.
00:36:12.159 --> 00:36:12.480
Yeah.
00:36:12.480 --> 00:36:15.039
I think that that's like a really valuable part of the process.
00:36:15.440 --> 00:36:16.480
Most languages do this.
00:36:16.480 --> 00:36:21.039
Most languages have some sort of beta release process.
00:36:21.440 --> 00:36:23.119
Yeah, but the way we do it isn't a beta.
00:36:23.119 --> 00:36:24.480
That's that's that's distinct, right?
00:36:24.480 --> 00:36:28.480
I mean a beta is actually like something is
implemented here, play with it and tell us what you think.
00:36:28.480 --> 00:36:30.800
This is actually just like look at the spec.
00:36:30.800 --> 00:36:33.199
So it's it's harder for people to do this kind of review.
00:36:33.199 --> 00:36:37.199
It would be nice, I think, nicer if we had an actual working prototype that people could play with.
00:36:37.519 --> 00:36:46.880
Yeah, I mean, uh I would imagine yeah, I I would imagine that would be an important part of our process to keep would be would be the the sending back comments.
00:36:46.880 --> 00:36:58.000
And it and in fact, I would one thing we could do if we were making our own process would be whatever the stakeholder model is, if you are a stakeholder and if you want to remain a stakeholder, you need to send back some comment.
00:36:58.000 --> 00:37:01.679
We need to, we need to like know that you've actually reviewed this thing.
00:37:01.679 --> 00:37:22.719
You know, I don't know exactly how how that, you know, it doesn't have to be a hard rule, but like in spirit, if we had some person or organization that was one of the stakeholders and they were just consistently not just voting thumbs up, looks good to me, with no comments, then it's like that you just make it a part of the culture of like that's not what we're looking for.
00:37:22.719 --> 00:37:31.360
We're looking for people who are gonna really actually look over this and make sure that you know we've asked you to give feedback while it's there's still time to make changes.
00:37:31.360 --> 00:37:37.599
We don't want to learn a year down the road that actually, oh, this is broken or we didn't want this, and why didn't you ask us?
00:37:37.920 --> 00:37:38.159
Yeah.
00:37:38.159 --> 00:37:44.559
I think that the worst feedback I've ever gotten when I asked someone to do a technical review of anything is uh no, it looks good.
00:37:44.559 --> 00:37:51.599
I'm like, no, that's it it it either you didn't read it or or you you have just no opinions on technical things.
00:37:51.599 --> 00:37:53.199
Why did I ask you to review this?
00:37:53.920 --> 00:37:57.840
So are you using uh are you using the AI Mup Sarah?
00:37:58.000 --> 00:37:58.400
Wait, wait, wait.
00:37:58.400 --> 00:38:01.679
Should we before we transition to a different topic here?
00:38:01.679 --> 00:38:03.119
Uh we gotta put like a bow.
00:38:03.119 --> 00:38:08.960
You you see, this is why, you know, Bryce is the talker and I'm the the storyline crafter, you know.
00:38:08.960 --> 00:38:11.920
He just like immediately like, oh, AI squirrel, you know?
00:38:11.920 --> 00:38:16.079
Like what is that uh insert clip from up where the dog sees the squirrel.
00:38:17.199 --> 00:38:17.599
Speak!
00:38:17.760 --> 00:38:21.360
Hi there did that dog just say hi there?
00:38:21.599 --> 00:38:22.159
Oh yes.
00:38:22.159 --> 00:38:24.559
My name is Doug.
00:38:24.559 --> 00:38:27.199
I have just met you, and I love you.
00:38:27.199 --> 00:38:29.679
My master made me this
collar.
00:38:29.679 --> 00:38:33.760
He is a good and smart master, and he made me this collar so that I may talk.
00:38:33.760 --> 00:38:34.480
Squirrel!
00:38:35.599 --> 00:38:38.800
Uh what's so what's the what's gonna happen?
00:38:38.800 --> 00:38:41.199
Are we just we're just waiting and seeing, you know?
00:38:41.519 --> 00:38:45.840
So I mean I can I can say I think one of two things is almost certainly gonna happen.
00:38:45.840 --> 00:38:56.719
And those two things are we're going to yank out contracts and then resubmit another CD or DIS or whichever whichever form we have it in.
00:38:56.719 --> 00:39:00.559
So first draft and get a bunch of comments or second draft or whatever.
00:39:00.880 --> 00:39:04.239
Does it have to go to C D or does or can we just send it to NFC?
00:39:04.480 --> 00:39:05.119
That's that's why I don't know.
00:39:05.119 --> 00:39:06.559
I mean because this has never happened before.
00:39:06.559 --> 00:39:10.719
I'm not there's probably a process that I've just I'm not familiar with, so I really don't know what what happens.
00:39:10.719 --> 00:39:16.000
But but I I think like we're gonna send out another version of it without without contracts is a very likely outcome.
00:39:16.000 --> 00:39:27.679
And I think the other out likely outcome is people are gonna vote again in that room, see that it still has the same consensus, and then a bunch of people are gonna object to making changes, and then we're not gonna know what to do at that point.
00:39:27.679 --> 00:39:30.400
And then it's gonna have to be like people at the convener level.
00:39:30.400 --> 00:39:33.519
There's like uh a convener, but there's a bunch of co-conveners for the first time.
00:39:33.519 --> 00:39:38.800
So there's like a group of people that they're making decisions at the top of leadership level these days.
00:39:38.800 --> 00:39:45.199
Probably they're gonna go and have some kind of a discussion about it and and then tell us like what they think we should do to proceed.
00:39:45.199 --> 00:39:46.639
But I I don't know what that would be.
00:39:46.639 --> 00:39:50.320
But I I think that those are the two likely things to happen in terms of what people in that room are gonna do.
00:39:50.559 --> 00:39:51.920
Were the Reddit comments correct?
00:39:51.920 --> 00:40:05.039
Because like I said, I'm very uninformed, so you uh I'm asking the experts here, were they correct though in saying that a bunch of other features and stuff in the standard are built on top of contracts, and so like when you say yank No, only one.
00:40:05.280 --> 00:40:16.239
Only one, so it's not that it's gonna have to But the one can be specified in terms of contracts or not, and we'll just have to go back to there's a previous version of it where it was not specified in terms of contracts, we'll just have to revert back to that.
00:40:16.239 --> 00:40:20.800
It's not a huge it there's work to be done, but it's not like a stumbling block.
00:40:21.199 --> 00:40:35.440
So so to answer the question, so if the disc is either approved or disapproved, but technical changes are required based on the comments, then an F disk becomes mandatory.
00:40:35.440 --> 00:40:42.400
I think that I think that it is correct that C has never had a no vote before.
00:40:42.400 --> 00:41:04.960
However, I do think we've had an F DIS before, and I think that was because we had approved, we had an approved disk ballot, but we had meaningful comments, and that may have been the auto-putter con comments where Ireland had voted, and I think it was Ireland had voted to approve, but it said, hey, this thing kind of looks broken.
00:41:04.960 --> 00:41:11.679
So if you need to make changes to your disc, then you have to go to F Disc.
00:41:11.679 --> 00:41:18.079
And then F Disc has a accelerated voting period.
00:41:18.079 --> 00:41:36.320
Only editorial comments are allowed during the voting period, and the F DIS is a yes or no vote, and you need a two-thirds majority of the P members of the committee, and you need not more than one quarter of the total votes cast to be no's.
00:41:36.320 --> 00:41:49.760
And if that fails, then it just gets sent back to the to the technical committee, and they they go through the whole process again of sending out a diss and sending out a C D.
00:41:49.760 --> 00:41:54.639
So if we took an FDIS and it failed, it would mean a delay of almost a year.
00:41:54.639 --> 00:42:01.199
But we don't have but if we make changes to the document, we don't have to go through another CD and a disk ballot.
00:42:02.000 --> 00:42:02.159
Okay.
00:42:02.719 --> 00:42:15.280
So so if we if we send out an F D, if we'd prepare a draft, we would probably send out a draft sometime by like the end of the year, and then there would probably be an FDIS ballot in the first two months or so of the new year.
00:42:15.280 --> 00:42:27.519
I guess there's some there's some period of time that's needed for so this meeting's November, so we're probably not talking about the F Disc going out until December, and then ICE is probably not gonna submit it until like January or so.
00:42:27.519 --> 00:42:36.079
So we we might have an answer on whether C27 is gonna be published by the first the first meeting of 2027.
00:42:36.079 --> 00:42:57.280
And and if if it's if the F if we can't get an F disk disc to pass, then it really seriously threatens the the continued operations of the committee, because then the committee has to make this decision about do we do we try to publish a standard or do we just keep working on 29?
00:42:57.280 --> 00:43:05.840
And if we say we're gonna try to publish a 27 standard after a failed FDIS, then that's gonna eat at least a year of time for C29.
00:43:05.840 --> 00:43:10.880
And then people are gonna be like, okay, should we push back C29 for another year?
00:43:10.880 --> 00:43:23.519
And if we decide that no, we're not gonna publish the standard, we're just gonna publish the 29 standard,
there's gonna be a whole host of people who are gonna say, no, my industry for regulatory reasons or whatever reason, we need a published ISO standard.
00:43:23.519 --> 00:43:29.840
We can't just have this thing that's an informal, you know, PDF that you threw up on on some website.
00:43:29.840 --> 00:43:31.840
And uh yeah, it's not gonna be great.
00:43:31.840 --> 00:43:34.000
So we really need an F disk to pass.
00:43:34.320 --> 00:43:39.199
Yeah, and because of all that, I mean I think there's a whole lot of people that are like, you know what, I don't care about contracts as much.
00:43:39.199 --> 00:43:44.800
You know, I mean there there's a there's a core of people that really love contracts and are very passionate about it.
00:43:44.800 --> 00:43:56.320
And there's some of the people that I think are really broadly respected on the committee, and you know, one or two that aren't, but but but I mean I think that like the like those people are very passionate about it.
00:43:56.320 --> 00:43:59.440
And I think everyone else is kind of like, yeah, but I mean, like, I don't really need this.
00:43:59.440 --> 00:44:04.639
I Assertions, and that's not the whole story, that's not a very accurate thing, but a lot of people still have that attitude.
00:44:04.639 --> 00:44:07.840
So so I think that that that's why I said that one first.
00:44:07.840 --> 00:44:11.280
That I think the most likely outcome is that we're gonna actually just yank them.
00:44:11.840 --> 00:44:26.559
Honestly, if if we just rebalot it right now, just with an F disc with no changes, we might get an approval by some thin margin solely because solely Well, but nine against is more than twenty-five percent.
00:44:26.559 --> 00:44:28.000
That's the Yeah.
00:44:28.000 --> 00:44:29.920
Yeah, that's you you're right, you're right.
00:44:29.920 --> 00:44:30.960
Against Yeah.
00:44:31.119 --> 00:44:55.440
And so I mean I think that like even if you got two-thirds for and then that many people against, I mean, that's you know, we would consider that to be questionable consensus if there was like a bunch of of strongly against people in the room that were like, you know, it was two-thirds in favor and then a quarter strongly against or something, and then people would be like, okay, look, you all need to go off by yourselves, like the people who wrote this paper and the strongly against people, you need to come to a better consensus and come back.
00:44:55.440 --> 00:44:55.840
Right?
00:44:55.840 --> 00:44:59.920
That's that's a a likely thing that a r someone leading a particular room would say.
00:44:59.920 --> 00:45:07.360
So uh it's not an unreasonable thing, I think, you know, to to try to gain more consensus amongst the national body votes.
00:45:07.360 --> 00:45:22.159
But my fear is that if the way we got to those national body votes was not technical, but rather political, that is to say someone went around and campaigned for this thing, even when there's no real substantive
technical changes, then I just fear that like we're gonna end up doing this over and over again the next few years.
00:45:22.159 --> 00:45:30.239
Every time someone who has a lot of pull with the community doesn't get what they want, they know that they've got this in their back pocket, they can just go around and raise a big stink about something they don't like.
00:45:30.239 --> 00:45:33.440
And you know, you've heard a lot of stuff about profiles.
00:45:33.440 --> 00:45:35.360
I basically think there is no such thing as profiles.
00:45:35.360 --> 00:45:39.599
I've not seen a design that makes any sense that that has been communicated to the committee at all.
00:45:39.599 --> 00:45:44.159
And a lot of the people that are that are involved with that are extremely well known in the committee.
00:45:44.159 --> 00:45:49.119
And if they go around and say, like, you can't ship C without profiles, are we gonna have this again?
00:45:49.119 --> 00:45:56.639
Like, I that's the kind of thing that I'm afraid of, is is that if this turns out to be a viable tactic, then then what is it gonna do to the process?
00:45:56.960 --> 00:46:04.960
Yeah, and I I want to emphasize, and I've said this in a few other places to a few other people, I do not have a horse in this race.
00:46:04.960 --> 00:46:09.440
I do not care about the particular feature.
00:46:09.440 --> 00:46:18.719
And what what I saw, I mean, obviously I I I care to some degree, but I I I'm not invested in this, I'm not even that read up on this particular issue.
00:46:18.719 --> 00:46:28.480
I know people have strong opinions on either side, but for me, the thing that I'm concerned about is the overall health of the language and the overall process.
00:46:28.480 --> 00:46:36.960
And I think it's important to highlight the the failure as a committee separate from the techno.
00:46:36.960 --> 00:46:45.599
That this was this was you know, this was a failure of the system, a failure of of us as a body, that this this this should not have happened.
00:46:45.599 --> 00:46:51.119
Regardless of what outcome you should have wanted, this is not the outcome that you should have wanted.
00:46:51.119 --> 00:46:57.039
If you if you didn't want contracts, you should not have wanted to get contracts taken out this way.
00:46:57.039 --> 00:47:01.519
If you did want contracts, you should not have you obviously would not have wanted this.
00:47:01.519 --> 00:47:11.440
But nobody should have wanted this outcome because this was a bad outcome, and it leads to at best a mediocre outcome, but maybe a much worse outcome.
00:47:11.440 --> 00:47:13.199
And it's a bad look for the language.
00:47:13.199 --> 00:47:14.559
It's a bad look for the community.
00:47:14.559 --> 00:47:16.639
It introduces a lot of uncertainty.
00:47:16.639 --> 00:47:21.840
And so, regardless of your stance on this issue, you should not want it to have happened.
00:47:21.840 --> 00:47:25.280
You should not have wanted the debate to have taken this direction.
00:47:25.599 --> 00:47:26.480
Yeah, yeah, I agree.
00:47:26.800 --> 00:47:36.880
I think the most likely outcome is that an F-DIS passes with some number of remaining no votes below the threshold for consensus.
00:47:36.880 --> 00:47:45.920
I think a slightly better outcome is that we get no no votes at all because we send like uh and sorry, to clarify, I'll make my prediction even more accurate.
00:47:45.920 --> 00:47:50.000
I believe that we will send out an F-DIS draft that has contracts removed.
00:47:50.000 --> 00:47:57.760
I I think that that draft with contracts removed will probably have some no votes from the other side.
00:47:57.760 --> 00:48:08.719
People who are like, well, I'm upset now that you took out contracts and I feel very strongly that contracts was a good feature, so I'm gonna vote no on the standard because you voted no on the standard to take contracts out.
00:48:08.719 --> 00:48:11.440
I'm gonna take vote no on the standard to put it back in.
00:48:11.440 --> 00:48:16.000
So I think that there's that there may be a couple votes like that, but I think that that will likely pass.
00:48:16.000 --> 00:48:20.639
And I think if contracts do get taken out, that's probably the the end of it for contracts.
00:48:20.639 --> 00:48:29.760
I would expect there'll be some some uh some like attempt to put it in a TS, but this is the second time that contracts have been put in.
00:48:29.760 --> 00:48:32.079
Keep in mind it was put in for 20 and then taken out.
00:48:32.079 --> 00:48:33.119
Or was it 23?
00:48:33.119 --> 00:48:33.760
It was 20.
00:48:33.760 --> 00:48:35.519
It was 20, it was putting in for 20 and then taken out.
00:48:35.760 --> 00:48:37.920
It was in for a while and then got yanked.
00:48:38.000 --> 00:48:39.119
Yeah, it was in for a while.
00:48:39.119 --> 00:48:43.199
So if it if it gets taken out, I don't think that it's going back in.
00:48:43.199 --> 00:48:49.920
And uh I think that the most likely thing is that we vote C26 without contracts out sometime in 27.
00:48:49.920 --> 00:48:54.480
And I don't know whether we call that C27, and I don't know whether vendors implement it.
00:48:54.639 --> 00:48:56.719
I think we'll I think we'll still call it 26.
00:48:56.719 --> 00:48:58.880
I I would imagine, but I I I couldn't swear to that.
00:48:58.880 --> 00:49:01.440
But I I think it's very unlikely we're gonna change the train model.
00:49:01.440 --> 00:49:05.280
We're gonna be like, okay, this cost us some time in this cycle, but you know, so did COVID, right?
00:49:05.280 --> 00:49:06.559
So these things happen.
00:49:06.559 --> 00:49:10.000
We're gonna be like, you know, uh 29 is gonna happen because it's the schedule.
00:49:10.079 --> 00:49:13.679
So yeah, I think a lot of it depends on the timeline.
00:49:13.679 --> 00:49:16.639
I think that um yeah, I think a lot of it depends on the timeline.
00:49:16.880 --> 00:49:17.360
Yeah, maybe.
00:49:17.360 --> 00:49:24.079
But I mean I think in terms of like
can I use it in my latest version of GCC, Clang, etc., that's gonna have more to do with what implementers do.
00:49:24.079 --> 00:49:33.679
And I think what they're gonna do is say, like, well, we're just gonna implement the stuff that's in the the published standard that's out there being ratified by ISO.
00:49:33.679 --> 00:49:35.360
They're not gonna wait till ISO's done with it.
00:49:35.360 --> 00:49:37.360
They're just gonna take the PDF that that they get from.
00:49:37.920 --> 00:49:44.719
I don't think that there are any standard, I don't think that there are any vendors loudly on the pro contract side of this.
00:49:44.719 --> 00:49:48.639
So I don't expect I don't think anybody's got an implementation of it that they're shipping.
00:49:48.639 --> 00:49:49.519
Is that correct?
00:49:49.920 --> 00:49:51.679
Oh, I I'm not sure if there's one or not.
00:49:51.679 --> 00:49:53.039
I I don't know uh either way.
00:49:53.039 --> 00:49:53.760
I don't know enough.
00:49:53.760 --> 00:50:02.719
But I know there's other like you know major language and library features that people have already started doing from 26.
00:50:02.719 --> 00:50:16.159
So they're well what that's my point, is that they're on their way, and if if this gets delayed through the ISO process, they're just gonna do everything but the contracts part while they're trying to figure out what it they're gonna leave that one for last essentially because they're not sure about it unless they're sure about it, in which case they'll just keep going.
00:50:16.159 --> 00:50:18.159
In either case, they're gonna keep implementing stuff.
00:50:18.159 --> 00:50:22.079
It's not gonna matter that ISO produced it in 27 or 28 or whenever.
00:50:22.480 --> 00:50:38.719
The the the nightmare scenario would have been imagine if a vendor had implemented contracts and shipped it under a dash std equals C26 flag, and then we took it out, that would have required, I think, a C plus plus 27.
00:50:38.719 --> 00:50:42.079
That vendor would have probably added a std C equals 27.
00:50:42.079 --> 00:50:50.320
Because if they had customers that were starting to use the feature, and that would have really been if that had happened, that would have been very bad for the health of World Overall.
00:50:50.480 --> 00:50:50.719
Yeah.
00:50:50.880 --> 00:50:54.480
Uh one second, girlfriend need the doggy has not eaten yet.
00:50:54.480 --> 00:50:56.320
The doggy napped and it was very cute.
00:50:56.639 --> 00:50:58.559
This is what we call great radio.
00:50:58.559 --> 00:51:02.320
The dog has not eaten yet.
00:51:02.320 --> 00:51:07.360
That needs to be one of the pull quotes that ends up in the lead end to the episode.
00:51:07.360 --> 00:51:08.880
The dog has not eaten yet.
00:51:11.920 --> 00:51:19.280
Ramona's just thrilled that I'm gonna be in the office because Modal is headquartered in New York, so she's not gonna have to deal with me and my loudness.
00:51:19.519 --> 00:51:20.880
Isn't that right, honey?
00:51:20.880 --> 00:51:23.920
It's like that's a lot of people's dream, you know.
00:51:24.719 --> 00:51:25.440
When do we get to the city?
00:51:26.639 --> 00:51:28.079
When do we get to not deal with your loudness?
00:51:28.079 --> 00:51:28.559
Yeah, yeah.
00:51:29.119 --> 00:51:33.760
You gotta leave that in though, so that her episode, so that the number of episodes that Ramona appears in.
00:51:33.760 --> 00:51:34.320
Oh, yeah, yeah.
00:51:35.920 --> 00:51:36.880
This is a great transition.
00:51:36.880 --> 00:51:46.800
Be sure to check these show notes either in your podcast app or at adspthepodcast.com for links to anything we mentioned in today's episode, as well as a link to a GitHub discussion where you can leave thoughts, comments, and questions.
00:51:46.800 --> 00:51:47.599
Thanks for listening.
00:51:47.599 --> 00:51:49.440
We hope you enjoyed and have a great day.
00:51:50.239 --> 00:51:55.360
Low quality, high quality, that is the tagline of our podcast.
00:51:55.599 --> 00:51:56.559
That's not the tagline.
00:51:56.559 --> 00:51:59.599
Our tagline is chaos with sprinkles of information.