# 01-21-2022 Weekly Landscape Report This is the for the weekly report across five of the leading API specifications, providing a snapshot of these communities that can be used to develop awareness, quantify the scope of, and increase engagement within these communities. ## People Identify one person each week who is doing interesting things within each of these formats. * **OpenAPI** * Name: Keith Casey * Description: Head of Go-to-Market and Product Strategy at Ngrok * Twitter: https://twitter.com/caseysoftware * LinkedIn: https://www.linkedin.com/in/caseysoftware/ * Github: https://github.com/caseysoftware * **AsyncAPI** * Name: Lorna Mitchell * Description: Head of DevRel at Aiven, contributor to both OpenAPI and AsyncAPI * Twitter: https://twitter.com/lornajane * LinkedIn: https://www.linkedin.com/in/lornajane/ * Github: https://github.com/lornajane * **JSON Schema** * Name: Greg Dennis * Description: Lead Engineer, Xero and JSON Schema contributor * Twitter: https://twitter.com/gregsdennis * LinkedIn: https://www.linkedin.com/in/gregdennis/ * Github: https://github.com/gregsdennis * **GraphQL** * Name: Uri Goldshtein * Description: Founder, The Guild * Twitter: https://twitter.com/urigoldshtein * LinkedIn: https://www.linkedin.com/in/urigo/ * Github: https://github.com/Urigo * **gRPC** * Name: Lin Sun * Description: Director of Open Source at Solo.io * Twitter: https://twitter.com/linsun_unc * LinkedIn: https://www.linkedin.com/in/lin-sun-a9b7a81/ * Github: https://github.com/linsun ## Adoption Identify one company or organization that has adopted one of each of these formats (head start available here: [OpenAPI](https://www.postman.com/postman/workspace/postman-open-technologies-openapi/overview), [AsyncAPI](https://www.postman.com/postman/workspace/postman-open-technologies-asyncapi), [JSON Schema](https://www.postman.com/postman/workspace/postman-open-technologies-json-schema/overview)) * **OpenAPI** * Name: AWS API Gateway * Description of Use: * URL: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-open-api.html * **AsyncAPI** * Name: Event Catalog * Description of Use: Document EDAs * URL: https://eventcatalog.dev * **JSON Schema** * Name: CloudFlare's JSON-powered Documentation Generator * Description of Use: It's such a great write up even though not recent * URL: https://blog.cloudflare.com/cloudflares-json-powered-documentation-generator/ * **GraphQL** * Name: Open Social * Description of Use: Decoupling and Switching to API-first; open source platform for building social media sites * URL: https://www.getopensocial.com/blog/open-source/open-social-evolving-first-phase-fully-decoupling * **gRPC** * Name: Linkerd * Description of Use: gRPC retries in Linkerd which is an extension of requests for post bodies * URL: https://www.youtube.com/watch?v=r4y7tE4A9U8 * Footnote: Linkerd is an open source service mesh for kubernetes written in Rust. ## The Beat Make sure we are covering the beat each week and surfacing relevant information from across the communities. ### Any interesting issues? ([OpenAPI](https://github.com/OAI/OpenAPI-Specification), [AsyncAPI](https://github.com/asyncapi/spec), [JSON Schema](https://github.com/json-schema-org/json-schema-spec). [GraphQL](https://github.com/graphql/graphql-spec), [gRPC](https://github.com/grpc/grpc)) * **OpenAPI** * Title: Open Community (TDC) Meeting * Description: Reports from SIGs and triage of PRs and Issues * URL: https://github.com/OAI/OpenAPI-Specification/issues/2860 * **AsyncAPI** * Title: What do we define as a breaking change? * Description: Defining the requirements and content of upcoming video series * URL: https://github.com/asyncapi/spec/issues/688 * **JSON Schema** * Title: ambiguous behaviour of additionalProperties when invalid * Description: Well written issue highlights a fix in the next spec release * URL: https://github.com/json-schema-org/json-schema-spec/issues/1172 * **GraphQL** * Title: Question about grammar * Description: Clarification of modifiers on Arguments * URL: https://github.com/graphql/graphql-spec/issues/918 * **gRPC** * Title: Allow tuning thread parameters for callback API server and client * Description: Feature request to tune the thread count and stack size when using the callback API. * URL: https://github.com/grpc/grpc/issues/28642 ### Any interesting discussions? ([OpenAPI](https://github.com/OAI/OpenAPI-Specification/discussions), [AsyncAPI](https://github.com/asyncapi/community/discussions), [JSON Schema](https://github.com/json-schema-org/community/discussions), [GraphQL](https://github.com/graphql/graphiql/discussions), [gRPC](https://grpc.io/community/)) * **OpenAPI** * Title: How should we determine the prioritization of work? * Description: * URL: https://github.com/OAI/OpenAPI-Specification/discussions/2693 * **AsyncAPI** * Title: Create educational & technical video explaining AsyncAPI's main features * Description: Defining the requirements and content of upcoming video series * URL: https://github.com/asyncapi/community/issues/155 * **JSON Schema** * Title: Restructuring Output Formats * Description: Noodling through the implications of changes to output formats, planting a stake where there is consensus, scrunity on naming and consideration of existing parameters. * URL: https://github.com/json-schema-org/community/discussions/63 * **GraphQL** * Title: N/A * Description: * URL: * **gRPC** * Title: N/A * Description: Most discussion occurs on a subreddit, but nothing for this week. * URL: ### Any interesting news? * **OpenAPI** * Title: Use the OpenAPI Generator to Generate Typed Clients * Description: SAP Cloud SDK * URL: https://sap.github.io/cloud-sdk/docs/js/features/openapi/generate-openapi-client * **AsyncAPI** * Title: Kick off Community for V3.0 * Description: -- * URL: https://www.youtube.com/watch?v=CLNgLB4-UnA * **JSON Schema** * Title: The Fusion of GraphQL, REST, JSON-Schema and HTTP2 * Description: From Wundergraph * URL: https://wundergraph.com/blog/the_fusion_of_graphql_rest_json_schema_and_http2 * **GraphQL** * Title: Relay V13.0 Released - Facebook's Open Source GraphQL client * Description: Relay-compiler is now implemented in Rust and it replaced the JS version from v12. * URL: https://github.com/facebook/relay/releases/tag/v13.0.0 * **gRPC** * Title: Release of gRPC benchmarks * Description: * URL: https://github.com/LesnyRumcajs/grpc_bench/wiki/2022-01-11-bench-results ### Any interesting tweets? * **OpenAPI** * Title: Event Catalog OpenAPI plugin * Description: List of features and pre release announcement * URL: https://twitter.com/boyney123/status/1484529334627049473 * **AsyncAPI** * Title: Another bi-weekly update about the AsyncAPISpec Spec ecosystem. * Description: Report * URL: https://twitter.com/smoyac/status/1483483219756560386 * **JSON Schema** * Title: Canonical URIs in JSON Schema * Description: * URL: https://twitter.com/relequestual/status/1483818631398055938 * **GraphQL** * Title: GraphQL Community Grant! * Description: The GraphQL Foundation and TSC are launching a new grant program to sponsor community-focused work. * URL: https://twitter.com/leeb/status/1469033975788171267 * **gRPC** * Title: Kubernetes is starting to favor gRPC over other RPCs * Description: * URL: https://twitter.com/ahmetb/status/1471530310072475655 ### Any interesting videos? * **OpenAPI** * Title: SwaggerHub Plugin for IntelliJ IDEA * Description: Tutorial * URL: https://support.smartbear.com/swaggerhub/docs/integrations/intellij.html * **AsyncAPI** * Title: Introduction to AsyncAPI for Apache Kafka * Description: Talk delivered at ApacheCon * URL: https://www.youtube.com/watch?v=YS7awB40NF8 * **JSON Schema** * Title: Enforcing Schema in MongoDB * Description: How to create validation rules using JSON Schema and MongoDB Query Language (MQL). * URL: https://www.youtube.com/watch?v=MEp7mL17fvU * **GraphQL** * Title: The Secret to Graph Onboarding * Description: A demo of how to set up a graph to work with Plaid's REST API and make it easy for people to use. Focus on ease of use. * URL: https://portal.gitnation.org/contents/the-secret-to-graph-onboarding * **gRPC** * Title: High-performance services with gRPC: What's new in .NET 6 * Description: gRPC runs atop ASP.net and this video describes improvements to gRPC in the release of .Net 6. * URL: https://www.youtube.com/watch?v=CXH_jEa8dUw ### Any interesting tools? * **OpenAPI** * Title: openapi * Description: Generate JavaScript or TypeScript code from Swagger/OpenAPI specification. * URL: https://www.npmjs.com/package/openapi * **AsyncAPI** * Title: Neuroglia.AsyncAPI.Core * Description: A .Net 5.0 lib to read, write, build and validate AsyncAPI documents. * URL: https://www.nuget.org/packages/Neuroglia.AsyncApi.Core/ * **JSON Schema** * Title: python-jsonschema 3.2.0 * Description: Jsonschema is an implementation of JSON Schema for Python. * URL: https://guix.gnu.org/en/packages/python-jsonschema-3.2.0/ * **GraphQL** * Title: Relay * Description: The GraphQL client that scales with you * URL: https://relay.dev * **gRPC** * Title: BloomRPC * Description: Inspired by Postman and GraphQL Playground BloomRPC aims to provide the simplest and most efficient developer experience for exploring and querying your GRPC services. * URL: https://github.com/bloomrpc/bloomrpc ### Any interesting events? * **OpenAPI** * Title: 2021 IEEE Secure Development Conference (SecDev) * Description: Analyzing OpenAPI Specifications for Security Design Issues * URL: * **AsyncAPI** * Title: EDA Summit conference on May 4, 2022 * Description: Solace announced it has published an open source version of its PubSub+ Event Portal’s event discovery feature as a project called “AsyncAPI Discovery Tool.” * URL: https://edasummit.com * **JSON Schema** * Title: N/A * Description: * URL: * **GraphQL** * Title: GraphQL Galaxy * Description: Largest GraphQL on Dec 9 - 10 2021 has many excellent recorded talks. * URL: https://portal.gitnation.org/events/graphql-galaxy-2021 * **gRPC** * Title: OWASP LA Monthly Virtual Meeting - JAN 26, 2022 * Description: Peeling the Onion: Making Sense of the Layers of API Security * URL: https://www.meetup.com/OWASP-Los-Angeles/events/282764029/ ## Scope Quantifying the scope of the communities week by week. ### Twitter Followers Measuring the activity that occurs across Twitter * **[OpenAPI](https://twitter.com/OpenApiSpec)**: 7,677 * **[AsyncAPI](https://twitter.com/AsyncAPISpec)**: 2,981 * **[JSON Schema](https://twitter.com/jsonschema)**: 820 * **[GraphQL](https://twitter.com/GraphQL)**: 70,531 * **[gRPC](https://twitter.com/grpcio)**: 15,735 ### Github Scope Measuring the activity occurring across Github * **[OpenAPI](https://github.com/OAI/OpenAPI-Specification)** * Github Repo Forks: 8,023 * Github Repo Watch: 880 * Github Repo Stars: 22,836 * **[AsyncAPI](https://github.com/asyncapi/spec)** * Github Repo Forks: 164 * Github Repo Watch: 51 * Github Repo Stars: 1900 * **[JSON Schema](https://github.com/json-schema-org/json-schema-spec)** * Github Repo Forks: 234 * Github Repo Watch: 101 * Github Repo Stars: 2,471 * **[GraphQL](https://github.com/graphql/graphql-spec)** * Github Repo Forks: 1.103 * Github Repo Watch: 542 * Github Repo Stars: 13,606 * **[gRPC](https://github.com/grpc/grpc)** * Github Repo Forks: 8,691 * Github Repo Watch: 1,353 * Github Repo Stars: 33,152 ## Stack Overflow Questions Measuring the activity on Stack Overflow using number of overall questions. * **[OpenAPI](https://stackoverflow.com/search?q=openapi)** : 9,339 * **[AsyncAPI](https://stackoverflow.com/search?q=asyncapi)**: 126 * **[JSON Schema](https://stackoverflow.com/search?q=json+schema)**: 32,261 * **[GraphQL](https://stackoverflow.com/search?q=graphql)**: 43,919 * **[gRPC](https://stackoverflow.com/search?q=grpc)**: 16,055