 Hey guys Hey Doug. Hey Doug. Hey Matt. Hey Mark. Just reminders everybody joins the call. Please add your name to the attendee list And if you want you can speak up and we can mark you as a That's present. We're back to you there. Yeah, I'm here. Excellent. Yeah Baram are you there? Okay, Ganesh are you there? Yep. I'm here. Okay But up a steve. Oh, are you there? Yes, I'm here. Excellent. Thank you Somebody has the ID KXG 6501. Who is that? Oh, did they vanish? They're gone Doug also your run is on the line switch phones in okay. Thank God. Thank you Austin, are you there? Clemens, I assume that's you I can see right? Yes, okay Hey, Austin, yes, that is me. All right Let's see Alex debris. Are you there? Hey Clemens. Yep. I'm here. Okay I'm not sure which Dan is Dan. We have I think we have more than one Dan Sorry, that's Dan Barker all updated. Thank you. Oh, William Are you there? I'm here. Just join. All right. Cool. Thank you But Thomas are you there? Yes Okay, so I was with Rachel Sarah and who Thomas Thomas I got it. Hey, you're You're you're you there. Yep. Okay. I just want to get you Jim Curtis either. Yep, I'm here. Cool I'll say you're there. Yes, I'm you. Excellent. Thank you. Lee. You know, yo All right, cool, I think I'm up to date. Let's give you another minute and then we'll start. Oh, hey, Kathy. You there Hi doc. Hello Last chance. Here's the agenda doc again. Okay, as soon as my clock switches over to 903 we'll start Ben, are you there? Good morning. Happy to be here. Hello He sounds so chipper this morning I'm two-thirds of the way through my coffee. I'm Excellent. I'm gonna sneak away and get another coffee. Actually, I need one more for this. Okay It's gonna be that kind today, huh? Okay, I think we had another Dan join Dan Rosanova Rosanova. Sorry You there Yeah, that's me. I'm running to get the coffee though. Okay, so All right, cool. I don't know what you all have with coffee. It's six in that. It's six in the evening here All right, tell you what it's three past the hour of my clock. Why don't we go ahead and get started? Obviously for those of you joining, please add your name to the agenda doc one more time into the chat and We'll come back around and mark you as a 10. We're being online later. If you don't have you already um so one thing I wanted to mention and We have not really a problem per se, but I can't can't think of a better word right now other than we have a slight problem But it's a good problem We have a lot of people on the call and we have a lot of people who have lots of opinions who are very Energetic about it. That's all goodness But unfortunately also do have people who are shall we say more on the shy side And I want to make sure that we that everybody gets a chance to speak up during these calls when necessary and in other working groups that have been part of We actually instituted some sort of a speaker queue kind of thing We're in the chat someone, you know raises their hand or something and then we just go through the queue that way I'm ready to get the chance. I'm not sure we're quite at that stage yet So what I'm the reason I'm mentioning this though is because I don't want to do a speaker queue quite yet just I want to ask everybody to be a little bit aware that there are some people who may not feel as As aggressive as others put it that way in terms of jumping in and edit appropriate at the appropriate time to speak up So just be aware of that and try to give it opportunity for other people to speak up for those of us who are more Talkative put it that way. Okay. Just want to mention that Because we do have actually quite a few people. I think last week we had 30 people on the call That's a good turnout in my opinion. So I want to make sure everybody gets a chance to speak. Okay So with that, let's go ahead and jump in AI's Austin. Thank you for completing though that one new issue one you still have one more issue to create I believe around how to name properties And did you want to mention the updates on the transfer the domain? I know you added a comment in there But do you want to mention that? But Doug, can you come back? Can you come back if I have to Okay, you're cutting up, but I think you said come back to me five minutes, right? Okay, and I apologize. I forgot to share my screen. So there we go. You guys can see that now, right? Yep. Okay. Cool. Yes. Okay. All right Okay, so next topic I asked first For a room at the next CNCF coupon for a possible face-to-face for us The only time slot that I was able to get would be Wednesday night after the booth booth crawl So I wanted to post the question for the group here to see do you guys want to try to get together for a face-to-face meeting there In the evening and I guess it's Wednesday. What do you guys think? Thanks? Gates. Oh, you're asking too much. Hold on Second to May 4th. Is that the one you're talking about? Yeah, the one in Copenhagen. So it'd probably be I guess May 2nd Wednesday Make it that in there They like the schedulers in the evenings company. Yeah, they do. I don't know if that's good or bad, but yeah So let me ask you this Anyway, should I open up a doodle poll so we can get a sense of how many people are gonna be there? That's a great idea. Okay. Awesome. Okay. I will do that. It didn't sound like there's any huge objection yet We just need to see if we get enough people to make quorum So that's a good sign. All right, so let's jump into PR review. Did it do the first one? Okay, this one's a little bit old and the reason it haven't gone to before is because we had some Signing issues and stuff like that. I don't believe anything textually actually changed I have a another PR which does Which actually moves that out Which didn't get on the list. I'm sorry. I forgot to put it out to the agenda. Yeah Do you actually opened up your PR the duplicate of this one correct basically? No, this one adds The open stack event to the spec and mine moves it out of the spec Well, no, he actually moved it So if you if you look at the PR he actually does two things when you're right, he does add that Opens open stack event, but then he creates a references and defile which does move everything out of the spec. Oh Okay, I'm sorry. I missed that bit. I was just content. Yeah, okay So we can just close my PR. Well, that's something we adopt this one. Yes, so let's talk about this one first Yes, I apologize. I can't remember the gentleman's name I'm not cute. Do you want to talk to this one at all? And is he on the call? Hold on. I Apologize I'm really really bad with names Ori. You know what it was it Ori Nathan. Sorry Nathan are you on the call? Okay, I guess he's not so as I said, I'll talk to this one then on this one all he did is move the references section out of the spec Since it that's really not in orbit of anyway, just examples of what's out there today And he added the open stack Event I believe is right here. I have no idea whether it's right or wrong, but it dies in this right and Then in the spec itself rather than having the reference section down below you move it to another doc obviously and then updated the Table of contents. Yeah, I think that's good cleanup work. Yeah Any questions on this one? I think it's good to have another example Okay Any objection to accepting this one as a small knit line it looks like it needs a character turn Yeah, I was gonna take a look at that and fix it later Yep All right, any other questions comments. No any objections to adopting it or proving it. All right done and Sorry, Sarah, do you want to close your PR? You want me to go ahead and do it since it's a duplicate. Um, so yeah, we can close it I did um I do think that It's the references shouldn't be actually in the spec. So after looking at that. I wonder like I put it in like a landscape Folder so that like and so I was wondering whether people think that makes sense to kind of pull it out into supporting material Rather than having to be directly reference from the spec and if people think it's helpful. I could just read you for my PR Any comments on that? Not hearing any maybe what you should do is open up a second once this one gets merged Why don't you open up a second PR with what you're thinking that way people can look at it in context and then comment on it I think that might generate more commentary. Yeah, okay that's okay So do you want to close your PR? Do you want me to do it for you? I'll just reach I'll modify leave it open for now. Okay. Okay. That's fine. You're repurposing it. It's fine. I'm gonna second I'm gonna second that suggestion Doug I think I think Sarah's doing some great cleanup work and if she get approached that in just a separate PR on how to kind of Reorganize everything. I think that would be helpful. So we could just look at it That's a PR that solves that specific problem All right Okay, before we jump into something a little meatier, Austin, since you're back now, did you want to comment on the status of? Dill line transfer Yes So I sent over I sent all of the information necessary to transfer the domain over to the Linux Foundation a couple weeks ago I've been working with a gentleman named Eric Chris had a check spent CC on all those emails. I think they're just overwhelmed. They haven't been able to get to it I pinged Eric yesterday just checking in trying to get a status update but so far no activity on that end and I'm just gonna ping Chris again see if you can help move it along But it's you know balls in their court. We could you know if they have everything they need to to complete the transfer All right, cool. Thank you any questions for Austin. All right, excellent. Thank you for the update All right on to a meaty one. Hey Doug. Can I address a couple of those other AIs real quick? Oh, yeah, sure good Yeah, first off there's what in here Saying so just a philosophy as to how we should name the properties After some thought I'm not sure this is the best approach or what this could kind of ultimately accomplish I think kind of looking at each of these properties on a case-by-case basis is It's kind of the pattern that we're falling into already and it's probably I think the best pattern moving forward So I'm hesitant to I'm not sure what I do here and with respect to this other than you know Try and do one big PR that seeks to rename everything all at once But I don't again, you know, maybe I felt that was the right approach before but I don't think it's the right approach now After seeing how we're operating. Well, I have like a pretty basic suggestion, which is like I think it would be helpful to say like When we have two words, do we have a dash? Do we have interpaps? Do we have like do we flirt all together with one word? Underbar, we had some inconsistencies that you know, like I didn't dwell on because like I was hoping that you would Specify that so I maybe you were thinking that was like a really big thing I was thinking of but just a really basic thing to like, you know, look at a bunch of other specs and you know make proposal And maybe there's somebody else who who wants to dive into that But I think there's a need for like just some really basic naming conventions If that's the scope of this then absolutely I could do that That's not that's not hard at all, and I'll I'll do that in the form of a PR And I guess I'll put that just somewhere in the specification some some lightweight rules as to how we name these things That sounds good to me. Is there any comments or objection to making or clarifying this AI to make it more of a syntactical rule kind of a thing Maybe we just say like a naming convention rather than a philosophy and and also maybe just to start with an issue that You know give some rationale for it so that people can chime in on the issue before you bother to rename everything I don't have any strong opinions, but then if somebody else goes well because reasons then I might Right now. I'm just happy to follow. What is consistent just maybe then like the first Step to be a poor question like style guide MD. Yeah, I like that like a style guy Like a separate doctor just like there's these are the naming conventions. I want to agree on those then we can update the spec No, cool. That sounds good to me. I could start with a with an issue All right, cool. Thanks, Austin All right, any yeah, and and Doug I just I just want to go over the one last AI before we move on I'll try and be as brief as I can here Yeah, there was another one to open an issue to gather thoughts around a reference implementation So in the issues I did that and I'm pitching a concept in there that is essentially a Transformation library All it does is it takes common events like events on AWS or web hooks and it's it seeks to Simply transform them into the cloud events format And the goals of this are just to kind of create a simple reference implementation that works with cloud events But also create a tool that incentivizes early adoption of the cloud events specification and makes it easier for people to use use the format so the concept here is one of the most important parts of the concept is essentially templates Transformation templates that Can be accessed in any language because I imagine if people value this library that is going to be rewritten in several languages But these templates are authored In a way that's language-agnostic. Maybe they're using JSON or something. I Suggested JSON here in this issue, but again, they're just Simple transformation maps saying hey if it's this if it's this event from Amazon Take these properties and put them into these cloud events properties But anyway, it's a it's a pretty brief description of this of this implementation We'd love to hear what people think And Whether this is something we should focus on right now or maybe something we should do later Would it be interesting to as a first step take the existing examples, we are just looking at in the the references md and manually transform them into Cloud events before writing code to do it programmatically just to see what all of those different types of events might look like Given the current spec So Sarah has done a great job Updating our roadmap and I don't know if others have checked it out, but I believe One of the first priorities in our roadmap is actually not to do this This is coming up in our our our next version of cloud events But in this first version of cloud events, we want to provide some examples of common events in the cloud events format so Absolutely, it's a great suggestion and I think it should be done before we approach this as well and I Recommend checking out that roadmap and you've been bringing it up as a discussion topic on this call if we have time Yeah, it's actually under the ready peers So from the product perspective or a product perspective Having a library so a library like this is not trivial I mean, yeah, it might be we might be able to go and use some libraries that can do this But you need to go and maintain mappings and because products change versus change and doing this as a official official effort of The foundation of this group I think it's actually in it's a It's an distraction and Actually doesn't help with the adoption because it's like if a library like this exists then the question is why should I? On our platform even go and be compliant with the with the specification if there's a library that just makes it all normal Okay guys, I'm gonna have to call tiner's for a sec The purpose of this part of the agenda is not to say deep dive into the action items and in particular this issue Let's schedule this for a different time This was just sort of an update to say yes or no the action items were done or what's holding them up or whatever I Gestion which is we could we could I mean I do want to get to the point where we're encouraging people to like write experimental code So we could say that the experimental code can exist outside of the cloud events repo And we could encourage people to link to their experiments so that So that people get visibility into those things without necessarily having it be an endorsement. So guys guys, please I'm not trying to cut off the conversation here. Let's have the conversation At a scheduled time. So they're in the issue or in a future call But we do have an agenda that I like to try to get to in terms of at least I want to get to the PRs and close Those out because we could take up the entire rest of the call discussing this if we wanted to so I'd rather Austin updated us on the AI and so now I'd rather Move on to the scheduled agenda items. That's okay Let's take this point Good points all around I look forward to chatting about it further in the issue. Yep All right, so let's see. Oh, it's the next issue. Okay definition of occurrence. I believe was the next one Was that was that Thomas? No, that's Clemens Clemens. Do you want to talk to this one? Yes, I found the so I looked at I affected the occurrence and And Events I actually looked at an event first and then fell on Occurrence and then also looked at context. So I Went and changed all three but separately Occurrence occur to me as being a little too narrow because it's Saying most typically when the system receives the external signal That's an occurrence and I think it occurs is all kinds of things that are happening from within the system and it the system being externally triggered for then raising event based on it is Not necessarily the norm. So I just found that I found that and and also the naming of specific technologies a little narrow So I just wanted to make the definition of occurrence a little broader Okay, so I'm showing the text on here Relatively small amount of text. Is there any questions or comments on that? I just want to say that like I find this to be more clarifying like I think it's the same intent I do think that we have Had in the call like that examples are useful and there are other parts of the specification that have quite a few examples that are very specific So so I you know like I'm I'm open to either But like I Just want to raise that that people have found the examples in the spec to be grounding and I don't know to do that Yeah, but this should I'm not sure whether we need to have like this is so broad like the notion of occurrence is so broad and Needs to be so broad that it's that any specific example would be narrowing and I'm worried about narrowing having For my reading your definition is identical to what we attempted to write initially and I do think it is clarified However, EG. I don't think narrows it rather grounds it in specific examples And we could break it out the way it is elsewhere in the spec with examples underneath it But we have found that readers of the specification can't really grasp it I found I found also when I when I write those I found the necessary I'm actually okay with with dropping occurrence per se as a as a as a definition because that's a It's not clear it's not clear it needs definition per se in this particular spec Well, it was added because of a confusion where people weren't sure whether the event described the actual Data that Represented what we're calling the occurrence like there was like it was added because of confusion, right? But an event is the thing that happened. It's not the notification of the event and So that's just a little background What I'm hearing is that the new definition of occurrence sounds good to most people and It would be clarifying for some to also add an example of that or an EG to be able to highlight what we meant Right, so okay, so it's what I'm right So can we accept the PR as it currently stands and then if someone thinks that some some examples would help clarify things They can open up the show PR to add more text the spec with example removes the examples as currently written and I don't feel strongly about the examples I'm just raising that they were added because it was confusion about it. So But it comes down to I Have a specifically the external signal is something that I'm that I find Confusing because there's an external signal Then there's an action being taken by the system that will result in something and then an event is raised because of that You don't report out that you someone called you on HDP Right, so it says I Realize the wording could be improved and it says though could also be through observing a changing value or an IRT so yeah, so I think I think that's fine to go and take the let's say the ascensor Activity and at that as an example below here Is that something you'd want to do as part of this PR clearance or as a follow-on? well This PR removes those examples, so I think it would I mean like Yeah, but you If you don't object to the wording that we have here then we can go and take that and then add The example if you'll take the action. I would have any examples. That's a problem with doing it iteratively Okay, so I'm hearing them. I'm not here So an HTTP in my in my we can also be a form of event not just a way to message an event Yes, yes, yes, yes, we can add further examples. It's just a but they that That's the entanglement. So the fact that we're having a discussion It shows for me that there's an entanglement between the examples and what should be the definition okay, so I think I'm hearing is People okay with the text as it is, but there's a desire to have some examples to go along with it and It sounds like people are okay with doing that doing the examples as a follow-on PR and Clemens is volunteered to accept that action item Yes Is anybody have any objection to that? stated path forward Okay, let me ask the more formal question. Is there any objection then to adopting the PR as it currently stands with the AI's that we've stated All right, cool. Thank you guys very much Hold on a second Okay Next one definition of events Clemens this might be yours as well. Hold on. Let's see. Yes Okay comment on that Hold on a second. Let Clemens go first. Well, I just had a point of process, right? I'm not like are we supposed to duplicate whatever Discussion there is in the issue in the PR once there's a PR Yeah, I was going to save that for After we we go through the PR itself because I don't think that that changes whether we adopt this particular PR As you said it's a more of a process question. So it's going to save that it would indicate whether this is a ready PR or not Because I interpreted from reading the conversation on the issue that it wasn't ready So I didn't do further commentating commenting on the PR. Ah, I didn't realize that okay, so Okay Okay, I guess I guess we could have that process question first Okay So I don't I don't find that the discussion is indicating that this is not done Yeah, so Sarah, why do you think this comment should hold up the PR? There's a comment nine hours ago about the difference between event and occurrence. Oh, there it is So I guess it's just a question like so I unfortunately Thomas has had to step out for a second but like I Assuming comment on the issue because he had a question about it And so if we're not supposed to comment on issues in order to generate discussion Then we need to like clarify that like we we must comment on the PR if we actually Want that just kind of it's a kind of weird thing So the concrete question here is the concrete comment as I understand it is The difference between event that encourages intentional. That's true What I did in the event PR if we take a look at it is that I Effectively eliminate the restatement of one of the currents is in this in this thing, right? Data representing in the current change in state that something happened or did not happen That's something that we already kind of defined up there So I removed that reference and then basically clarified that because we don't need to restate or currents Since we already defined it in the section above the point the point that I went to push This is Rachel by the way is that we should like it would be fine to deal with this next week, right? After we've had time to like make sure everyone with questions on this gives it an LGTM So I guess the question for that I would have is then we should have a process where we basically go and discuss it all in all in mail and Don't and don't do those things on the call Well, I mean that's the intended that we do we've had a prior conversation and this was a One that I didn't look at carefully because I thought it was still being discussed. Well, so well But let's be clear here though. I think a lot of it just depends on whether Thomas believes Clemens answered his question or not Sorry, I had to step up. So and so this also adds Um Information right that events are routed from the emitting source to interested parties for the purpose of notifying about source Occurrence this routing can be formed based on information contained in the event but an event will generally not identify specific routing destination like Introduces like a bunch of context, right? And one of the things that has been a confusion on the lists and with newcomers is whether We are specifying like what I would consider messaging which is You know, like you know this came up on the serverless group, right? So so that's where I don't think we have written down effectively that Events don't contain like I mean, I think this is an attempt to do so, but it's potentially confusing about like saying that it The event will generally not identify a specific routing death minute destination. In fact, it never does No, maybe maybe it does Well, that's a really important point Because I are it's my understanding is what we're doing is we're specifically creating a system Where we can loosely couple source and destination and therefore we never specify the destination source I think the destination should be in the metadata not necessarily in the message itself Yeah, so the the the I think I think generally The the metadata contains absolutely no information at all. And so the event per se doesn't it doesn't Information at all about where it goes There may be exceptions though to that rule so I don't want to I didn't want to make this a must rule But I actually think it is a must rule The the the the source must not specify the destination in order to allow for loose coupling at configuration time Yeah, but Sarah it goes back to Separating the message from the sort of the envelope exactly It's like an email message has a to and a CC etc And there's the body the mime the mime thing that holds the content. Yeah, but email is a messaging protocol Right, so this is where The event specification from how do events get like once the event happens and we have a description of it There's a separate Important question of interoperability, which is how does it go from the source to the destination? I'm okay I'm okay to say but an event I'm even okay to say about an event must not identify specific routing information if you want that yeah, that's That's exactly my point And even within the metadata, they should be two layers one is sort of a logical address, you know think like getting to a Talking about and then you can comment so I'm saying there is a sort of logical address Which is for example a topic a person name or whatever a function name and there is a Protocol destination which could be an IP address So the even within that there are two layers one belongs to the protocol layer Which is for example HTTP or Kafka or whatever the one that belongs to the envelope which is not protocol specific That's different. That's different you addressing addressing the event to the middle where that distributes it is This is exactly why I wanted to write down the design goals, and that's something that I have like a draft of and I was going to I was just going to do a final read-through and post it and highlights in the There is no there is no So I think what we're wanting to express here is that there is no information in the event That instructs the middleware to perform routing to a specific destination So I think that is I'm aligned with that definition However, there are folks who've been involved in the working group that also want to understand that we are making a commitment to separately or in a related like separately or somewhere else in the specs specify how We couple the source and the destination so When you say event operation of concerns articulated, I think to agree on this So Sarah when you say event do you refer to the sort of the data portion of the event or the header portion of the event? So I really I think that this is a really important discussion that we should allocate time for and we should have and we should Spend this week commenting on this PR like we should iron out like people should propose Beaches on the phone and chime in throughout the week Yeah, I was gonna I was I was waiting for the conversation to die down to slightly before I call time on it and say Let's move the conversation to the PR itself Because it's all been really good, but we don't want to spend the entire time on one this one thing We have to walk And I wonder whether it might be good to Quickly like if I could highlight what I think the design goals are I think it would streamline some of the conversations So Sarah you're gonna submit a PR issue or something related Well, I have it like I drafted on my screen I could like share my screen and just like what I want to do is before like I submit this really beefy We have a lot of stuff to get through today Yeah, I'd rather stick to the agenda and take most of these conversations offline if we can I'm just I'm pointing out that discussing Context and discussing so all of these things is very challenging without actually separating What is an event? How do we transport it? How do we do? So let's let's try not talking over each other. So Sarah go ahead and finish your thought So what is challenging in these conversations is that we have a different basis of understanding of What we are even doing Which means that every conversation then has to tease that apart and I'm finding that to be a very challenging thing Like it's kind of agreed on our high-level context, right? Okay, so I hear you're you'll take the axiom to write up this design goals principles Whatever phrase you want to use as a PR issue for us to then discuss If as we go forward in the agenda today you come across a particular PR or issue That people feel are is blocked by the resolution of your action item at that point in time We can then say okay, we're going to defer this till after the action item is completed. That's not fair Yes, however, I think we will continue to have long conversations because of this misunderstanding Well, yeah, let's let's try to identify the roadblock and quickly and then avoid it and move on to the next topic If that's what's necessary. So I So I heard is Clemens is going to revamp the text here with based upon the input that we found the call today as well as any Inputs that he gets in the issue. I'm sorry in the PR itself So please comment in there if you have suggestions or concerns Is there anybody who did not speak up on this issue? Very quickly who wants to speak up now who may not have had a chance to because everybody jumping in there Okay, I have a comment here I think you know for the event on the destination but not should not be part of it because But the source I think you know either in the metadata or in the event data itself I think most probably in the metadata because the source is not just to use for routing purpose They could also be used for correlation purpose. For example in some scenario We might need to correlate, you know, event from different sources to trigger Action the how do we do that? So we need to know, you know, the source or a unique identifier to correlate those events Will you please comment on the PR with that idea because I think that's valuable Yes. Yeah, I will I think the envelope must also have the Destination at least the logical destination that was destined to because the same endpoint that received the message doesn't necessarily know Where it was destined to? Okay, so you're in it. So the guys guys don't want I don't want deep dive yet or a deep dive again We're trying to pull out So especially if your people have already commented, please hold your comments and make comments on the PR itself So we can get them all jotted down and keep the discussion going there. Yeah That's it that the the addressing pieces of is a bit of a more fundamental Issue though because that's not concrete on this. That's of the nets a That's more fundamental about what we're building and I think Sarah might talk about that in her action item. Okay, great All right. Yeah, I also agree. I think this event is very fundamental to to our other discussion Yep, okay. So I think we have the next steps on that one Yeah, Clemens this one. Hold on. Let me just double-check one thing here Okay, hold on And they had the comments first shorter real to see the real is still active conversation in those In this PR. We can skip this one. Skip this one. Is that okay? Sorry. We'll skip that one. Okay. I missed ever is active Okay, so Okay, this one. I think this one was open just before last week's call. So that's why we didn't So Sarah your comment on this one from three days ago, is that a blocking comment or is that just commentary in general? This is I'm sorry. The topic is of the abstract difference that we're just doing abstract definition of events Yeah, I think this is the source of the confusion Actually, I mean I know this is intended to clarify it but without the context of Where this abstract definition will be used. I think we'll continue to So do people want to hold off on this PR until we talk about Sarah's action item, that might make sense. Yeah Okay, not hearing any injection Inform informed by reading this and some other comments. This is why I found the issue where I put in a strawman for HTTP for an HTTP binding just basically for having a visual that people Can't see you how this might out this might end up mapping without this being even the serious proposal but Since since the current the current definition is fairly abstract It may make sense for people to go and take a look at that issue and see how things may go and project out to a Protocol that they're familiar with. Yeah, it also relates to a Interesting conversation on the serverless Google group where I liked Doug suggestions that we invite Vaughn to You know to talk about his idea for like an abstract message on below And we can find out what they're like would that fit into exactly what we're looking for here Or is that a separate concern? Yay, so no, no, don't don't laugh about it. There's so Large body of work we can drop on And it's not clear to me that we really need to go and reinvent any of that But rather go and take learnings from it and some of the folks here on this in this groups Maybe familiar with it and try to build the minimal thing that gets us to success rather than try to Boil the ocean yet again because we know how that went I don't think that we're net we have not gotten to a specific proposal for how to address this Okay, at that point let's discuss that and leveraging our art Or whatever makes a lot of sense to me Right. So the last issue on the list that I thought might have been ready is I believe this one Sarah's Changes to the road map Sarah. You want to talk to this one? Sure. Um, this came out of a brainstorm with Austin and me a while back where we we haven't actually done what was like I We had like sort of a direction of what we wanted to do every month but that it by separating it into kind of numbered milestones then We we can you know sort of make progress without getting you know updating it all the time at the dates and so this was an attempt to Separate things into logical chunks Without bringing up anything particularly to contentious And I can talk through it or I don't know if people have had a chance to take a look at it Yeah, that's that's that's that's the broader question for us being more Optimistic did anybody have any questions on this that they'd like Sarah to elaborate on I Very much appreciate the change from months to numbers. It'll make it much easier to measure progress Anybody else? Well one quick comment There's some additional items below at the bottom that aren't really put into versions Perhaps actually putting those back and do into the versions might Just help ensure those get done at a reasonable time and assign them to different people So a lot of them I think are somewhat still pressing like you're getting our website up and whatnot So I'm just worried that those are kind of follow up to the side Yeah, totally fine with that this is you know right now this PR I believe is Definite progress Okay, I'm hearing the potential follow-up PR If we do that who would like to take the action and to do that PR is that Sarah or Austin? Or somebody else I guess No, I didn't have any particular inspiration about when these should happen. So I Somebody else to take that on okay, Austin. Would you want to volunteer for that one? Okay? Cool. Thank you All right, so anybody else have any comments or questions they'd like to have addressed All right, not hearing any. Is there any objection then to adopting this PR? Not here. Cool. Thank you, Sarah All right next All right, so Where is it? Okay, yeah things keep moving in and out on me here. Okay, so What is source last week I believe Rachel suggested that we have people give sort of Presentations or lead a discussion from their point of view in terms of what is source? I know Clements did you have something that you want to present? I know there you do. Okay. Do you think you can limit it to five minutes? Yes, I can. All right. Okay. Just just so we know who was on the list at Clemens. Obviously Sarah I see your name added on there Kathy is there something you wanted to present? Um, I didn't have a slide I do not have slide, but I can I can talk about my thought You're on as well. If it's yeah, I was gonna get the year on a sec. Yeah You're on did you have something you wanted to present? Yeah. Okay. Anybody else? All right, so nope to get no particular order. Go ahead comments. Your name is first in that list. Yeah Someone else is sharing. I can't share. Oh, sorry. Let me stop sharing. There you go. Go ahead Ha, no, so that was wrong Let's try to talk tick tock. Can you see it? Yes? Okay, great So I'm gonna give you an example from industrial automation on On source and how that's actually an abstract thing The typical so here's a typical flow We have a device the device raised an alarm that goes to some distribute this event distributor Kind of some middleware that we build you build and then it goes into Gets pushed towards handlers or local balancer and gets executed So that's kind of the typical flow that I think most of our platforms do And now I'm gonna double click on this a little bit and put this onto industrial automation floor Where you have a cell in the cell are robots the robots are hooked up to a cell broker They are hooked up to a scota system and what you're building is you're building a remote servicing system Which needs to talk to that robot which means now the robot is in a cell in a line in a factory That is now raising alarm. There is no path back to that robot And if you double click on this you'll find that in that robot you'll have Particular sensors and let's say what's broken here is actually not the robot per se But there's a sensor that's broken and the sensors are actually are smart about it And can tell you when they are no longer Properly calibrated or if they're broken so now a rat a sensor raises an alarm That goes out to an OPC away server the OPC away server alerts a message writer push that out The event that we're talking about here is actually written on that in that OPC away server Then goes to the operator system which may run the Oracle cloud which then gets routed into the plant integrator system Which goes to a which may run an AWS which may go run to the machine manufacturer system Which goes to the component manufacturer system that is actually owning that sake sensor Which wants to do it wants to catch the alert and then send out a rep There is no way that that consumer Can talk back or even identify with a network address that particular Sensor what it can do that however is it can go and identify that using an abstract address So what we're doing for instance in a MQP that I'm Involved in as the co-chair of the OASM MVP committee We have an MVP a notion of of routing Addresses or of source identifiers and those are fully abstract. You can make them addresses that you can Resolve but generally our attitude in a MQP as a messaging protocol is to not interpret the The our addressing fields whether they may be you know indicating what the source is or what this nation is but rather treat them as aspect strings and then leave it to rules in the middle where to go to and Evaluate those so point is Even if the consumer had to need to communicate back to the event of an event the event source identifier Will be of no help if interpreted as a network address particular in these scenarios And the source may for trivial scenarios being network-resolvable address. You can't do that But often it will be an abstract identifier because there's plenty of scenarios that exist where the emitter of the event itself is Identifiable But it's not a network routable entity So so the result of all this is that the source Identifier should be or the source should be a string That can hold some information that is appropriate for the source and it should be your eye That's mine the point that wants to make Sorry, I was on mute We are a little short on time. So if you have any questions or comments, please keep them very very short So we can get to the next folks. I don't want to deep back too much That's a great clarifying example Anything else yeah, I think yeah I agree with the you know, the source should be a string a unique identifier Will be a unique identifier should not be limited to an address because quite some devices that the source do not have that address Yeah, I agree with the points. Okay All right, I use case Kathy to Illustrate that. Oh Okay, um, um, I do not have the slides to But I okay, I can I try to describe it. Um, so for like for IOT cases, right? You are going to have some camera capture the Some information for example some motion picture and so that Camera will be okay. And then you know, you might have some other Sensors capture other information for example Some window open events window open Events you might need to correlate them together to know. Okay, which Let me say, you know, which windows which window open event will correlate to which, you know camera right because you don't want You know, like for example A Cyrus house camera to be on the the event to relate it to Kathy's, you know, window Open event, right? So that I think it's important to have that source information And that would be a unique identifier will not be like any IP address Yeah, that's my point. So I think, you know, the source how we define the source It's important in in this year's case So Kathy since you sort of have the floor Is there something that you would like to add for your part of the sort of this this presentation type thing? Is there anything you'd want to add in addition to a Clemens said without necessarily repeating it just because we're running very short on time How about this, you know, I think the next meeting I'm going to write some slides. How about that to make it more clear? Yeah, that's probably fine because we are wearing a long time. I suspect we're not going to get to everything anyway So that that's probably fine. Yeah. Yeah, I'm gonna write something. So I need something I would ask is as we as we go forward here If you feel like somebody's already said pretty much what you wanted to say you just want to add a few things to it You can just say that you don't have to repeat what they're saying You can ask the ad notes. Yeah. All right. So you're on you want to try to Ask a question for Kathy and on her example. I'm sorry. Go ahead Ben. Yes the the example you gave where there's a sensor inside a house that And you want to do that kind of correlation almost implies some kind of hierarchy to the source Is that implication? intentional and part of what you would want to describe as as should be in that source or No, that you don't need you don't mean to explicitly describe some sort of hierarchy as the source field I Do not have intention to like, you know, the hierarchy of the of the events I'm not sure whether I understand your question correctly. Um, I think you know, we need some This is a use case. I think there are many such use case as long as we need to the, you know, it's a multiple events correlation to trigger a function And we need to identify the the field in the Event sort in the event data that can help correlate, you know Different events together for that for action Okay, thanks Okay, so I'm gonna I think we need another field in in addition to the source URI unique identified we need another field because the source URI could be a string that could be have You know quite some information inside it. We need to know how to identify the information For to correlate this event together. So I think I'm gonna present next Alright, so in an interesting time, I do want to move forward. You're on I think you only have about five more minutes If then we're gonna have to call it time Get to you guys next week. So go ahead, you're on it. Do you see my slide? Yes, I can I think Sarah made a good point because I think when we say event we don't all mean the same thing So at least I want to try and clarify, you know I know all those details about exactly the structure of the IOT sensor sending the message Those are the kind of things I want to try and stay away from because there are endless amount of use cases I think the scope that I'm trying to figure out is let's assume. There is a scale schema And there is a message which is defined somewhere else. Okay, how do we? Transfer that from a certain source service and yes, there are multiple definitions of a source will get to that to some Function or another micro service that consumes that first we need to understand that there are two types of events I Separate them external events and internal events in some cases There are platform events for example Google cloud the Amazon cloud and have a notific internal notification You're not even aware of the messaging protocol or the messaging envelope Okay, but when you have external events then those events have several elements one is the message body Which is this thing that was sent by the IOT sensor or by the camera, etc There is an envelope that defines things like where is it destined to where did it came from? What's the schema? What's the content type to decipher it, etc? And then there is another protocol that this thing sits on top of it And there will needs to be some Translation between how this envelope and body are mapped to specific implementations of protocol whether it's HTTP or AMQP or Kafka Whatever, okay, I think the scope of what we're trying to do is there's also another higher level thing that I wrote out of scope Which is how do I orchestrate that a certain sensor will send all its data to a certain function? Let's leave it, you know, we have too too much complexity by anyway So the first thing is the event API is like how would the consumer consume the event because in some cases the event Won't even have a message body an envelope And that's something that probably different languages will have different implementations because the some languages are typed Some are untyped. It's not that easy to say I have a scheme I want my serverless framework to decipher my schema Because if it's a go program or a C program, that means that that That runtime engine needs to know all the schemas in the world to be able to decipher them So we'll talk about that and then the second thing that we need to define is sort of the message Taking forgetting about the protocol for a minute is just the body and the envelope and the third thing is To have some concrete implementation will need to say how those body and envelope map to specific Widely adopted transports And and I think they deserve a little more discussion, but that's the problem. I'm trying to solve I'm not trying to solve the how is specific message for an IOT device or for some other thing is now defined There are many committees that can do that Just the problem that I'm trying to solve is this one I don't think any of you have seen that I published it once this is when you're in Amazon, London You want to figure out where what kind of event you're handling? This is what you need to do Okay, so I want us to be very specific of when the function is invoked. I know Where is it coming from? I know what's the schema that I need to interpret without trying to poke into all those Jason structures And when I say events The reason I'm sort of focused on not just Jason is because events can come in different forms The camera may send the actual picture with some header on top of it and want to push it along It doesn't necessarily have to be textual An IOT sensor may may actually throw its information in a binary format for an MQTT protocol. Okay, or People for its sake of efficiency may choose something like protobuf or Abro or Flatbuff or you know and use some messaging systems like Kafka, etc And we may have to encapsulate existing events into that as well So those are just use cases that try to show that it's not that simple that we can take everything in a json structure You know with like a header and throw it away across the work So we have to think about those use cases as well You know just a very absolute way for me to think about an API and and it's not complete just as a high level This is our sort of go go interface When when I'm consuming the event I do want to go through interfaces Don't necessarily want to go through like here's already a deserialized Object I want to be able to consume the body the message either as a body and then I don't care about the actual schema You know, maybe I'm just a router that affords that from one hop to another I don't really care about the schema or maybe I need to I want to go by field and then I Want the system to decipher that that for me and and all those headers I can just go and access them through a map So that helps me in terms of flexibility to add as many headers as we want And potentially maybe we can have other things that are more sort of concrete like the scheme a content type timestamp Already and expressed in the API. So that's the thing that I would like to try and get to at a certain point across different languages Okay, cool, and but that I have unfortunately we are out of time. So we have to save questions on your own stuff till the next week Because I do want to be respectful people's time Most people do have phone calls or other things to do at the top of the hour So let me just quickly get the last people on the agenda or for the attendance David. Lyle. Are you there? Okay, and Louie yeah, I'm here and I'm gonna I'm gonna put to this yum or bomb Yum Maybe he's gone. Okay anybody else on the agenda or in band the call that I did not get in the agenda Or they tend to eat list All right with that we're at the top of the hour. Thank you guys very much The presenters could share their slides if they're willing because I think people might like to see them without watching the whole thing Yes, excellent idea. Please just link to your slides and yeah Do we have a way to share? Are you going to are we gonna try and solve kind of this problem in your design goals PR? Is that what we're gonna kind of answer all this? That's my hope. So yeah, I'll submit it today. I've got a draft. I just want to read through it And then I'll send it and then we can have a good discussion in advance of next week's phone Can we can we make it? Yeah, it's like that's the most important thing. Can we make a repo? Maybe a separate repo or a place where we can go and check in related documents like for the calls I'll think about that Let me figure out the rest way to do it because I don't want to have to submit PRs to make it happen So let me think about them. Maybe Google share drivers or something like that. Well, let me think about that offline Okay, because I would like to have that all in one location not everybody just sharing from their own place Yep, okay. All right, and with that we're past the hour. I apologize. Thank you guys very much. I'll talk next week Thanks everyone