cncf / tag-app-delivery

📨🚚CNCF App Delivery TAG
https://tag-app-delivery.cncf.io
Apache License 2.0
775 stars 203 forks source link

API Extension Proposals Working Group #448

Closed toumorokoshi closed 7 months ago

toumorokoshi commented 1 year ago

Hello everyone!

I'm from the API Extension Proposals (previously AIP), a working group borne out of https://google.aip.dev/ who are looking to establish a uniform API standard that will enable an ecosystem of high-quality clients (CLIs, UIs, SDKs). We are a group of engineers from Google, Roblox, IBM, Microsoft, and Netflix.

We previously applied to be a CNCF sandbox project, but was declined due to the lack of concrete code. However, we still need a vendor-agnostic home to add experimental repositories and governance outside of Google.

We were recommended by @joshgav to propose a working group under tag-app-delivery. Please take a look at our proposal doc here: https://docs.google.com/document/d/1aj5moKNOfv0QQ87i4by4my1C8c9r6z4JfnHHXWDEHwc/edit. We would love your thoughts!

joshgav commented 1 year ago

@AloisReitbauer PTAL!

toumorokoshi commented 1 year ago

Hello! I have a quick question as well: in the google doc, we mention that our goal is explicitly to foster an API specification as well as CNCF projects that will adoption and functionality of that specification (validation tooling, code generation of clients from that tooling).

I was under the impression that a working group will be able to create some GitHub repositories in an organization that eventually we could spin off as CNCF projects in their own right. But I think I read some wording that implied that repos under a working group should be be created with the intention of becoming a CNCF project.

thschue commented 1 year ago

Hello, and thanks for submitting this to our TAG!

I understand that these are efforts you want to see in a vendor-neutral home to get this started. The things you want to achieve are heading more towards standards and long-living efforts. The nature of a Working Group is that it's short living, and it should not be the intention to host a full project or specification (https://github.com/cncf/toc/tree/main/workinggroups).

Therefore, I (personally) suggest that you proceed with developing the project in a vendor-agnostic way and propose it again to the sandbox when more code or specifications are available. Please also feel free to reach out to us when you'd like to present your project to the TAG.

lianmakesthings commented 1 year ago

Hi @toumorokoshi, thanks so much for your issue and doc. I think your proposal is great, but I agree with @thschue what you are trying to achieve does not fall within the scope of the TAG app-delivery.

I was under the impression that a working group will be able to create some GitHub repositories in an organization that eventually we could spin off as CNCF projects in their own right. But I think I read some wording that implied that repos under a working group should be be created with the intention of becoming a CNCF project.

We are an advisory body and as such generally don't actively develop or maintain long-running projects. One way the TAG could get involved, might be helping to develop that unified standard you are working on, but we wouldn't host it ourselves. I see how the wording can be misleading. We are seeking to improve our charter in the near future, so we will definitely address this and be more specific in the description of our activities.

toumorokoshi commented 1 year ago

Thanks for the help! We're definitely still navigating how to successfully integrate with the CNCF. If a WG is not the right way to approach this, suggestions on the right way would be great.

I think we can continue to develop our specification as external entity. But I was hoping we can work with the CNCF to get early feedback from API authors including Kubernetes and Prometheus. Crossplane could also be another group that we could get feedback from (as a client of cloud APIs). Also if there is feedback from tag-app-delivery, that is definitely welcome.

Is there someone who can help us bridge some of those connections? we can do some coding / project work separate from the foundation for now.

angellk commented 1 year ago

I agree with @lianmakesthings , the TAG could help with creating the standard through a Working Group - and then tooling projects can be developed outside the TAG / WG in alignment with the standards being documented in the WG. Then, as projects are ready to be submitted to the Sandbox, they can be brought to the TAG to discuss.

@toumorokoshi we can help connect you with maintainers from the other projects.

toumorokoshi commented 1 year ago

Thank for all the replies! Apologies for not replying earlier.

In short: I think a working group, sponsored by the TAG, to develop the specification sounds great. Could we approve the WG based on the above doc, or does it need to be rewritten based on this new goal?

Details:

In parallel with this discussion, a few of the AEP members have been working on said specification and tooling to go with it, under https://github.com/aep-dev. There is no official governance for the group yet, but we are working on tooling and developing the spec simultaneously.

I did reach out to @negz from crossplane as well as Pulumi, and I think there is some interest in a specification, although we're still in talks to figure out how to satisfy their needs as well as make a specification that's attractive to adopt (since this will require API work on the service side).

Once we have a draft spec, I think that would be a good time to loop in the API machinery owners along with other CNCF projects. So yes, any help / guidance here would be great, please let me know what you suggest for next steps w.r.t. the WG.

toumorokoshi commented 1 year ago

@angellk @joshgav I've updated the proposal based on our discussion in the TAG last week. Thanks for the time!

https://docs.google.com/document/d/1aj5moKNOfv0QQ87i4by4my1C8c9r6z4JfnHHXWDEHwc/edit#heading=h.5x5ch3m4za8x

namely:

Please take a look, and let me know if there's others I should talk to about the proposal and if a decision is forming.

@angellk I will also invite you to our weekly meetings, which are 10-11am PST on Wednesdays. I won't be around for the full meeting for the next couple of weeks, but we do have regular attendance from @makahmad and @rofrankel.

toumorokoshi commented 1 year ago

I will probably author some governance-level repo in our nascent AIP fork (https://github.com/aep-dev) to clarify some of the ways people can get involved. Hopefully this week.

joshgav commented 1 year ago

Hi folks and thanks for your patience and persistence here. Sharing an update following a couple recent meetings.

TAG App Delivery's leadership agrees that this proposal and the patterns this group would put in place are valuable to the cloud computing industry and CNCF's projects; but we believe it's part of a bigger domain of application development projects, patterns and working groups. Though App Development significantly overlaps App Delivery - particularly infrastructure and resource operators and APIs - the app dev domain includes a lot more than infrastructure software and is even more relevant for customer-facing, business-logic apps. So we want to raise the topic of app dev-related projects and discuss with the rest of CNCF's technical leadership at https://github.com/cncf/toc so that we all can consider and agree on how to support the app dev domain going forward.

For example, we may want to create a "TAG App Development" with API patterns as a WG within that TAG. We may want TAG App Delivery to bootstrap TAG App Development. Or perhaps leaders will want to defer App Development to other bodies at the Linux Foundation. So discussion and alignment is needed.

@thschue and @lianmakesthings will take the lead on opening the discussion about app development with TOC and other TAGs and will share the issue they create here. Thanks again for your patience and partnership!

lianmakesthings commented 7 months ago

Hi everyone, we've decided to move forward with an App Dev Working Group, in full awareness that this WG is somewhat out of scope for the App Delivery TAG. We would like to see if we can keep interest consistently high to eventually create a TAG App Development. For now, we're asking you to join the App Dev WG (#wg-app-development on the CNCF Slack) and bring this up as a topic of discussion within that WG