<?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:gd="http://schemas.google.com/g/2005" xmlns:georss="http://www.georss.org/georss" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:thr="http://purl.org/syndication/thread/1.0"><id>tag:blogger.com,1999:blog-8698702854482141883</id><updated>2026-11-12T11:34:44.502-08:00</updated><category term="releases"/><category term="student programs"/><category term="gci"/><category term="conference"/><category term="students"/><category term="open source release"/><category term="announcements"/><category term="ghop"/><category term="meetups"/><category term="Kubernetes"/><category term="education"/><category term="documentation"/><category term="Python"/><category term="AI"/><category term="Linux"/><category term="Season of Docs"/><category term="GSoC Meetups"/><category term="technical writing"/><category term="project hosting"/><category term="Cloud"/><category term="guest post"/><category term="testing"/><category term="hackathon"/><category term="twios"/><category term="news"/><category term="statistics"/><category term="TensorFlow"/><category term="Android"/><category term="C++"/><category term="Open Source"/><category term="App Engine"/><category term="Go"/><category term="OSCON"/><category term="library"/><category term="wrap-up"/><category term="JavaScript"/><category term="GKE"/><category term="Git"/><category term="Java"/><category term="games"/><category term="accessibility"/><category term="compression"/><category term="Eclipse"/><category term="Google Cloud Platform"/><category term="KDE"/><category term="deep learning"/><category term="google open source"/><category term="mentors"/><category term="peer bonus"/><category term="GNOME"/><category term="OpenCensus"/><category term="R"/><category term="bazel"/><category term="database"/><category term="open source programs"/><category term="BSD"/><category term="Chrome"/><category term="Chromium"/><category term="Dart"/><category term="OSS"/><category term="licensing"/><category term="peer bonus program"/><category term="science"/><category term="silicon"/><category term="Google Earth"/><category term="Google I/O"/><category term="HTML5"/><category term="JAX"/><category term="Subversion"/><category term="awards"/><category term="fonts"/><category term="maps"/><category term="report card"/><category term="GSoC 10 Things"/><category term="Gemma"/><category term="GitHub"/><category term="Selenium"/><category term="SoD"/><category term="VR"/><category term="distributed tracing"/><category term="fuzzing"/><category term="hardware"/><category term="usability"/><category term="BigQuery"/><category term="Django"/><category term="Gerrit"/><category term="Google Brain"/><category term="Haskell"/><category term="Knative"/><category term="ML"/><category term="OSS-Fuzz"/><category term="PostgreSQL"/><category term="Samba"/><category term="audio"/><category term="computer vision"/><category term="contest"/><category term="google"/><category term="google code-in"/><category term="mobile"/><category term="observability"/><category term="projects"/><category term="API"/><category term="Apache Beam"/><category term="CEL"/><category term="Data"/><category term="Developer Tools"/><category term="Docker"/><category term="Flutter"/><category term="Free Software Foundation"/><category term="GCC"/><category term="GCP"/><category term="Google Season of Docs"/><category term="Spanner"/><category term="This Week in Open Source"/><category term="contributor"/><category term="diversity"/><category term="docs"/><category term="government"/><category term="ios"/><category term="metrics"/><category term="networking"/><category term="open silicon"/><category term="opentitan"/><category term="performance"/><category term="reinforcement learning"/><category term="standards"/><category term="AR"/><category term="Antmicro"/><category term="Creative Commons"/><category term="Explore"/><category term="GNU"/><category term="Istio"/><category term="JSON"/><category term="Machine Learning Framework"/><category term="Mercurial"/><category term="OpenTelemetry"/><category term="Perl"/><category term="Vertex AI"/><category term="compliance"/><category term="graphics"/><category term="instrumentation"/><category term="k8s"/><category term="open source ML"/><category term="open source software"/><category term="privacy"/><category term="protocol buffers"/><category term="season of usability"/><category term="virtual events"/><category term="webdriver"/><category term="A2A"/><category term="Agentic AI"/><category term="Agents"/><category term="Apache"/><category term="Apache Software Foundation"/><category term="Best Practices"/><category term="BioJS"/><category term="C"/><category term="CSS"/><category term="Census"/><category term="Code"/><category term="Common Expression Language"/><category term="Dataflow"/><category term="Firebase"/><category term="Gateway API"/><category term="Google Compute Engine"/><category term="Ingress"/><category term="Kotlin"/><category term="Lakehouse"/><category term="Learn"/><category term="ML Ops"/><category term="Neural Networks"/><category term="Open Source Today"/><category term="PHP"/><category term="RISC-V"/><category term="SDK"/><category term="SLSA"/><category term="SQL"/><category term="Science Journal"/><category term="Sustainability"/><category term="Tekton"/><category term="Tracing"/><category term="Unicode"/><category term="YouTube"/><category term="bazelcon"/><category term="coding"/><category term="continuous integration"/><category term="differential privacy"/><category term="embedded"/><category term="evaluation"/><category term="fun propulsion lab"/><category term="gaming"/><category term="genomics"/><category term="golang"/><category term="hardware security"/><category term="health"/><category term="healthcare"/><category term="images"/><category term="internationalization"/><category term="interoperability"/><category term="junit4"/><category term="microcontrollers"/><category term="microservices"/><category term="natural language"/><category term="network"/><category term="open data"/><category term="optimization"/><category term="parameterized-tests"/><category term="patents"/><category term="production ML"/><category term="profiles"/><category term="quantum computing"/><category term="scaling ML"/><category term="scanning"/><category term="security scanning"/><category term="translation"/><category term="virtual reality"/><category term="visualization"/><category term="web"/><category term="3D Graphics"/><category term="AI/ML"/><category term="Announcement"/><category term="Apache Iceberg"/><category term="CNCF"/><category term="CPU"/><category term="Cloud Composer"/><category term="Cloud SQL"/><category term="Community"/><category term="Conformance"/><category term="D&amp;I"/><category term="DevSecOps"/><category term="Developers"/><category term="Efabless"/><category term="Etcd"/><category term="FOSDEM"/><category term="FOSSASIA"/><category term="Filesystems"/><category term="GIS"/><category term="GPU"/><category term="GSoC"/><category term="Gemini"/><category term="Generative AI"/><category term="Google App Engine"/><category term="Google Cloud"/><category term="Google I/O 2024"/><category term="Google OSS"/><category term="Google Summer of Code"/><category term="Haiku"/><category term="HashiCorp Vault"/><category term="IAMF"/><category term="Industry Trends"/><category term="JPEG"/><category term="Learn Kubernetes with Google"/><category term="Linux.conf.au"/><category term="Logic Programming"/><category term="ML Dev Tools"/><category term="Natural Language Understanding"/><category term="OSPO"/><category term="Objective-C"/><category term="Open Source Summit"/><category term="Open source peer bonus"/><category term="OpenMPW"/><category term="OpenTelementry"/><category term="OpenTracing"/><category term="OpenXLA"/><category term="Oracle"/><category term="PDK"/><category term="POSSE"/><category term="Problem-Solving"/><category term="Programming Languages"/><category term="PyTorch"/><category term="Quantum"/><category term="Release Notes"/><category term="Ruby"/><category term="SFT"/><category term="SIMD"/><category term="Security"/><category term="Software Engineering"/><category term="TPU Optimization"/><category term="TPU Performance"/><category term="Terraform"/><category term="Traffic Splitting"/><category term="Tunix"/><category term="Unity"/><category term="Vault"/><category term="Vulnerabilities"/><category term="WebAssembly"/><category term="ZuriHac"/><category term="ai agents"/><category term="analytics"/><category term="australia"/><category term="authentication backend"/><category term="benchmark"/><category term="beta"/><category term="bioinformatics"/><category term="blockly"/><category term="cardboard"/><category term="chemistry"/><category term="cloud native"/><category term="compilers"/><category term="debugging"/><category term="eclipsa"/><category term="energy"/><category term="foundations"/><category term="gVisor"/><category term="geography"/><category term="geometry"/><category term="inclusion"/><category term="information security"/><category term="internships"/><category term="json-ld"/><category term="junit5"/><category term="kernel"/><category term="language"/><category term="machine perception"/><category term="maintainers"/><category term="mentor"/><category term="metabrainz"/><category term="network scanning"/><category term="physics"/><category term="programs"/><category term="progression"/><category term="robotics"/><category term="schema.org"/><category term="search"/><category term="secret management"/><category term="serverless"/><category term="steam"/><category term="structured data"/><category term="student"/><category term="sugar labs"/><category term="summer of code"/><category term="textures"/><category term="tilt brush"/><category term="time zones"/><category term="tools"/><category term="typescript"/><category term="validation"/><category term="video"/><category term="wafer"/><category term="webvr"/><category term="writing"/><category term="#opensource #PDK #silicon #eda #180nm #efabless #OpenMPW"/><category term=". Web"/><category term=".NET"/><category term="1.17"/><category term="1.19"/><category term="1.21"/><category term="1.30"/><category term="1.31"/><category term="1.32"/><category term="1.33"/><category term="1.34"/><category term="180nm"/><category term="2FA"/><category term="3D"/><category term="3Daudio"/><category term="90nm"/><category term="A2April"/><category term="ADC"/><category term="AI&#10;Industry Trends"/><category term="AI Innovation"/><category term="AI Security"/><category term="AI-integrated"/><category term="AMP"/><category term="AOSSIE"/><category term="APM"/><category term="AWS"/><category term="AWS Trainium"/><category term="Abseil"/><category term="Agent Sandbox"/><category term="Agent2Agent"/><category term="Agentic commerce"/><category term="AlloyDB"/><category term="Allstar"/><category term="Anomaly Detection"/><category term="Anthos"/><category term="Apache 2.0"/><category term="Apache Airflow"/><category term="Apache Flink"/><category term="Apache HBase"/><category term="Apache Spark"/><category term="Apigee"/><category term="Application Performance Management"/><category term="Artificial Intelligence"/><category term="BMC"/><category term="Backup"/><category term="BigLake"/><category term="Bigtable"/><category term="Business &amp; Leadership"/><category term="C#"/><category term="CFP"/><category term="CICD"/><category term="CIS"/><category term="CQL"/><category term="CVE"/><category term="Cactus"/><category term="Case Study"/><category term="Chinese"/><category term="Chip Design"/><category term="CircuitVerse"/><category term="Clang"/><category term="Clinical Quality Language"/><category term="Cloud Data Fusion"/><category term="Cloud Monitoring"/><category term="Cloud Speech API"/><category term="Cloud TPU"/><category term="CloudCV"/><category term="Colab"/><category term="Competition"/><category term="Containers"/><category term="Contributing"/><category term="Contributors Maintainers"/><category term="Control-M"/><category term="DAW"/><category term="DICOM"/><category term="DICOMWeb"/><category term="DRA"/><category term="Dapper"/><category term="Data Analytics"/><category term="Data Governance"/><category term="Data Lakes"/><category term="Data Lineage"/><category term="Data Science"/><category term="Data analysis"/><category term="Data validation"/><category term="Data-Driven"/><category term="Databases"/><category term="Datalake"/><category term="Dataproc"/><category term="Debian"/><category term="DeepDream"/><category term="DeepMind"/><category term="Demos"/><category term="DevOps"/><category term="Digital Pathology"/><category term="DoubleCheck"/><category term="Dynamic Resource Allocation"/><category term="EDA"/><category term="EDW"/><category term="ESCA"/><category term="EclipsaAudio"/><category term="Eclipse Foundation"/><category term="Embedded Linux"/><category term="Embodied AI"/><category term="Envoy"/><category term="Events"/><category term="Expression Language"/><category term="FDSOI"/><category term="FPGA"/><category term="Fluent Bit"/><category term="Fraud Detection"/><category term="Fuchsia"/><category term="FuzzBench"/><category term="Fuzzer Benchmarking"/><category term="Fuzzer Evaluation"/><category term="Fuzzer Evaluator"/><category term="GCVE"/><category term="GIF"/><category term="GNU Radio"/><category term="GPL"/><category term="GPS"/><category term="Gemmaverse"/><category term="GenerativeAI"/><category term="Google Ads"/><category term="Google Blocks"/><category term="Google Cloud Console"/><category term="Google Cloud VMware Engine"/><category term="Google Genomics"/><category term="Google My Business"/><category term="Google OSPO"/><category term="Google Play"/><category term="GoogleSQL"/><category term="Governance"/><category term="HPC"/><category term="HUES"/><category term="High-Performance"/><category term="Host offloading"/><category term="Hugging Face"/><category term="IAM"/><category term="ICLR"/><category term="IaC"/><category term="Iceberg"/><category term="InSpec"/><category term="Inclusive"/><category term="Intel Xeon"/><category term="Intermediate"/><category term="IoT"/><category term="JPEG XL"/><category term="JanusGraph"/><category term="Japanese"/><category term="Jaspr"/><category term="Java library"/><category term="Jenkins"/><category term="Jigsaw"/><category term="Joomla"/><category term="Jpegli"/><category term="Jupyter"/><category term="Kaggle"/><category term="Korean"/><category term="Kube-Agents"/><category term="Kubernetes Operator"/><category term="LF"/><category term="LIDAR"/><category term="LLM"/><category term="LLM Post-training"/><category term="LLM Safety"/><category term="LLM training"/><category term="LLMs"/><category term="LMEval"/><category term="LaTeX"/><category term="LabLua"/><category term="Learn Kubernetes"/><category term="Linux Foundation"/><category term="Linux man-pages"/><category term="Liquid Galaxy"/><category term="ML systems"/><category term="MLCommons"/><category term="MLLMs"/><category term="Machine Learning"/><category term="Maintainer"/><category term="Maintaining"/><category term="Marin 32B"/><category term="Measure"/><category term="MediaPipe"/><category term="Medical"/><category term="Medical Imaging"/><category term="Mentor Summit"/><category term="Mentorship"/><category term="Mesh"/><category term="Meta"/><category term="MicroK8s"/><category term="Migration"/><category term="Model Verification"/><category term="Multi-Platform"/><category term="NGINX"/><category term="NIST"/><category term="NRNB"/><category term="Node.js"/><category term="OAuth"/><category term="OSS hardware"/><category term="OSSEU"/><category term="OSSNA"/><category term="Open Models"/><category term="Open Source Compliance"/><category term="Open source hardware"/><category term="Open standards"/><category term="OpenChain"/><category term="OpenFermion"/><category term="OpenLineage"/><category term="OpenMRS"/><category term="OpenMetrics"/><category term="OpenROAD"/><category term="Oppia"/><category term="Optimal Control"/><category term="Orange"/><category term="Pebble"/><category term="Phare Benchmark"/><category term="Policy"/><category term="Population Health"/><category term="PowerShell"/><category term="Productivity"/><category term="Public Dataset"/><category term="Public Lab"/><category term="PyIceberg"/><category term="Pyrefly"/><category term="QEMU"/><category term="Qualtran"/><category term="Quantum AI"/><category term="RDMA"/><category term="RL"/><category term="RTOS"/><category term="Rails"/><category term="Rails Girls Summer of Code"/><category term="Raspberry Pi Foundation"/><category term="Refresh token"/><category term="Research"/><category term="Respect"/><category term="Respectful"/><category term="Responsible AI"/><category term="Routing"/><category term="Rust"/><category term="Rust security"/><category term="S2"/><category term="SCoRe"/><category term="SLAM"/><category term="SRE"/><category term="SSH authorization open-source"/><category term="STE||AR"/><category term="Sandbox"/><category term="Scene Graphs"/><category term="Scheduler"/><category term="Scratch"/><category term="Secrets Scanning"/><category term="Security Scorecards"/><category term="Semi-Supervised Learning"/><category term="Semiconductors"/><category term="Server-side Apply"/><category term="Service Mesh"/><category term="Site Reliability Engineering"/><category term="SkyWater"/><category term="Smart Buildings"/><category term="Smart Campaign"/><category term="Smartwatches"/><category term="Software"/><category term="Solutions"/><category term="Solve"/><category term="Sorting"/><category term="Sound Separation"/><category term="Sparrow"/><category term="Spatial Reasoning"/><category term="Spinnaker"/><category term="Stable Diffusion"/><category term="Supervised Fine Tuning"/><category term="Supply chain security; OpenSSF; GOSST; Scorecard; SLSA; sos.dev"/><category term="Swagless"/><category term="Systers"/><category term="TPU"/><category term="TPU Compute"/><category term="TPUs"/><category term="TensorFlow-XLA"/><category term="Test Automation"/><category term="TestParameterInjector"/><category term="Three.js"/><category term="Titan"/><category term="Topology Awareness"/><category term="Trademarks"/><category term="Tunix Framework"/><category term="UCP"/><category term="Universal Commerce Protocol"/><category term="VMware"/><category term="VPN"/><category term="VR/AR"/><category term="Verifiable Games"/><category term="Vision-Language Models"/><category term="WSI"/><category term="Web development"/><category term="WebXR"/><category term="WikiLoop"/><category term="Wikipedia"/><category term="Workflow Migration"/><category term="WriteAPI"/><category term="XLA"/><category term="YAML"/><category term="YouTube API"/><category term="ZetaSQL"/><category term="a2ui"/><category term="adk"/><category term="ads"/><category term="algorithms"/><category term="angular"/><category term="anniversary"/><category term="annotation guidelines"/><category term="aosp"/><category term="ap2"/><category term="arXiv"/><category term="arduino"/><category term="asf"/><category term="asic"/><category term="astronomy"/><category term="atheris"/><category term="autoML"/><category term="back end development"/><category term="backupdr"/><category term="backups"/><category term="beam"/><category term="beam summit"/><category term="benchmarking"/><category term="benchmarks"/><category term="big data"/><category term="binpacker"/><category term="birthday"/><category term="black-box"/><category term="block coding"/><category term="block-based coding"/><category term="block-based programming"/><category term="blog"/><category term="browsers"/><category term="bug bounty"/><category term="captions"/><category term="chips-alliance"/><category term="cilium"/><category term="clojure"/><category term="cloud computing"/><category term="cloud development"/><category term="cloud ops"/><category term="co-design"/><category term="coala"/><category term="code review"/><category term="code-samples"/><category term="codec"/><category term="common library"/><category term="communities"/><category term="computeengine"/><category term="computer science"/><category term="conferences"/><category term="container security"/><category term="continuous delivery"/><category term="contribution"/><category term="coronovirus"/><category term="cost optimization"/><category term="covid"/><category term="covid-19"/><category term="crawling"/><category term="creators"/><category term="critical open source projects"/><category term="criticality score"/><category term="crowdsourcing"/><category term="cryptography"/><category term="data migration"/><category term="data mining"/><category term="datacenter"/><category term="dataset"/><category term="datasets"/><category term="developer library"/><category term="development"/><category term="diffusion models"/><category term="disasterrecovery"/><category term="distributed applications"/><category term="draco"/><category term="earthquakes"/><category term="edcation"/><category term="emergency"/><category term="execution"/><category term="external"/><category term="fDPO"/><category term="fhir"/><category term="file type detection"/><category term="fine-tuning"/><category term="formal verification"/><category term="foundation"/><category term="foundation model"/><category term="frameworks"/><category term="functional programming"/><category term="funding"/><category term="fuzzer"/><category term="fuzzing internship"/><category term="fuzzing research"/><category term="gci orgs"/><category term="gci students"/><category term="gcloud"/><category term="geology"/><category term="gmail"/><category term="google developers"/><category term="google peer bonus"/><category term="googlecloud"/><category term="graph"/><category term="graphdb"/><category term="gsoc student"/><category term="hl7"/><category term="image compression"/><category term="immersive"/><category term="infrastructure"/><category term="inspiration"/><category term="instance metadata"/><category term="instructional videos"/><category term="interactive music"/><category term="interns"/><category term="keystroke"/><category term="knative 1.0"/><category term="kotlin multiplatform"/><category term="kubecon"/><category term="language models"/><category term="latinx"/><category term="lca"/><category term="learn Istio"/><category term="lisp"/><category term="live panel"/><category term="live transcribe"/><category term="load testing"/><category term="locust"/><category term="logo"/><category term="lowrisc"/><category term="lua"/><category term="machine learning software infrastructure"/><category term="machine translation"/><category term="magika"/><category term="making"/><category term="mathematical software"/><category term="medical text"/><category term="melange"/><category term="memory"/><category term="milestone"/><category term="monitoring"/><category term="monolith"/><category term="multi-cluster"/><category term="musicbrainz"/><category term="mysql"/><category term="nmap"/><category term="npm"/><category term="open access"/><category term="open data sets"/><category term="open source award"/><category term="open source communities"/><category term="open source fuzzing"/><category term="open source security"/><category term="open-source"/><category term="opensource"/><category term="openssf"/><category term="operating system"/><category term="operations research"/><category term="oss criticality"/><category term="packaging"/><category term="partners"/><category term="peer bonus winner"/><category term="perfkit"/><category term="performance testing"/><category term="perkit benchmarker"/><category term="pigweed"/><category term="pixar"/><category term="pkb"/><category term="pkg.go.dev"/><category term="podcasting"/><category term="post-training"/><category term="processing"/><category term="proxy"/><category term="quantum virtual machine"/><category term="rare disease"/><category term="recognition"/><category term="recommender systems"/><category term="registry"/><category term="repos"/><category term="response"/><category term="runtime"/><category term="saliency"/><category term="sampling"/><category term="scaling"/><category term="schedviz"/><category term="scorecards"/><category term="seL4"/><category term="secure"/><category term="secure compute"/><category term="sigstore"/><category term="simulation"/><category term="software supply chain"/><category term="spatial"/><category term="spatial audio"/><category term="spatial indexing"/><category term="spatialaudio"/><category term="speech recognition"/><category term="spherical geometry"/><category term="sponsorship"/><category term="style"/><category term="summer internships in technology"/><category term="supply chain attacks"/><category term="supply chain security"/><category term="systemverilog"/><category term="tags"/><category term="technical documentation"/><category term="technical talks"/><category term="temporal cartography"/><category term="tfrecord"/><category term="tracepoints"/><category term="transparency"/><category term="ui automation"/><category term="ulnerability management"/><category term="verification"/><category term="verilog"/><category term="virtual"/><category term="virtualization"/><category term="virtualmachine"/><category term="vm"/><category term="vms"/><category term="vulnerability"/><category term="vulnerability management"/><category term="vulnerability rewards program"/><category term="web fonts"/><category term="websites"/><category term="women in open source"/><category term="workshops"/><category term="zopfli"/><title type="text">Google Open Source Blog</title><subtitle type="html">News about Google's Open Source projects and programs.</subtitle><link href="http://opensource.googleblog.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default" rel="self" type="application/atom+xml"/><link href="http://opensource.googleblog.com/" rel="alternate" type="text/html"/><link href="at://did:plc:x6bnzgic7duwjxogg7zb3qas/site.standard.publication/3mndfvmhpuf2f" rel="site.standard.publication"/><link href="http://pubsubhubbub.appspot.com/" rel="hub"/><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><generator uri="http://www.blogger.com" version="7.00">Blogger</generator><openSearch:totalResults>1565</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8698702854482141883.post-3197315110731602570</id><published>2026-11-12T11:30:00.000-08:00</published><updated>2026-11-12T11:30:00.232-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AI"/><category scheme="http://www.blogger.com/atom/ns#" term="Cloud"/><category scheme="http://www.blogger.com/atom/ns#" term="Kubernetes"/><category scheme="http://www.blogger.com/atom/ns#" term="Open Source"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><title type="text">Kubernetes Python client gets a modern overhaul for the AI/ML era</title><content type="html">&lt;meta name="twitter:image" content="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5Ew4zwACrflispkhfyO2RPltMX4eBYd9sSXXT5hNZ6G2FugX5WAu3wE3fpuJya824APcC0qjVwLxzwxqg2hK957Z4bln1aCl6_Pwwht9BQW6HF-cqjgdQZzRRvhV2qlar_m_t37Pkl5O4BptwMY1D2CX-g_U_x5XhXvrCiaU93gX0GwRTtyCEanRAQTU/s1600/Header%20-%20OSS%20-%20Kubernetes%20Gateway%20API%20graduates%20to%20GA%20%281%29.png" /&gt;
&lt;img class="metadata" alt="Google Open Source circuit-board banner featuring the blue Kubernetes helm wheel surrounded by colorful icons representing code, cloud infrastructure, configuration, and community collaboration." src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5Ew4zwACrflispkhfyO2RPltMX4eBYd9sSXXT5hNZ6G2FugX5WAu3wE3fpuJya824APcC0qjVwLxzwxqg2hK957Z4bln1aCl6_Pwwht9BQW6HF-cqjgdQZzRRvhV2qlar_m_t37Pkl5O4BptwMY1D2CX-g_U_x5XhXvrCiaU93gX0GwRTtyCEanRAQTU/s1600/Header%20-%20OSS%20-%20Kubernetes%20Gateway%20API%20graduates%20to%20GA%20%281%29.png" /&gt;
&lt;p class="byline"&gt;by &lt;author&gt;Yu Liao&lt;/author&gt;, &lt;author&gt;Haowei Cai&lt;/author&gt;, and &lt;author&gt;Federico Bongiovanni&lt;/author&gt;, Google Cloud Kubernetes Engineering &amp;amp; SIG API Machinery&lt;/p&gt;

&lt;figure class="wide borderless"&gt;
  &lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5Ew4zwACrflispkhfyO2RPltMX4eBYd9sSXXT5hNZ6G2FugX5WAu3wE3fpuJya824APcC0qjVwLxzwxqg2hK957Z4bln1aCl6_Pwwht9BQW6HF-cqjgdQZzRRvhV2qlar_m_t37Pkl5O4BptwMY1D2CX-g_U_x5XhXvrCiaU93gX0GwRTtyCEanRAQTU/s1600/Header%20-%20OSS%20-%20Kubernetes%20Gateway%20API%20graduates%20to%20GA%20%281%29.png"&gt;&lt;img alt="Google Open Source circuit-board banner featuring the blue Kubernetes helm wheel surrounded by colorful icons representing code, cloud infrastructure, configuration, and community collaboration." src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5Ew4zwACrflispkhfyO2RPltMX4eBYd9sSXXT5hNZ6G2FugX5WAu3wE3fpuJya824APcC0qjVwLxzwxqg2hK957Z4bln1aCl6_Pwwht9BQW6HF-cqjgdQZzRRvhV2qlar_m_t37Pkl5O4BptwMY1D2CX-g_U_x5XhXvrCiaU93gX0GwRTtyCEanRAQTU/s1600/Header%20-%20OSS%20-%20Kubernetes%20Gateway%20API%20graduates%20to%20GA%20%281%29.png" /&gt;&lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;When you train a large language model with Kubeflow, orchestrate distributed compute with Ray on Google Kubernetes Engine (GKE), serve inference traffic with KServe, or schedule thousands of ML pipeline pods with Apache Airflow, two technologies almost always meet under the hood: &lt;strong&gt;Python&lt;/strong&gt; and &lt;strong&gt;Kubernetes&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Python is the undisputed lingua franca of artificial intelligence and machine learning. Kubernetes is the de facto operating system for AI infrastructure—scheduling GPUs and TPUs, orchestrating distributed training jobs, and scaling model serving endpoints. Connecting these two worlds is the official Kubernetes Python client (&lt;a href="https://github.com/kubernetes-client/python"&gt;&lt;code class="inline"&gt;kubernetes-client/python&lt;/code&gt;&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;Second only to Kubernetes's in-tree Go client (&lt;code class="inline"&gt;client-go&lt;/code&gt;) in popularity, the Kubernetes Python client is downloaded &lt;strong&gt;more than 73 million times per month on PyPI&lt;/strong&gt; (~1.7 million times a day) and has earned over &lt;strong&gt;7,500 GitHub stars&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Yet for the past several years, this critical bridge between Python and Kubernetes has operated in low-maintenance mode. As AI/ML workloads have exploded in scale and complexity, the gap between what modern AI infrastructure demands and what the legacy Python client was built to deliver has become impossible to ignore.&lt;/p&gt;

&lt;p&gt;Today, we're sharing how Google Cloud engineers are partnering with open source contributors in &lt;strong&gt;Kubernetes SIG API Machinery&lt;/strong&gt; to modernize the official Kubernetes Python client for the AI/ML era.&lt;/p&gt;

&lt;h2&gt;The historical problem: Legacy machinery meets hyperscale AI&lt;/h2&gt;

&lt;p&gt;As AI/ML clusters grew from dozens of nodes to &lt;strong&gt;50,000-node hyperscale environments&lt;/strong&gt;, the limitations of the Python client's aging architecture began surfacing as real-world production bottlenecks:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;strong&gt;Frozen on a decommissioned code generator:&lt;/strong&gt; Up through Kubernetes 1.35, the Python client generated its ~400,000 lines of API and model code using &lt;strong&gt;OpenAPI Generator v4.3.0 (&lt;code class="inline"&gt;python-legacy&lt;/code&gt;)&lt;/strong&gt;—a generator version that was deprecated in 2020 and completely removed from the upstream OpenAPI Generator project in May 2022. Staying pinned to v4.3.0 meant the client accumulated &lt;code class="inline"&gt;DeprecationWarning&lt;/code&gt; debt across newer Python releases, struggled with modern dependency resolution alongside PyTorch and TensorFlow, and couldn't easily receive upstream generator bug fixes.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Synchronous-only execution in an &lt;code class="inline"&gt;asyncio&lt;/code&gt; world:&lt;/strong&gt; Modern Python web frameworks, inference servers, and orchestrators have overwhelmingly shifted to &lt;code class="inline"&gt;asyncio&lt;/code&gt; to handle high-concurrency I/O without being bottlenecked by Python's Global Interpreter Lock (GIL). Because the official client lacked native &lt;code class="inline"&gt;asyncio&lt;/code&gt; support from the start, users were forced to turn to community clients like &lt;code class="inline"&gt;kubernetes-asyncio&lt;/code&gt; or third-party clients (&lt;code class="inline"&gt;kr8s&lt;/code&gt;, &lt;code class="inline"&gt;lightkube&lt;/code&gt;).&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Missing controller primitives (&lt;code class="inline"&gt;SharedInformer&lt;/code&gt;):&lt;/strong&gt; In Go, controllers use &lt;code class="inline"&gt;SharedInformer&lt;/code&gt; to maintain a local, event-driven cache of cluster resources without repeatedly polling &lt;code class="inline"&gt;kube-apiserver&lt;/code&gt;. Without an equivalent primitive in Python, applications watching thousands of training pods or custom resources often hammered the API server or ran into watch disconnects.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Slow model deserialization and HTTP/1.1 transport limits:&lt;/strong&gt; In large clusters, listing pods or nodes in Python could take &lt;strong&gt;30+ seconds&lt;/strong&gt; due to excessive model reconfiguration during JSON deserialization (&lt;a href="https://github.com/kubernetes-client/python/issues/1921"&gt;issue #1921&lt;/a&gt;). Combined with an underlying &lt;code class="inline"&gt;urllib3&lt;/code&gt; transport layer restricted to HTTP/1.1, Python workloads missed out on the HTTP/2 multiplexing, flow control, and binary framing that make &lt;code class="inline"&gt;client-go&lt;/code&gt; fast at scale.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;A principled approach: Built for AI/ML, not 1:1 parity&lt;/h2&gt;

&lt;p&gt;When we set out to modernize the Kubernetes Python client, we established two guiding principles to ensure our engineering investments deliver the highest possible return for the community:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;strong&gt;Target high-impact gaps, not 1:1 &lt;code class="inline"&gt;client-go&lt;/code&gt; parity:&lt;/strong&gt; &lt;code class="inline"&gt;client-go&lt;/code&gt; is the in-tree Kubernetes client used by the control plane itself (&lt;code class="inline"&gt;kube-controller-manager&lt;/code&gt;, &lt;code class="inline"&gt;kube-scheduler&lt;/code&gt;, and in-tree controllers). Attempting to replicate every long-tail &lt;code class="inline"&gt;client-go&lt;/code&gt; feature in Python would yield diminishing returns. Instead, we focus strictly on the primitives Python developers and operators actually need in production.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Prioritize AI/ML workload requirements:&lt;/strong&gt; Because AI/ML training, inference, and batch frameworks are the primary drivers of Python on Kubernetes today, every architectural improvement—from async concurrency and CRD ergonomics to large-cluster list performance—is prioritized through the lens of AI/ML scale.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;How we're modernizing the Kubernetes Python client&lt;/h2&gt;

&lt;p&gt;Our roadmap focuses on three technical pillars: &lt;strong&gt;Machinery&lt;/strong&gt;, &lt;strong&gt;Features&lt;/strong&gt;, and &lt;strong&gt;Performance&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;1. Machinery: Upgrading to OpenAPI Generator v7.20+&lt;/h3&gt;

&lt;p&gt;Every improvement to the Python client starts with its code generation pipeline (&lt;a href="https://github.com/kubernetes-client/gen"&gt;&lt;code class="inline"&gt;kubernetes-client/gen&lt;/code&gt;&lt;/a&gt;). Over the past few years, multiple community attempts to migrate off the decommissioned v4.3.0 &lt;code class="inline"&gt;python-legacy&lt;/code&gt; generator stalled due to the sheer scale of template and schema changes across hundreds of Kubernetes API models.&lt;/p&gt;

&lt;p&gt;We are actively driving the migration to &lt;strong&gt;OpenAPI Generator v7.20.0+&lt;/strong&gt; and establishing continuous tracking with upstream generator releases. Completing this foundational upgrade:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Replaces dead &lt;code class="inline"&gt;python-legacy&lt;/code&gt; templates with actively maintained v7+ Python code generation.&lt;/li&gt;
  &lt;li&gt;Modernizes type annotations and packaging metadata, easing &lt;code class="inline"&gt;pip&lt;/code&gt; dependency resolution alongside heavy ML frameworks.&lt;/li&gt;
  &lt;li&gt;Unlocks the ability to contribute performance and serialization fixes directly to upstream OpenAPI Generator templates.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;2. Features: Native &lt;code class="inline"&gt;asyncio&lt;/code&gt;, Shared Informers, and WebSocket v5&lt;/h3&gt;

&lt;p&gt;To prevent ecosystem fragmentation and give Python developers first-class Kubernetes primitives out of the box, we are bringing three major capabilities to the official client:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Official &lt;code class="inline"&gt;asyncio&lt;/code&gt; support:&lt;/strong&gt; Rather than forcing developers to choose between the official synchronous client and third-party async libraries, we are introducing official &lt;code class="inline"&gt;asyncio&lt;/code&gt; support directly into &lt;code class="inline"&gt;kubernetes-client/python&lt;/code&gt;. Async-first ML orchestrators, FastAPI-based model control planes, and notebooks will be able to issue concurrent, non-blocking Kubernetes API calls natively.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Shared Informers (&lt;a href="https://github.com/kubernetes-client/python/pull/2515"&gt;&lt;code class="inline"&gt;kubernetes-client/python#2515&lt;/code&gt;&lt;/a&gt;):&lt;/strong&gt; We are bringing the &lt;code class="inline"&gt;SharedInformer&lt;/code&gt; pattern to the Python client. With built-in list-watch caching, automatic reconnection, and resource event handlers (&lt;code class="inline"&gt;on_add&lt;/code&gt;, &lt;code class="inline"&gt;on_update&lt;/code&gt;, &lt;code class="inline"&gt;on_delete&lt;/code&gt;), Python controllers and AI job managers can monitor cluster state and Custom Resources (&lt;code class="inline"&gt;TrainJob&lt;/code&gt;, &lt;code class="inline"&gt;RayCluster&lt;/code&gt;, &lt;code class="inline"&gt;InferenceService&lt;/code&gt;) with a fraction of the memory footprint and API server load.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;WebSocket v5 streaming (&lt;a href="https://github.com/kubernetes/enhancements/tree/master/keps/sig-api-machinery/4006-transition-spdy-to-websockets"&gt;KEP-4006&lt;/a&gt;, &lt;a href="https://github.com/kubernetes-client/python/pull/2486"&gt;&lt;code class="inline"&gt;kubernetes-client/python#2486&lt;/code&gt;&lt;/a&gt;):&lt;/strong&gt; As upstream Kubernetes transitions remote command streaming (&lt;code class="inline"&gt;exec&lt;/code&gt;, &lt;code class="inline"&gt;attach&lt;/code&gt;, &lt;code class="inline"&gt;port-forward&lt;/code&gt;) away from legacy SPDY to standard WebSockets via the &lt;code class="inline"&gt;v5.channel.k8s.io&lt;/code&gt; subprotocol, we are adding native WebSocket v5 channel support so interactive debugging and remote job execution work seamlessly against modern control planes.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;3. Performance: Slashing deserialization overhead&lt;/h3&gt;

&lt;p&gt;For AI/ML platforms operating on multi-thousand-node clusters, client performance is an availability requirement. Our performance track targets the largest bottlenecks in Python client execution:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Eliminating model reconfiguration overhead:&lt;/strong&gt; When deserializing large JSON responses (such as listing tens of thousands of Pods across a training cluster), the legacy generated model layer repeatedly instantiates and reconfigures schema validation objects (&lt;a href="https://github.com/kubernetes-client/python/issues/1921"&gt;issue #1921&lt;/a&gt;). With the move to OpenAPI Generator v7+, we are revamping model initialization so large cluster queries deserialize in a fraction of the time.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;What's next and how to get involved&lt;/h2&gt;

&lt;p&gt;The intersection of Python and Kubernetes is where modern AI infrastructure is built. By modernizing the code generation machinery, adding native &lt;code class="inline"&gt;asyncio&lt;/code&gt; and &lt;code class="inline"&gt;SharedInformer&lt;/code&gt; primitives, and closing the deserialization performance gap, we aim to give every ML engineer and platform builder a fast, reliable, and Pythonic official client—whether they are running a single notebook experiment or orchestrating a 50,000-node GKE training fleet.&lt;/p&gt;

&lt;p&gt;This effort is happening in the open under &lt;strong&gt;Kubernetes SIG API Machinery&lt;/strong&gt;, and we welcome feedback, use cases, and contributions from the community:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Explore the repository and roadmap:&lt;/strong&gt; Check out &lt;a href="https://github.com/kubernetes-client/python"&gt;&lt;code class="inline"&gt;kubernetes-client/python&lt;/code&gt;&lt;/a&gt; and &lt;a href="https://github.com/kubernetes-client/gen"&gt;&lt;code class="inline"&gt;kubernetes-client/gen&lt;/code&gt;&lt;/a&gt; on GitHub.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Join the conversation:&lt;/strong&gt; Connect with us in the &lt;a href="https://kubernetes.slack.com"&gt;&lt;code class="inline"&gt;#sig-api-machinery&lt;/code&gt;&lt;/a&gt; channel on Kubernetes Slack or at the bi-weekly Kubernetes Python client triage meetings.&lt;/li&gt;
&lt;/ul&gt;
</content><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/3197315110731602570" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/3197315110731602570" rel="self" type="application/atom+xml"/><link href="http://opensource.googleblog.com/2026/11/kubernetes-python-client-modern-overhaul-ai-ml.html" rel="alternate" title="Kubernetes Python client gets a modern overhaul for the AI/ML era" type="text/html"/><link href="at://did:plc:x6bnzgic7duwjxogg7zb3qas/site.standard.document/4srt76wt4eqoe" rel="site.standard.document"/><author><name>Google Open Source</name><uri>http://www.blogger.com/profile/03718388509216889937</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5Ew4zwACrflispkhfyO2RPltMX4eBYd9sSXXT5hNZ6G2FugX5WAu3wE3fpuJya824APcC0qjVwLxzwxqg2hK957Z4bln1aCl6_Pwwht9BQW6HF-cqjgdQZzRRvhV2qlar_m_t37Pkl5O4BptwMY1D2CX-g_U_x5XhXvrCiaU93gX0GwRTtyCEanRAQTU/s72-c/Header%20-%20OSS%20-%20Kubernetes%20Gateway%20API%20graduates%20to%20GA%20%281%29.png" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-8698702854482141883.post-6517902970312432220</id><published>2026-11-11T11:30:00.000-08:00</published><updated>2026-11-11T11:30:00.265-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AI"/><category scheme="http://www.blogger.com/atom/ns#" term="Cloud"/><category scheme="http://www.blogger.com/atom/ns#" term="Developer Tools"/><category scheme="http://www.blogger.com/atom/ns#" term="Open Source Today"/><title type="text">Scaling AI agents with open standards: Kurtis Van Gent on MCP and Agent Skills joining the AAIF</title><content type="html">&lt;meta name="twitter:image" content="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLCywvRZwLvoKa7EobHGksI6daxbSsoZQWZp5fW7_9JkLfQLBmGnt75sV-uZV8S-7Anm7ofOlAjHJcTi5XlYBlk4V2Ujgg-ptSyE7hnVLNN5Fx2KU5uLOL_sYCn2sCFI9YWONOtb5pEYM1-VvzFzsQo5oDdgBV59XvjQIQ9ssRamjNlx0rljgHrZzH90A/s1600/image.png" /&gt;
&lt;img class="metadata" alt="MCP Toolbox for Databases architecture diagram showing database engines connected via MCP servers to developer tools and AI clients" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLCywvRZwLvoKa7EobHGksI6daxbSsoZQWZp5fW7_9JkLfQLBmGnt75sV-uZV8S-7Anm7ofOlAjHJcTi5XlYBlk4V2Ujgg-ptSyE7hnVLNN5Fx2KU5uLOL_sYCn2sCFI9YWONOtb5pEYM1-VvzFzsQo5oDdgBV59XvjQIQ9ssRamjNlx0rljgHrZzH90A/s1600/image.png" /&gt;
&lt;p class="byline"&gt;by &lt;author&gt;Kurtis Van Gent&lt;/author&gt;, Google Cloud, and &lt;author&gt;Daryl Ducharme&lt;/author&gt;, Google Open Source Programs Office&lt;/p&gt;

&lt;p&gt;Building production AI agents requires more than a capable reasoning model. Agents need a reliable way to connect to external systems and data, and they need procedural domain knowledge so they know how to use those tools safely without exhausting their context window.&lt;/p&gt;

&lt;p&gt;Over the past year, open source communities have rallied around two complementary open standards to solve these challenges: the &lt;a href="https://modelcontextprotocol.io/"&gt;Model Context Protocol (MCP)&lt;/a&gt; for connecting agents to live tools, and &lt;a href="https://agentskills.io/"&gt;Agent Skills&lt;/a&gt; for loading procedural instructions and scripts on demand. Following Anthropic's donation of the Agent Skills specification to the Linux Foundation's &lt;a href="https://aaif.io/"&gt;Agentic AI Foundation (AAIF)&lt;/a&gt; alongside MCP, engineers from Google, Anthropic, OpenAI, and the wider ecosystem are now co-maintaining the standard under vendor-neutral governance.&lt;/p&gt;

&lt;p&gt;To explore how open standards prevent ecosystem fragmentation, and why the best solutions don't always have to be homegrown, we sat down with Kurtis Van Gent, co-creator of the open source &lt;a href="https://github.com/googleapis/genai-toolbox"&gt;MCP Toolbox for Databases&lt;/a&gt; and a core maintainer on both MCP and Agent Skills.&lt;/p&gt;

&lt;h2&gt;From the N-by-M database problem to open source collaboration&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Daryl Ducharme:&lt;/strong&gt; How did your work on AI ecosystems for Google Cloud Databases and co-creating the open source MCP Toolbox for Databases lead to your role as a core maintainer on both the Model Context Protocol (MCP) and Agent Skills?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kurtis Van Gent:&lt;/strong&gt; When I started my current role around three years ago, it was early in the generative AI cycle. My mission was to make it easy for developers to use cloud databases for their AI applications. As a strong proponent of developer experience, I loved that charter. As model reasoning improved, context and data were clearly the keys to making effective use of it, and there's no better place to store data than a database.&lt;/p&gt;

&lt;p&gt;At the time, most database conversations focused on retrieval-augmented generation (RAG) using vector search. However, our team believed that agents and tools held the most interesting potential for large language models (LLMs) going forward. We immediately hit two scaling challenges: Google Cloud supports more than 15 different databases across its portfolio, and new open source agent frameworks (starting with LangChain and LlamaIndex) were emerging every week.&lt;/p&gt;

&lt;p&gt;That created a classic N-by-M integration problem between many clients and many data hosts. To solve it, we started GenAI Toolbox for Databases (now &lt;a href="https://github.com/googleapis/genai-toolbox"&gt;MCP Toolbox for Databases&lt;/a&gt;) as an open source framework for building and serving tools. We built our own server, clients, and protocol to standardize how agents look up and invoke database tools. Back then, agent terminology wasn't common vernacular yet, so every talk I gave had to start with three to five slides explaining what agents and tools actually were.&lt;/p&gt;

&lt;p&gt;When Anthropic announced MCP, it was exciting validation that the broader ecosystem was arriving at the same architectural conclusions we were seeing across our database integrations. Rather than insisting on a homegrown protocol or spinning off a competing specification, we reached out to the MCP co-creators, Justin Spahr-Summers and David Soria Parra, and began meeting regularly. Because I believe strongly in open source communities and shared standards, I advocated for adopting MCP directly. We evolved our project into MCP Toolbox for Databases so it worked out of the box with any MCP client, and I focused on contributing capabilities from our original protocol back into the upstream MCP specification.&lt;/p&gt;

&lt;figure class="wide borderless"&gt;
  &lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLCywvRZwLvoKa7EobHGksI6daxbSsoZQWZp5fW7_9JkLfQLBmGnt75sV-uZV8S-7Anm7ofOlAjHJcTi5XlYBlk4V2Ujgg-ptSyE7hnVLNN5Fx2KU5uLOL_sYCn2sCFI9YWONOtb5pEYM1-VvzFzsQo5oDdgBV59XvjQIQ9ssRamjNlx0rljgHrZzH90A/s1600/image.png"&gt;&lt;img alt="Architecture diagram of MCP Toolbox for Databases connecting AI agents for applications and developer assistance to over 25 cloud and open source databases including AlloyDB, Cloud SQL, Spanner, PostgreSQL, MySQL, SQLite, Valkey, and ClickHouse." src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLCywvRZwLvoKa7EobHGksI6daxbSsoZQWZp5fW7_9JkLfQLBmGnt75sV-uZV8S-7Anm7ofOlAjHJcTi5XlYBlk4V2Ujgg-ptSyE7hnVLNN5Fx2KU5uLOL_sYCn2sCFI9YWONOtb5pEYM1-VvzFzsQo5oDdgBV59XvjQIQ9ssRamjNlx0rljgHrZzH90A/s1600/image.png" /&gt;&lt;/a&gt;
&lt;/figure&gt;

&lt;h2&gt;Leading the transition to a stateless MCP specification&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Kurtis Van Gent:&lt;/strong&gt; One of my primary upstream focuses was transport scalability. I began leading the MCP Transports Working Group with the goal of evolving the specification toward a stateless, horizontally scalable architecture. At first, it wasn't a crowded room. Our early working group meetings had around five participants, three of whom were from Google.&lt;/p&gt;

&lt;p&gt;As MCP adoption accelerated across the industry, however, it became clear that early stateful assumptions around persistent sessions and initialization were holding MCP back at production scale. That effort culminated in a two-day Transports Summit where Google and fellow working group members hosted the MCP core maintainers at our San Francisco offices to work through the scaling bottlenecks and align on a path forward. Shortly afterward, I was invited to become an MCP core maintainer, both in recognition of our work identifying those transport challenges and to keep the Transports Working Group closely aligned with the core specification. The result of that collaboration was the &lt;a href="https://modelcontextprotocol.io/specification/2026-07-28"&gt;July 28, 2026 MCP specification&lt;/a&gt;, which transitioned MCP to a stateless model.&lt;/p&gt;

&lt;figure class="wide borderless"&gt;
  &lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzkrgkD5T7X7ZGUg5Kk7h2oKUYzvgCWmFDH6iDtotz6xXSpohZGTCWj3wyjmFmsBB2B2fZ8hqPQ1zjIb1cAoSP1qYVoV_tb4yW3UfuWt_TR-A1naDhFbdaW3TlNCP-rbgm4wNvo2pdDjjDLippkNoerJGA0b92XvGPNdHQJ-hP_yfgBsOURrXBhSblQBs/s1600/image.png"&gt;&lt;img alt="Group photo of MCP core maintainers and contributors from Google, Anthropic, Microsoft, Amazon, OpenAI, and Hugging Face at the December 2025 MCP Transports Summit in Google's San Francisco office." src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzkrgkD5T7X7ZGUg5Kk7h2oKUYzvgCWmFDH6iDtotz6xXSpohZGTCWj3wyjmFmsBB2B2fZ8hqPQ1zjIb1cAoSP1qYVoV_tb4yW3UfuWt_TR-A1naDhFbdaW3TlNCP-rbgm4wNvo2pdDjjDLippkNoerJGA0b92XvGPNdHQJ-hP_yfgBsOURrXBhSblQBs/s1600/image.png" /&gt;&lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;That experience as an MCP core maintainer naturally positioned me to help co-maintain Agent Skills. Having already built working relationships with contributors across Google, Anthropic, and OpenAI, stepping in to help steward Agent Skills inside the AAIF felt like a natural continuation of the same collaborative model.&lt;/p&gt;

&lt;h2&gt;Why vendor-neutral governance in the AAIF matters for developers&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Daryl Ducharme:&lt;/strong&gt; From your perspective as a core maintainer representing Google, why does bringing Agent Skills into the Linux Foundation's Agentic AI Foundation (AAIF) alongside MCP matter for developers and open source communities?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kurtis Van Gent:&lt;/strong&gt; We've seen open source technologies like Kubernetes achieve widespread adoption and sustained cross-company contributions, but organizations are understandably hesitant to build critical workflows on a specification controlled by a single vendor. Just as the Cloud Native Computing Foundation (CNCF) provided a vendor-neutral home for container orchestration, the AAIF provides a neutral forum where organizations and independent maintainers can collaborate on shared agent standards.&lt;/p&gt;

&lt;p&gt;Bringing Agent Skills into the AAIF signals how foundational this format has become across the AI ecosystem. Following in the footsteps of MCP, the organizations and open source communities adopting Agent Skills now have a shared seat at the table to shape how the specification evolves. For developers, this means you can author a skill once and trust that it will remain portable across different agents, IDEs, and harnesses without vendor lock-in.&lt;/p&gt;

&lt;h2&gt;Solving tool bloat with progressive disclosure: how MCP and Agent Skills fit together&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Daryl Ducharme:&lt;/strong&gt; You have spoken about the tension between "tool bloat" and context saturation when building production agents. How should developers think about the division of labor between MCP (connecting agents to live tools and data) and Agent Skills (loading procedural domain knowledge on demand)?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kurtis Van Gent:&lt;/strong&gt; One of the most impactful things MCP accomplished was commoditizing tools: it became straightforward for anyone to wrap a set of actions in an MCP server and share them. The unintended consequence was tool and context bloat. As agents grew more capable and connected to dozens of MCP servers, deciding which tool schemas and operational instructions to load into the context window became a major bottleneck.&lt;/p&gt;

&lt;p&gt;Agent Skills introduced a remarkably simple, effective pattern for solving that problem through progressive disclosure. By loading only a lightweight YAML frontmatter name and description at startup, and pulling the full &lt;code&gt;SKILL.md&lt;/code&gt; instructions, reference files, or scripts into context only when a task requires them, Agent Skills commoditized context the same way MCP commoditized tools.&lt;/p&gt;

&lt;p&gt;While some observers initially viewed MCP and Agent Skills as competing approaches, they have always been complementary: Agent Skills package domain expertise into modular chunks that teach an agent how to approach a problem, while MCP provides the live execution interface to carry it out. Today, the broader ecosystem has converged on combining them, including efforts around Agent Plugins and proposals for serving Agent Skills over MCP so platform maintainers can distribute domain instructions and live tools together.&lt;/p&gt;

&lt;figure class="wide borderless"&gt;
  &lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqN1chIRnzaqDzoOmr-DdyUsXtdWcskx2WdaNwow9UwtM6Fu1tPDKZZJtC_Hped9wpkfNF9ZmpS6fr6uiCshlHOMN80PACwkSOfPRM15LdnGt5hte-KP0VcJONh-dd032qE-91zeHEjmBQ4r7QOzrkKEPUaldk0p3yLp78RMzMWW-6KHuYTi3gm6zrhMI/s1600/image.png"&gt;&lt;img alt="Diagram showing how an Agent Plugin combines Agent Skills (SKILL.md progressive disclosure of procedural context) and Model Context Protocol (MCP stateless live tool execution) across portable agent harnesses under the Agentic AI Foundation (AAIF)." src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqN1chIRnzaqDzoOmr-DdyUsXtdWcskx2WdaNwow9UwtM6Fu1tPDKZZJtC_Hped9wpkfNF9ZmpS6fr6uiCshlHOMN80PACwkSOfPRM15LdnGt5hte-KP0VcJONh-dd032qE-91zeHEjmBQ4r7QOzrkKEPUaldk0p3yLp78RMzMWW-6KHuYTi3gm6zrhMI/s1600/image.png" /&gt;&lt;/a&gt;
&lt;/figure&gt;

&lt;h2&gt;Putting MCP and Agent Skills to work in database and developer workflows&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Daryl Ducharme:&lt;/strong&gt; What is a concrete example of how developers are using Agent Skills and MCP together today—whether in Antigravity, database workflows, or across the broader ecosystem?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kurtis Van Gent:&lt;/strong&gt; Both MCP and Agent Skills have become ubiquitous across everyday developer workflows. In my own daily work, I write custom skills whenever I notice an agent struggling to get a repeatable workflow right on the first try. For example, I write skills for how I like to structure GitHub repositories or format commit messages so I never have to re-explain those conventions in a prompt.&lt;/p&gt;

&lt;p&gt;At the platform level, our Google Cloud Databases team pairs MCP and Agent Skills together inside our Agent Plugins. When a developer using &lt;a href="https://antigravity.google/blog/plugin-marketplace-in-antigravity"&gt;Antigravity&lt;/a&gt; connects to a PostgreSQL database on Cloud SQL or AlloyDB, they can install the corresponding &lt;a href="https://github.com/GoogleCloudPlatform/cloud-sql-postgresql-plugin"&gt;Cloud SQL&lt;/a&gt; or &lt;a href="https://github.com/GoogleCloudPlatform/alloydb-plugin"&gt;AlloyDB&lt;/a&gt; plugin. From MCP, the agent gets a list of safe actions it can take against the database. From the bundled Agent Skills, it gets step-by-step instructions on how to use those tools for specific tasks, like provisioning an instance or configuring Identity and Access Management (IAM) database authentication securely—and because both specifications are open standards, the same &lt;code&gt;SKILL.md&lt;/code&gt; and MCP pattern works across any open source database or agent harness.&lt;/p&gt;

&lt;p&gt;That combination is both faster and safer than pointing an agent at raw documentation written for human readers. In our &lt;a href="https://medium.com/google-cloud/your-agent-doesnt-know-how-to-wait-0da12132cabc"&gt;agent workflow benchmarks&lt;/a&gt;, we see developers complete complex database tasks much more quickly and reliably when MCP tools are paired with targeted Agent Skills.&lt;/p&gt;

&lt;h2&gt;What comes next for the Agent Skills specification&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Daryl Ducharme:&lt;/strong&gt; Working alongside maintainers from Anthropic, OpenAI, and the wider community inside the AAIF, what technical or governance areas are you most focused on next?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kurtis Van Gent:&lt;/strong&gt; Two major areas I'm focused on evolving next are packaging and discovery. Today, the Agent Skills specification defines how an individual skill is structured, but it doesn't yet standardize how collections of skills are bundled, how harnesses discover them, or how to resolve naming conflicts across skill sets. Closing those gaps will help address conformance differences across harnesses.&lt;/p&gt;

&lt;p&gt;Versioning is another priority. As the Agent Skills specification matures under the AAIF, we need a clear, portable way for skill authors and agent harnesses to declare which version of the specification they support. I'm looking forward to working with the other maintainers and open source communities to standardize packaging, discovery, and versioning in upcoming releases.&lt;/p&gt;

&lt;h2&gt;How to get involved&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Daryl Ducharme:&lt;/strong&gt; For open source developers and maintainers who want to author portable skills or contribute to the specification and tooling at &lt;a href="https://github.com/agentskills"&gt;github.com/agentskills&lt;/a&gt;, where should they start?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kurtis Van Gent:&lt;/strong&gt; If you want to start authoring portable skills today, the documentation at &lt;a href="https://agentskills.io/"&gt;agentskills.io&lt;/a&gt; walks through creating your first &lt;code&gt;SKILL.md&lt;/code&gt; package in just a few minutes, and you can explore Google's open source catalog of developer skills at &lt;a href="https://github.com/google/skills"&gt;github.com/google/skills&lt;/a&gt; (along with our engineering retrospective on &lt;a href="https://cloud.google.com/blog/topics/developers-practitioners/behind-the-scenes-two-months-later-how-we-ship-google-agent-skills-like-products"&gt;how we ship Google Agent Skills like products&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;If you want to help shape the specification itself, visit the GitHub organization at &lt;a href="https://github.com/agentskills"&gt;github.com/agentskills&lt;/a&gt; to review open pull requests, file issues, and join the community Discord server where maintainers and contributors discuss upcoming specification proposals.&lt;/p&gt;
</content><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/6517902970312432220" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/6517902970312432220" rel="self" type="application/atom+xml"/><link href="http://opensource.googleblog.com/2026/11/scaling-ai-agents-open-standards-mcp-aaif.html" rel="alternate" title="Scaling AI agents with open standards: Kurtis Van Gent on MCP and Agent Skills joining the AAIF" type="text/html"/><link href="at://did:plc:x6bnzgic7duwjxogg7zb3qas/site.standard.document/7ox3yazgyzamw" rel="site.standard.document"/><author><name>Google Open Source</name><uri>http://www.blogger.com/profile/03718388509216889937</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLCywvRZwLvoKa7EobHGksI6daxbSsoZQWZp5fW7_9JkLfQLBmGnt75sV-uZV8S-7Anm7ofOlAjHJcTi5XlYBlk4V2Ujgg-ptSyE7hnVLNN5Fx2KU5uLOL_sYCn2sCFI9YWONOtb5pEYM1-VvzFzsQo5oDdgBV59XvjQIQ9ssRamjNlx0rljgHrZzH90A/s72-c/image.png" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-8698702854482141883.post-4106241603857686215</id><published>2026-11-10T11:30:00.000-08:00</published><updated>2026-11-10T11:30:00.114-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Community"/><category scheme="http://www.blogger.com/atom/ns#" term="Google Summer of Code"/><category scheme="http://www.blogger.com/atom/ns#" term="GSoC"/><category scheme="http://www.blogger.com/atom/ns#" term="Open Source"/><title type="text">GSoC 2026 Mentor Summit: Resilient OSS Communities</title><content type="html">&lt;meta name="twitter:image" content="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLtcWjhIqbmX9gYmaT9GfVlLx1sv4OLKXnBWlyRRycoRnPApCiIIRy8tC6YbIO2snAp99Ofe9oj1gcmnJ4K-7iZMsaKEhoRgnlB3HuYvApYW0m1CPmmald9FMBEpsVHp9T9YM7o6LYG0ePtg5US5bUYGUDdX-ulNzXg1NiRz5BtayQ2EAIMua5MAurigk/s1600/image.jpeg" /&gt;
&lt;img class="metadata" alt="Attendees at the GSoC 2026 Mentor Summit in Munich, Germany gathering for a group photo in the main hall." src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLtcWjhIqbmX9gYmaT9GfVlLx1sv4OLKXnBWlyRRycoRnPApCiIIRy8tC6YbIO2snAp99Ofe9oj1gcmnJ4K-7iZMsaKEhoRgnlB3HuYvApYW0m1CPmmald9FMBEpsVHp9T9YM7o6LYG0ePtg5US5bUYGUDdX-ulNzXg1NiRz5BtayQ2EAIMua5MAurigk/s1600/image.jpeg" /&gt;
&lt;p class="byline"&gt;by &lt;author&gt;Stephanie Taylor&lt;/author&gt;, Google Summer of Code Program Lead&lt;/p&gt;

&lt;p&gt;Last weekend, we hosted our annual Google Summer of Code Mentor Summit in Munich, Germany, welcoming 185 attendees representing 133 open source projects across 36 countries. The past year has presented unique challenges for open source communities, particularly with the surge of AI-generated pull requests placing additional strain on maintainers.&lt;/p&gt;

&lt;figure class="wide borderless"&gt;
  &lt;img alt="Attendees at the GSoC 2026 Mentor Summit in Munich, Germany gathering for a group photo in the main hall." src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLtcWjhIqbmX9gYmaT9GfVlLx1sv4OLKXnBWlyRRycoRnPApCiIIRy8tC6YbIO2snAp99Ofe9oj1gcmnJ4K-7iZMsaKEhoRgnlB3HuYvApYW0m1CPmmald9FMBEpsVHp9T9YM7o6LYG0ePtg5US5bUYGUDdX-ulNzXg1NiRz5BtayQ2EAIMua5MAurigk/s1600/image.jpeg" /&gt;
  &lt;figcaption&gt;Attendees at the GSoC 2026 Mentor Summit in Munich, Germany gathering for the annual group photo.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;The 183 open source organizations participating in GSoC 2026 were at the forefront of these shifts. Each organization establishes its own AI guidelines and governance, and many continue to refine their policies as the technology evolves. Throughout the year, we have actively engaged with our communities to better understand these challenges and support them in identifying effective solutions.&lt;/p&gt;

&lt;p&gt;Unsurprisingly, the Mentor Summit’s unconference format (where attendees create the schedule) featured numerous sessions on managing AI within both GSoC and the broader open source ecosystem. While many mentors arrived weary after a demanding season, the event fostered a strong sense of shared purpose. Discussions moved beyond common obstacles to highlight notable successes, with several organizations reporting their most impactful GSoC season yet, driven by dedicated contributors who are now transitioning into active maintainer roles.&lt;/p&gt;

&lt;p&gt;Organizations shared a variety of strategies to address AI-assisted contributions, specifically targeting automated pull requests and supporting contributors in understanding underlying system architectures alongside AI-generated code.&lt;/p&gt;

&lt;p&gt;Resilience emerged as a central theme of this year's summit. Open source communities have navigated dynamic shifts over the past two decades. The continued vitality and importance of open source in 2026 reflects a forward-looking mindset: one grounded in experimentation, adaptation, and continuous improvement.&lt;/p&gt;

&lt;p&gt;For our GSoC team, the Mentor Summit underscored the remarkable collaboration across open source. Observing mentors from diverse projects exchange practical tools, workflows, and insights highlights the value of gathering community leaders to strengthen the broader ecosystem.&lt;/p&gt;

&lt;p&gt;A huge thanks to all of the GSoC Mentors and Organization Administrators who joined us in Munich, as well as the more than 1,800 mentors worldwide who guided our 2026 contributors. Google Summer of Code wrapped up its 22nd year this week thanks to the dedication and leadership of this global community.&lt;/p&gt;
</content><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/4106241603857686215" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/4106241603857686215" rel="self" type="application/atom+xml"/><link href="http://opensource.googleblog.com/2026/11/gsoc-2026-mentor-summit-resilient-oss.html" rel="alternate" title="GSoC 2026 Mentor Summit: Resilient OSS Communities" type="text/html"/><link href="at://did:plc:x6bnzgic7duwjxogg7zb3qas/site.standard.document/5lz4gzijxwbqb" rel="site.standard.document"/><author><name>Google Open Source</name><uri>http://www.blogger.com/profile/03718388509216889937</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLtcWjhIqbmX9gYmaT9GfVlLx1sv4OLKXnBWlyRRycoRnPApCiIIRy8tC6YbIO2snAp99Ofe9oj1gcmnJ4K-7iZMsaKEhoRgnlB3HuYvApYW0m1CPmmald9FMBEpsVHp9T9YM7o6LYG0ePtg5US5bUYGUDdX-ulNzXg1NiRz5BtayQ2EAIMua5MAurigk/s72-c/image.jpeg" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-8698702854482141883.post-113764101901504047</id><published>2026-11-05T09:00:00.000-08:00</published><updated>2026-11-05T09:00:00.213-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AI"/><category scheme="http://www.blogger.com/atom/ns#" term="Cloud"/><category scheme="http://www.blogger.com/atom/ns#" term="Containers"/><category scheme="http://www.blogger.com/atom/ns#" term="Kubernetes"/><category scheme="http://www.blogger.com/atom/ns#" term="Open Source Today"/><title type="text">Sandboxing Untrusted AI Agents at Scale: Google Donates Agent Substrate and gVisor to the CNCF</title><content type="html">&lt;meta content="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_wdaUqPjEHOQEbXrFmii7Ow7AaR1TgWan91QRO0D-Wf4thu-2emQwFJGZ84-wQwVlNaq4AnDsPrz2Dqj0D5Ru1T168GIj2KqEMZpDoG6ie59Q0qdz6AW-hBhKf7DD_ChLtgTCZoey0YZZt3gDg2GmHvY8yQ4Ea8BniNDEC8mlHbMgAqqWFQ6m5JEZXiA/s1600/image.png" name="twitter:image"&gt;&lt;/meta&gt;
&lt;img alt="Diagram comparing standard Kubernetes dedicated Pods vs Agent Substrate stateful actor runtime with tiered storage" class="metadata" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_wdaUqPjEHOQEbXrFmii7Ow7AaR1TgWan91QRO0D-Wf4thu-2emQwFJGZ84-wQwVlNaq4AnDsPrz2Dqj0D5Ru1T168GIj2KqEMZpDoG6ie59Q0qdz6AW-hBhKf7DD_ChLtgTCZoey0YZZt3gDg2GmHvY8yQ4Ea8BniNDEC8mlHbMgAqqWFQ6m5JEZXiA/s1600/image.png" /&gt;
&lt;p class="byline"&gt;by &lt;author&gt;Mofi Rahman&lt;/author&gt;, Developer Relations Engineer, and &lt;author&gt;Brandon Royal&lt;/author&gt;, Product Manager, Google Cloud&lt;/p&gt;

&lt;p&gt;When Google introduced Kubernetes twelve years ago, the Pod became the default unit of compute for the cloud. The design assumed a straightforward lifecycle: a program boots, binds to a port, serves traffic, and runs until you stop it.&lt;/p&gt;

&lt;p&gt;AI agents work fundamentally differently.&lt;/p&gt;

&lt;p&gt;An AI agent that’s running on a machine executes untrusted code, commands, and tool calls, and must be isolated from its host and its network resources. At the same time, these agents, whether they’re an interactive coding assistant, an SRE troubleshooter, or a multi-turn evaluation loop, do not run continuously. They execute a step, call a language model, and wait. Most of the time, the agent does nothing at all while it waits for a model to stream tokens or a human to review a pull request. In the same way that Kubernetes was created to address the needs of containerized applications, we introduced Agent Substrate as a new orchestrator for the emerging agentic applications. Secure by default, highly efficient and built for multi-million agent scale.&lt;/p&gt;

&lt;p&gt;Agent Substrate was designed from the ground up for AI agent security and density and brings the best parts of Kubernetes together with a new control and data plane for fully-isolated, ultra-low-latency sandboxed compute and storage. The growing Agent Substrate community has been rapidly building core capabilities and stabilizing APIs, culminating in the latest 1.0 release.&lt;/p&gt;

&lt;p&gt;This week at KubeCon North America in Salt Lake City, Google Cloud is donating &lt;a href="http://ate.dev" target="_blank"&gt;Agent Substrate&lt;/a&gt; and &lt;a href="https://gvisor.dev/" target="_blank"&gt;gVisor&lt;/a&gt; to the Cloud Native Computing Foundation (CNCF) in Sandbox status, alongside OpenRL.&lt;/p&gt;

&lt;p&gt;This post explains why traditional approaches struggle with stateful agents, how Agent Substrate solves the problem, how it connects to enterprise governance on Google Kubernetes Engine (GKE), and where to see it in action at KubeCon NA 2026.&lt;/p&gt;

&lt;h2&gt;Challenges of running AI agents at scale&lt;/h2&gt;

&lt;p&gt;AI agents introduce two infrastructure bottlenecks that standard Kubernetes was never built to handle: idle resource waste and control plane overload.&lt;/p&gt;


&lt;figure class="wide borderless"&gt;
  &lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_wdaUqPjEHOQEbXrFmii7Ow7AaR1TgWan91QRO0D-Wf4thu-2emQwFJGZ84-wQwVlNaq4AnDsPrz2Dqj0D5Ru1T168GIj2KqEMZpDoG6ie59Q0qdz6AW-hBhKf7DD_ChLtgTCZoey0YZZt3gDg2GmHvY8yQ4Ea8BniNDEC8mlHbMgAqqWFQ6m5JEZXiA/s1600/image.png"&gt;&lt;img alt="Diagram comparing standard Kubernetes dedicated Pods vs Agent Substrate stateful actor runtime with tiered storage" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_wdaUqPjEHOQEbXrFmii7Ow7AaR1TgWan91QRO0D-Wf4thu-2emQwFJGZ84-wQwVlNaq4AnDsPrz2Dqj0D5Ru1T168GIj2KqEMZpDoG6ie59Q0qdz6AW-hBhKf7DD_ChLtgTCZoey0YZZt3gDg2GmHvY8yQ4Ea8BniNDEC8mlHbMgAqqWFQ6m5JEZXiA/s1600/image.png" /&gt;&lt;/a&gt;
&lt;/figure&gt;

&lt;h3&gt;1. The idle resource problem&lt;/h3&gt;

&lt;p&gt;During a typical interactive session, an agent can spend 90% to 95% of its time waiting for model inference, external APIs, or human reviews.&lt;/p&gt;

&lt;p&gt;During that wait, the agent consumes zero CPU. However, you cannot simply kill the container. The agent holds critical state in memory and on disk: active language runtimes, local Git repositories, uncommitted file edits, and tool sessions.&lt;/p&gt;

&lt;p&gt;With standard Kubernetes, platform engineers face two poor options:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Keep a dedicated Pod running all day: The agent responds quickly because it is already warm, but you pay for idle compute around the clock. At ten thousand active users, cluster costs become unsustainable.&lt;/li&gt;
  &lt;li&gt;Scale to zero with serverless containers: You save compute costs while the agent sits idle, but resuming from cold storage forces the container to clone repositories, reinstall packages, and rebuild memory. Wakeup latency climbs past 20 seconds, breaking the interactive experience.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Platform teams need agents that wake up in under 500 milliseconds with full memory and disk state intact—without paying for running Pods while the agent sits idle.&lt;/p&gt;

&lt;h3&gt;2. Control plane overload&lt;/h3&gt;

&lt;p&gt;The opposite issue occurs when training or evaluating agents. Reinforcement learning loops and benchmark suites need to run untrusted agent code across thousands of tasks at the exact same time.&lt;/p&gt;

&lt;p&gt;If every sandbox requires a full Kubernetes Pod, the control plane quickly grinds to a halt. Scheduling, creating, and destroying thousands of short-lived Pods every minute overwhelms etcd, saturates kube-apiserver, and exhausts subnet IP addresses. Kubernetes was built to manage stable application topologies, not to act as a microsecond sandbox allocator.&lt;/p&gt;

&lt;h2&gt;How Agent Substrate solves the problem&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://ate.dev"&gt;Agent Substrate&lt;/a&gt; adds an actor-based control and data plane built on top of Kubernetes. It solves the idle resource problem by decoupling Actors from Workers:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Actors hold the state: An Actor represents an individual agent session, complete with its own filesystem, environment variables, memory state, and network rules.&lt;/li&gt;
  &lt;li&gt;Workers provide the compute: A Worker is a pre-warmed Kubernetes Pod running in a shared pool (WorkerPool), equipped with container runtimes and sandbox boundaries.&lt;/li&gt;
&lt;/ul&gt;


&lt;figure class="wide borderless"&gt;
  &lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwVF4Sbg_iecuvwV4hCpBkY2CL7oY9P5E-lJJzpux75TLf7-f-SQac27gHS4ODAOlE5ekOjFCDUoAyytdKCcijmBa-EnduWCGG_Ty9Z4i2Lnbyvmi78f5QEDzFXaD_ezQkPFkvHaMwQilFRiOBJvW98uIkI3fdGctZ0MCyh_qqM5AAVb6DymNoJCyBiDU/s1600/image.png"&gt;&lt;img alt="Agent Substrate architecture diagram showing incoming requests routed via atenet-router, ateapi controller actor placement, tiered storage, and shared worker pool" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwVF4Sbg_iecuvwV4hCpBkY2CL7oY9P5E-lJJzpux75TLf7-f-SQac27gHS4ODAOlE5ekOjFCDUoAyytdKCcijmBa-EnduWCGG_Ty9Z4i2Lnbyvmi78f5QEDzFXaD_ezQkPFkvHaMwQilFRiOBJvW98uIkI3fdGctZ0MCyh_qqM5AAVb6DymNoJCyBiDU/s1600/image.png" /&gt;&lt;/a&gt;
&lt;/figure&gt;

&lt;h3&gt;The lifecycle of an agent turn&lt;/h3&gt;

&lt;ol&gt;
  &lt;li&gt;Request parking: An incoming call hits the atenet-router L7 proxy. If the target Actor is suspended, the proxy holds the request in memory and alerts the Substrate controller.&lt;/li&gt;
  &lt;li&gt;Fast placement: The controller assigns the Actor to an available slot in the warm Worker pool.&lt;/li&gt;
  &lt;li&gt;Sub-second restore: The Actor’s memory and disk state restore from tiered storage, the process wakes up, and the proxy delivers the request. The agent resumes in under 500 milliseconds right where it paused.&lt;/li&gt;
  &lt;li&gt;Suspension on idle: When the turn finishes, Substrate snapshots the Actor’s state to tiered storage and frees the Worker slot for other workloads.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Because Substrate manages Actor state directly, thousands of agents can activate, suspend, and resume every second without creating new Pod objects or stressing etcd.&lt;/p&gt;

&lt;h3&gt;Safe execution with gVisor and microVMs&lt;/h3&gt;

&lt;p&gt;Agents frequently execute model-generated, untrusted code. Standard Linux containers share the host kernel, which presents an unacceptable security risk on multi-tenant nodes.&lt;/p&gt;

&lt;p&gt;Agent Substrate pairs with &lt;a href="https://github.com/google/gvisor" target="_blank"&gt;gVisor&lt;/a&gt; (runsc), Google's open source application kernel written in Go. gVisor intercepts system calls in user space, isolating untrusted code from the host kernel. Because gVisor virtualizes its own memory and process tables, Substrate can freeze a running environment, write memory pages to storage, and restore them on another node in under 500 milliseconds.&lt;/p&gt;

&lt;p&gt;For workloads requiring hardware virtualization or custom kernel modules, Substrate also supports Cloud Hypervisor microVMs under the same unified API.&lt;/p&gt;

&lt;h2&gt;Why Google donated Agent Substrate to the CNCF&lt;/h2&gt;

&lt;p&gt;Over the past two years, engineering teams across the industry have run into the same agent scaling boundaries. Without a shared open standard, every organization ends up building custom schedulers on top of VMs or working around Kubernetes.&lt;/p&gt;

&lt;p&gt;Donating Agent Substrate and gVisor to the CNCF gives the cloud-native community a neutral, vendor-independent foundation that works across any conformant Kubernetes cluster.&lt;/p&gt;

&lt;p&gt;Together with community projects, they form an open stack for agentic infrastructure:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Layer 1: Secure Isolation (&lt;a href="https://github.com/google/gvisor"&gt;gVisor&lt;/a&gt;): Sandboxes untrusted code execution with user-space kernel isolation and fast memory checkpointing.&lt;/li&gt;
  &lt;li&gt;Layer 2: Agent Runtime (&lt;a href="https://github.com/agent-substrate/substrate" target="_blank"&gt;Agent Substrate&lt;/a&gt;): Multiplexes stateful actors onto warm worker pools with sub-second wakeups.&lt;/li&gt;
  &lt;li&gt;Layer 3: Training Orchestration (OpenRL): Coordinates Kubernetes-native reinforcement learning loops and evaluation sandboxes.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;
&lt;/ul&gt;

&lt;h2&gt;Where to find us at KubeCon NA 2026&lt;/h2&gt;

&lt;p&gt;If you are heading to Salt Lake City for KubeCon + CloudNativeCon North America from November 9 to 12, visit our sessions, workshops, and booth demos:&lt;/p&gt;

&lt;table style="border-collapse: collapse; border-color: currentcolor; border-image: none; border-style: none; border-width: medium; border: none; width: 100%;"&gt;
  &lt;colgroup&gt;
    &lt;col width="136"&gt;&lt;/col&gt;
    &lt;col width="208"&gt;&lt;/col&gt;
    &lt;col width="446"&gt;&lt;/col&gt;
  &lt;/colgroup&gt;
  &lt;thead&gt;
    &lt;tr style="height: 0pt;"&gt;
      &lt;th scope="col" style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"&gt;
        &lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;
          &lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;When&lt;/span&gt;
        &lt;/p&gt;
      &lt;/th&gt;
      &lt;th scope="col" style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"&gt;
        &lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;
          &lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Session or Event&lt;/span&gt;
        &lt;/p&gt;
      &lt;/th&gt;
      &lt;th scope="col" style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"&gt;
        &lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;
          &lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Speakers &amp;amp; Location&lt;/span&gt;
        &lt;/p&gt;
      &lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr style="height: 0pt;"&gt;
      &lt;td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"&gt;
        &lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;
          &lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"&gt;Monday, &lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"&gt;Nov 9&lt;/span&gt;
        &lt;/p&gt;
      &lt;/td&gt;
      &lt;td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"&gt;
        &lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;
          &lt;a href="https://luma.com/48hh3jo5" style="text-decoration: none;"&gt;
            &lt;span face="Arial, sans-serif" style="color: #1155cc; font-size: 11pt; font-variant: normal; font-weight: 700; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;Agent Substrate Day (ATEcon)&lt;/span&gt;
          &lt;/a&gt;
        &lt;/p&gt;
      &lt;/td&gt;
      &lt;td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 11pt;"&gt;Welcome to ATECon, Tim Hockin, Eitan Yarmush, Ron Lev&lt;/span&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 11pt; white-space: pre;"&gt;          &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Pleading the Agent: Proof of Agent identity, Greg Castle, Taahir Ahmed&lt;/span&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 11pt; white-space: pre;"&gt;          &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Evolving The Substrate Dataplane, Benjamin Elder&lt;/span&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 11pt; white-space: pre;"&gt;            &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Truly Sandboxed Networking: Moving beyond MVP, Bowei Du, Lior Lieberman&lt;/span&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 11pt; white-space: pre;"&gt;            &lt;/span&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 11pt; white-space: pre;"&gt;      &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Using Substrate for anything but Agents, Mofi Rahman&lt;/span&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 11pt; white-space: pre;"&gt;       &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Agent Substrate Environment, Jaana Dogan, Lior Lieberman&lt;/span&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 11pt; white-space: pre;"&gt;        &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Arial, sans-serif; font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Closing Remarks, Tim Hockin, Eitan Yarmush, Ron Lev&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;
        &lt;span style="font-family: Arial, sans-serif; font-size: 11pt; white-space: pre;"&gt;            &lt;/span&gt;&lt;br /&gt;
        &lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;
          &lt;span face="Arial, sans-serif" style="font-size: 11pt; font-style: italic; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Salt Palace&lt;/span&gt;
        &lt;/p&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr style="height: 0pt;"&gt;
      &lt;td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"&gt;
        &lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;
          &lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"&gt;Monday, &lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"&gt;Nov 9&lt;/span&gt;
        &lt;/p&gt;
      &lt;/td&gt;
      &lt;td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"&gt;
        &lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;
          &lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/co-located-events/cncf-hosted-co-located-schedule/?id=1269602" style="text-decoration: none;"&gt;
            &lt;span face="Arial, sans-serif" style="color: #1155cc; font-size: 11pt; font-variant: normal; font-weight: 700; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;Detonation and Isolation: Hardening Kubernetes Runtimes for Agents&lt;/span&gt;
          &lt;/a&gt;
        &lt;/p&gt;
        &lt;br /&gt;
        &lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;
          &lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Multi-agent orchestration and runtime governance&lt;/span&gt;
        &lt;/p&gt;
      &lt;/td&gt;
      &lt;td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"&gt;
        &lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;
          &lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Syeda Anjum, Kaslin Fields, and Kanchana Rajendran&lt;/span&gt;
        &lt;/p&gt;
        &lt;br /&gt;
        &lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;
          &lt;span face="Arial, sans-serif" style="font-size: 11pt; font-style: italic; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Agentics Day&lt;/span&gt;
        &lt;/p&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr style="height: 0pt;"&gt;
      &lt;td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"&gt;
        &lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;
          &lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"&gt;Monday, &lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"&gt;Nov 9&lt;/span&gt;
        &lt;/p&gt;
      &lt;/td&gt;
      &lt;td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"&gt;
        &lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;
          &lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"&gt;GKE Day&lt;/span&gt;
        &lt;/p&gt;
        &lt;br /&gt;
        &lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;
          &lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Announcements and hands-on agent infrastructure labs&lt;/span&gt;
        &lt;/p&gt;
      &lt;/td&gt;
      &lt;td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"&gt;
        &lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;
          &lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Google Cloud GKE Team&lt;/span&gt;
        &lt;/p&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr style="height: 0pt;"&gt;
      &lt;td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"&gt;
        &lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;
          &lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"&gt;Tuesday, &lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"&gt;Nov 10&lt;/span&gt;
        &lt;/p&gt;
      &lt;/td&gt;
      &lt;td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"&gt;
        &lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;
          &lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"&gt;Flagship Fireside Chat: Kubernetes Act II&lt;/span&gt;
        &lt;/p&gt;
        &lt;br /&gt;
        &lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;
          &lt;span face="Arial, sans-serif" style="font-size: 11pt; font-style: italic; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Why AI Agents Change Everything Under the Hood&lt;/span&gt;
        &lt;/p&gt;
      &lt;/td&gt;
      &lt;td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"&gt;
        &lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;
          &lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Tim Hockin and Kelsey Hightower&lt;/span&gt;
        &lt;/p&gt;
        &lt;br /&gt;
        &lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;
          &lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Moderated by Savannah Peterson&lt;/span&gt;
        &lt;/p&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr style="height: 0pt;"&gt;
      &lt;td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"&gt;
        &lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;
          &lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"&gt;Wednesday, &lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"&gt;Nov 11&lt;/span&gt;
        &lt;/p&gt;
      &lt;/td&gt;
      &lt;td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"&gt;
        &lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;
          &lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1247804" style="text-decoration: none;"&gt;
            &lt;span face="Arial, sans-serif" style="color: #1155cc; font-size: 11pt; font-variant: normal; font-weight: 700; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;Hands-on Workshop: Building and Governing Agent Substrate on GKE&lt;/span&gt;
          &lt;/a&gt;
        &lt;/p&gt;
        &lt;br /&gt;
        &lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;
          &lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Hands-on lab deploying warm worker pools, testing snapshot restores, and configuring egress secrets&lt;/span&gt;
        &lt;/p&gt;
      &lt;/td&gt;
      &lt;td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"&gt;
        &lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;
          &lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Mofi Rahman, Drew Brown, Casey West, Kaslin Fields, and Olivier Bourgeois&lt;/span&gt;
        &lt;/p&gt;
        &lt;br /&gt;
        &lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;
          &lt;span face="Arial, sans-serif" style="font-size: 11pt; font-style: italic; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Schedule ID: 1247804&lt;/span&gt;
        &lt;/p&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr style="height: 0pt;"&gt;
      &lt;td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"&gt;
        &lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;
          &lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"&gt;Wednesday, &lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"&gt;Nov 11&lt;/span&gt;
        &lt;/p&gt;
      &lt;/td&gt;
      &lt;td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"&gt;
        &lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;
          &lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"&gt;Expo Hall Demo Theater: Inside the Show-Floor Agent Swarm&lt;/span&gt;
        &lt;/p&gt;
        &lt;br /&gt;
        &lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;
          &lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Live fleet multiplexing on GKE&lt;/span&gt;
        &lt;/p&gt;
      &lt;/td&gt;
      &lt;td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"&gt;
        &lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;
          &lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Brandon Royal and Mofi Rahman&lt;/span&gt;
        &lt;/p&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr style="height: 0pt;"&gt;
      &lt;td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"&gt;
        &lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;
          &lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"&gt;Nov 10 to 12&lt;/span&gt;
        &lt;/p&gt;
      &lt;/td&gt;
      &lt;td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"&gt;
        &lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;
          &lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"&gt;Google Cloud Booth #122&lt;/span&gt;
        &lt;/p&gt;
        &lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;
          &lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;• Agent Swarm demo: See agent substrate in action.&lt;/span&gt;
        &lt;/p&gt;
        &lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;
          &lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;• Partner demos with NVIDIA on OpenShell and GPU Actor infrastructure&lt;/span&gt;
        &lt;/p&gt;
        &lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;
          &lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;• Filestore Agent Volumes in action&lt;/span&gt;
        &lt;/p&gt;
      &lt;/td&gt;
      &lt;td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"&gt;
        &lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;
          &lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Booth #122 Expo Hall&lt;/span&gt;
        &lt;/p&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h2&gt;Get started&lt;/h2&gt;

&lt;p&gt;Agent Substrate is open source and ready for testing today:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Documentation: Read the guides and architecture specs at &lt;a href="http://ate.dev"&gt;ate.dev&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;Code: Explore the runtime on GitHub at &lt;a href="http://github.com/agent-substrate/substrate"&gt;github.com/agent-substrate/substrate&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;Community: Join #substrate-dev #substrate-user on the &lt;a href="https://slack.cncf.io/" target="_blank"&gt;CNCF Slack&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;See you in Salt Lake City!&lt;/p&gt;
</content><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/113764101901504047" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/113764101901504047" rel="self" type="application/atom+xml"/><link href="http://opensource.googleblog.com/2026/11/sandboxing-untrusted-ai-agents-at-scale.html" rel="alternate" title="Sandboxing Untrusted AI Agents at Scale: Google Donates Agent Substrate and gVisor to the CNCF" type="text/html"/><link href="at://did:plc:x6bnzgic7duwjxogg7zb3qas/site.standard.document/2573fv6d2jnlj" rel="site.standard.document"/><author><name>Google Open Source</name><uri>http://www.blogger.com/profile/03718388509216889937</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_wdaUqPjEHOQEbXrFmii7Ow7AaR1TgWan91QRO0D-Wf4thu-2emQwFJGZ84-wQwVlNaq4AnDsPrz2Dqj0D5Ru1T168GIj2KqEMZpDoG6ie59Q0qdz6AW-hBhKf7DD_ChLtgTCZoey0YZZt3gDg2GmHvY8yQ4Ea8BniNDEC8mlHbMgAqqWFQ6m5JEZXiA/s72-c/image.png" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-8698702854482141883.post-9192164654453444706</id><published>2026-11-05T04:30:00.000-08:00</published><updated>2026-11-05T11:57:11.927-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AI"/><category scheme="http://www.blogger.com/atom/ns#" term="Cloud"/><category scheme="http://www.blogger.com/atom/ns#" term="Machine Learning"/><category scheme="http://www.blogger.com/atom/ns#" term="Open Source"/><title type="text">Supercharging XLA-based inference: Announcing the launch of XLA Serving Engine</title><content type="html">&lt;meta content="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7bCztvKb6VV6dCcC5I9MmnOHelw_dVpUg-2KkcMPy6v7Z32vwoBV_1SxjpsPhoVQ9eNFeWiBp-yFSC4R2MdU4Vykb6rruezGnvif4ujcu5l30rpluAaWLcAPXlxI0ZTQglvxlA-2a3PGl1zhvm1UWUo7EQ8ceu1K_ZJUDJBh0XZTXft_0nECDvbZpBRA/s1600/image.png" name="twitter:image" /&gt;
&lt;img alt="Benchmark chart showing throughput under latency target: XSE delivers 2-5x the throughput of optimized Python servers for short requests" class="metadata" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7bCztvKb6VV6dCcC5I9MmnOHelw_dVpUg-2KkcMPy6v7Z32vwoBV_1SxjpsPhoVQ9eNFeWiBp-yFSC4R2MdU4Vykb6rruezGnvif4ujcu5l30rpluAaWLcAPXlxI0ZTQglvxlA-2a3PGl1zhvm1UWUo7EQ8ceu1K_ZJUDJBh0XZTXft_0nECDvbZpBRA/s1600/image.png" /&gt;
&lt;p class="byline"&gt;by &lt;author&gt;Oleg Shaldybin&lt;/author&gt; and &lt;author&gt;Monica Song&lt;/author&gt;, Google TPU Software&lt;/p&gt;

&lt;p&gt;Today we are excited to announce the launch of &lt;a href="https://xla-serving.readthedocs.io/"&gt;XLA Serving Engine (XSE)&lt;/a&gt;, a general-purpose model export and inference runtime for the &lt;a href="https://openxla.org"&gt;OpenXLA ecosystem&lt;/a&gt;, open-sourced under the Apache 2.0 license.&lt;/p&gt;

&lt;figure class="wide borderless"&gt;
  &lt;img alt="XLA Serving Engine logo" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRTkVIblVMIRb4e0HDSLcpc6TQrIy-A-kVv_0herkrGOuBRFfr2Zi8phZx6JGE8EKxYdAZwBk6Swc_OdgdoGHJ038LKEoqms_uqHVF5Q3MaSsH52tOjdCCjPPr7BSggKJdnz9YiFzzliNBXP7tSAoJd1WF134k-efHY4771godPijL3gFBSdfl1ubPfR0/s1600/image.png" /&gt;
&lt;/figure&gt;

&lt;p&gt;We created XLA Serving Engine to enable a “Train in Python, Serve in C++” workflow. Most ML engineers develop models using Python (with frameworks like JAX and PyTorch); however, some production serving environments do not allow Python due to operational and deployment complexity. XLA Serving Engine offers a solution by providing an API for engineers to export their ML models to an “XLA SavedModel” containing the StableHLO representation of their model’s function, which can then be loaded and executed by the XLA Serving Runtime.&lt;/p&gt;

&lt;p&gt;This approach allows users to serve models (typically non-LLMs) directly in a C++ runtime, which enables high throughput at any scale and optimizes for low latency by removing the overhead of the Python interpreter. In our &lt;a href="https://xla-serving.readthedocs.io/en/latest/benchmarks/dlrm_serving.html"&gt;studies&lt;/a&gt;, we found that for short requests, XSE delivers 2–5x the throughput of the best Python server we could build, and 8–36x that of a straightforward one, while using 30–70% less CPU time per prediction and a quarter of the memory.&lt;/p&gt;

&lt;p&gt;Last year, we began deploying core components of XLA Serving Engine as part of Google’s internal load-bearing, production serving infrastructure. Today, XSE serves over &lt;strong&gt;6 million queries per second&lt;/strong&gt; and powers some of Google's highest-volume online inference pipelines, including &lt;strong&gt;YouTube Shorts, Google Ads, Search,&lt;/strong&gt; and parts of &lt;strong&gt;Gemini Omni,&lt;/strong&gt; with plans to onboard more customers internally.&lt;/p&gt;

&lt;p&gt;Having successfully scaled XSE to support the high-throughput workloads of our internal teams, we are now ready to bring this core piece of infrastructure to the wider ecosystem of hardware partners and Cloud TPU users. We designed XLA Serving Engine to be self-contained and modular, so users can deploy it as a standalone inference engine or plug it into their more complex serving solutions.&lt;/p&gt;

&lt;h2&gt;Core production-ready features&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Python-Free Serving:&lt;/strong&gt; XSE enables a “Train in Python, Serve in C++” workflow via the intermediary compiled XLA SavedModel serialization format. In our studies, we found that XSE delivers &lt;strong&gt;2–5x the throughput&lt;/strong&gt; of a pure Python server.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Low-latency execution:&lt;/strong&gt; The XLA Serving Runtime wraps PJRT directly and optimizes the model using the XLA compiler. This eliminates Python runtime overhead and the global interpreter lock. XSE is C++ native, which means one process is capable of using all eight cores.&lt;/li&gt;
&lt;/ul&gt;

&lt;figure class="wide borderless"&gt;
  &lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7bCztvKb6VV6dCcC5I9MmnOHelw_dVpUg-2KkcMPy6v7Z32vwoBV_1SxjpsPhoVQ9eNFeWiBp-yFSC4R2MdU4Vykb6rruezGnvif4ujcu5l30rpluAaWLcAPXlxI0ZTQglvxlA-2a3PGl1zhvm1UWUo7EQ8ceu1K_ZJUDJBh0XZTXft_0nECDvbZpBRA/s1600/image.png"&gt;&lt;img alt="Figure 1: Throughput under latency target (QPS vs. p99 latency target in ms)" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7bCztvKb6VV6dCcC5I9MmnOHelw_dVpUg-2KkcMPy6v7Z32vwoBV_1SxjpsPhoVQ9eNFeWiBp-yFSC4R2MdU4Vykb6rruezGnvif4ujcu5l30rpluAaWLcAPXlxI0ZTQglvxlA-2a3PGl1zhvm1UWUo7EQ8ceu1K_ZJUDJBh0XZTXft_0nECDvbZpBRA/s1600/image.png" /&gt;&lt;/a&gt;
  &lt;figcaption&gt;Figure 1: Throughput under latency target&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Orbax Checkpointing Integration:&lt;/strong&gt; XLA SavedModel stores JAX model computations as StableHLO and uses &lt;a href="https://orbax.readthedocs.io/en/latest/index.html"&gt;Orbax checkpoint&lt;/a&gt; to store the weights.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Flexible Scale:&lt;/strong&gt; Supports both single-host and multi-host serving by leveraging PJRT.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Performance Parity:&lt;/strong&gt; XSE preserves the performance of the model’s forward function (including kernel optimizations). Hand off your model to XLA Serving Engine with confidence that performance will be identical to its training environment.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Docker Packages:&lt;/strong&gt; We provide a &lt;a href="https://github.com/openxla/xla-serving/blob/main/docs/installation.md#server-container-images"&gt;suite of Docker images&lt;/a&gt; that are tested on CPU, GPU, and TPU and expose simple gRPC APIs for calling your model.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Customer testimonials and partner use cases&lt;/h2&gt;

&lt;p&gt;Our Private Preview partners have been actively leveraging XLA Serving Engine to bring their deep learning stacks to production. Here is a selection of private preview customers (alphabetized) to showcase the diversity of uses:&lt;/p&gt;

&lt;h3&gt;Arm: Performance Parity on Arm Neoverse platforms&lt;/h3&gt;

&lt;p&gt;Our work with Arm has proven the production capabilities of JAX and XLA for training and serving on Arm-based CPUs:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;em&gt;“As AI inference scales, software optimization is critical to delivering performance and efficiency across diverse workloads. Through our collaboration with Google and contributions to OpenXLA, we’ve optimized the XLA CPU backend and serving runtime for vision, embedding and recommendation workloads on Arm Neoverse-based platforms, including Google Cloud Axion.”&lt;/em&gt;&lt;/p&gt;
  &lt;p&gt;— &lt;strong&gt;Ian Bratt, Vice President of ML Technology and Fellow, Arm&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;Intel: Native JAX on Xeon server CPUs&lt;/h3&gt;

&lt;p&gt;We have also been partnering with Intel to showcase the power of Intel’s optimized compute:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;em&gt;“Our partnership with Google showcases the XLA Serving Engine (XSE) on Intel® Xeon® processors, delivering native, high-performance JAX inference accelerated by Intel® AMX. With XSE, enterprises get out-of-the-box performance across Vision, Recommendation, and LLM workloads — and the flexibility to serve them efficiently wherever their business runs, from cloud to edge to on-prem.”&lt;/em&gt;&lt;/p&gt;
  &lt;p&gt;— &lt;strong&gt;Bill Pearson, Vice President of Data Center and AI software, Intel&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;Moloco: Scaling advertising and recommenders&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;em&gt;“To support our demand-side platform (DSP) processing over 650 billion daily inferences and peaking at 10.5 million QPS, we needed an inference runtime that could match our massive scale. XLA Serving Engine is the high-performance, C++-based JAX serving solution we’ve been waiting for that keeps us framework agnostic and complements our Cloud TPU Trillium investments.”&lt;/em&gt;&lt;/p&gt;
  &lt;p&gt;— &lt;strong&gt;Kunal Kukreja, Staff Machine Learning Engineer, Moloco&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;What’s next&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Torch Support:&lt;/strong&gt; We plan to integrate with TorchTPU, allowing PyTorch users to export to an XLA SavedModel to serve their models on TPUs in C++.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Ahead-of-Time (AOT) Compilation:&lt;/strong&gt; We are working on rolling out AOT compilation to our internal users before bringing this feature to external users. AOT compilation will reduce cold-start time by offering users the ability to compile their models offline (on CPU) for their target serving hardware.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;C++ Data Preprocessing:&lt;/strong&gt; We are offering a C++ based preprocessor for users who want to combine their data processing with their model’s graph in C++.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Limitations&lt;/h2&gt;

&lt;p&gt;XSE is a lightweight, one-shot inference engine. For large autoregressive language models with long context lengths, we recommend popular projects such as vLLM or SGLang, which benefit from LLM-specific memory management techniques.&lt;/p&gt;

&lt;h2&gt;Get started today&lt;/h2&gt;

&lt;p&gt;Ready to streamline your JAX production pipeline?&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Check out the XLA Serving Engine quick-start instructions at &lt;a href="https://github.com/openxla/xla-serving/blob/main/README.md"&gt;github.com/openxla/xla-serving&lt;/a&gt;. You can find the list of available Docker images &lt;a href="https://github.com/AI-Hypercomputer/xla-serving/blob/main/README.md#docker-images-for-grpc-server"&gt;here&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;File an issue or contribute pull requests at &lt;a href="https://github.com/openxla/xla-serving"&gt;github.com/openxla/xla-serving&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Acknowledgements&lt;/h2&gt;

&lt;p&gt;Thank you to everyone who contributed to XLA Serving Engine, including but not limited to the following individuals:&lt;/p&gt;

&lt;p&gt;Ashish Agarwal, MD Faijul Amin, Carlos Araya, Renato Arantes, Isha Arkatkar, Sagun B, Ashok Bhat, Xevi Miró Bruix, Chris Chan, Ray Chen, Chen Cheng, Hyun Min Choi, Andrea Covre, Gauri Deshpande, Tiffany Dong, Sayce Falk, Happy Gao, Vaibhav Gurunathan, Michael Hudgins, Kritanjali Jain, He Jiang, Leon Kennedy, Young Seok (Tony) Kim, Penporn Koanantakool, Kunal Kukreja, Younghee Kwon, Shawn Lee, Shawn Lu, Siddhartha Menon, Marek Michałowski, Sachin Muradi, César Naranjo, Pat Notz, Adam O’Brien, Olivia Qin, AG Ramesh, Shubha Rao, Mayank Raunak, Crefeda Rodrigues, Gassan Salama, Oleg Shaldybin, Brian Seung, Juanli Shen, Alex Shires, Jeyeon Si, Prairie Sims, Monica Song, Anne Stern, Quoc Truong, Armando Ugalde Velasco, Jess Wiser, Siqiao (James) Wu, Qinglan Xiang, Yunjie Xu, Jeffrey Yoo, Hyungsuk Yoon, and Wangyuan Zhang.&lt;/p&gt;</content><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/9192164654453444706" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/9192164654453444706" rel="self" type="application/atom+xml"/><link href="http://opensource.googleblog.com/2026/11/supercharging-xla-inference-xla-serving-engine.html" rel="alternate" title="Supercharging XLA-based inference: Announcing the launch of XLA Serving Engine" type="text/html"/><link href="at://did:plc:x6bnzgic7duwjxogg7zb3qas/site.standard.document/bz6d33octmo54" rel="site.standard.document"/><author><name>Google Open Source</name><uri>http://www.blogger.com/profile/03718388509216889937</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7bCztvKb6VV6dCcC5I9MmnOHelw_dVpUg-2KkcMPy6v7Z32vwoBV_1SxjpsPhoVQ9eNFeWiBp-yFSC4R2MdU4Vykb6rruezGnvif4ujcu5l30rpluAaWLcAPXlxI0ZTQglvxlA-2a3PGl1zhvm1UWUo7EQ8ceu1K_ZJUDJBh0XZTXft_0nECDvbZpBRA/s72-c/image.png" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-8698702854482141883.post-345257906321456287</id><published>2026-11-04T11:30:00.000-08:00</published><updated>2026-11-04T11:30:00.113-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AI"/><category scheme="http://www.blogger.com/atom/ns#" term="Cloud"/><category scheme="http://www.blogger.com/atom/ns#" term="Kubernetes"/><category scheme="http://www.blogger.com/atom/ns#" term="Open Source"/><title type="text">GKE Workspaces: Your notebook, on Google's AI infrastructure</title><content type="html">

&lt;meta content="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYov03pxAEn-Qpp57cWu1cMxcsokGALcJIZBT_QFvhYvVjRrrpRFSfFGqDausvTBO3dCvYkWj0lBYbTCSCN-PR6Dybcs0Hj1bbR5e0ygQMUhqUzHdo-k47SEjMOtfNA8nfptPDjVn_QKNmjHxNy8BoUKewOZZS7b5wMHWKBd5jyeJRUCyR70FWWcWAlks/s1600/image.gif" name="twitter:image"&gt;&lt;/meta&gt;
&lt;img alt="Screencast of signing into the GKE Workspaces UI and launching a JupyterLab workspace on cloud accelerators." class="metadata" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYov03pxAEn-Qpp57cWu1cMxcsokGALcJIZBT_QFvhYvVjRrrpRFSfFGqDausvTBO3dCvYkWj0lBYbTCSCN-PR6Dybcs0Hj1bbR5e0ygQMUhqUzHdo-k47SEjMOtfNA8nfptPDjVn_QKNmjHxNy8BoUKewOZZS7b5wMHWKBd5jyeJRUCyR70FWWcWAlks/s1600/image.gif" /&gt;
&lt;p class="byline"&gt;by &lt;author&gt;Siyuan Zhang&lt;/author&gt; &amp;amp; &lt;author&gt;Antonio Ojea&lt;/author&gt;, Google Cloud&lt;/p&gt;

&lt;p&gt;If you're an ML engineer or researcher, the GPUs and TPUs you need increasingly live on Kubernetes, but Kubernetes should be an invisible layer. While your platform team sets up the GKE cluster and manages accelerator capacity and reservations, your job is to train and ship models—not to manage Kubernetes infrastructure.&lt;/p&gt;

&lt;p&gt;Today we're introducing &lt;strong&gt;GKE Workspaces&lt;/strong&gt;, a self-hosted AI/ML development platform for Google Kubernetes Engine, built on the open source Kubeflow Workspaces project. Deployed on your team's GKE cluster, it provides a dedicated web dashboard where you can pick an IDE and a machine, and start coding on cloud accelerators in minutes.&lt;/p&gt;

&lt;figure class="wide borderless"&gt;
  &lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYov03pxAEn-Qpp57cWu1cMxcsokGALcJIZBT_QFvhYvVjRrrpRFSfFGqDausvTBO3dCvYkWj0lBYbTCSCN-PR6Dybcs0Hj1bbR5e0ygQMUhqUzHdo-k47SEjMOtfNA8nfptPDjVn_QKNmjHxNy8BoUKewOZZS7b5wMHWKBd5jyeJRUCyR70FWWcWAlks/s1600/image.gif"&gt;&lt;img alt="Screencast of signing into the GKE Workspaces UI and launching a JupyterLab workspace on cloud accelerators." src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYov03pxAEn-Qpp57cWu1cMxcsokGALcJIZBT_QFvhYvVjRrrpRFSfFGqDausvTBO3dCvYkWj0lBYbTCSCN-PR6Dybcs0Hj1bbR5e0ygQMUhqUzHdo-k47SEjMOtfNA8nfptPDjVn_QKNmjHxNy8BoUKewOZZS7b5wMHWKBd5jyeJRUCyR70FWWcWAlks/s1600/image.gif" /&gt;&lt;/a&gt;
&lt;/figure&gt;

&lt;h2&gt;Why Kubeflow Workspaces&lt;/h2&gt;

&lt;p&gt;Kubeflow Workspaces gives every researcher a personal, persistent development environment on shared cluster hardware.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Self-service, in a few clicks.&lt;/strong&gt; Sign in to your team's Workspaces web UI, choose JupyterLab or in-browser VS Code, pick an environment, and select a hardware size such as "Small CPU", "GPU", or "TPU". Researchers don't need Google Cloud Console access, YAML, or command-line setup.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Your work persists.&lt;/strong&gt; Each workspace mounts its own home directory on a dedicated, encrypted Persistent Disk in your Google Cloud project—isolated to that workspace, so your files, notebooks, and installed packages stay safe across restarts, pauses, and machine changes.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Guardrails set by your platform team.&lt;/strong&gt; Admins curate the approved images and hardware options, and decide which machines, reservations, and capacity types (such as on-demand or Spot) back them. Researchers only see choices that work.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Open source and portable.&lt;/strong&gt; Workspaces is part of the Kubeflow community, empowering you with the freedom and flexibility of a fully open source notebook ecosystem.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Upstream integration and open licensing.&lt;/strong&gt; GKE Workspaces builds directly on Kubeflow Workspaces with key enhancements for GKE environments—including standalone deployment without Istio dependencies, integrated authentication token flows, and stateful GPU/CPU pause and resume capabilities. Both &lt;a href="https://github.com/gke-labs/workspaces"&gt;GKE Workspaces&lt;/a&gt; and upstream &lt;a href="https://github.com/kubeflow/kubeflow"&gt;Kubeflow Workspaces&lt;/a&gt; are released under the Apache 2.0 open source license, and we are actively working with the Kubeflow community to upstream these features.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;What's unique about GKE Workspaces&lt;/h2&gt;

&lt;p&gt;GKE Workspaces brings Kubeflow Workspaces together with capabilities that are only available on Google Cloud.&lt;/p&gt;

&lt;h3&gt;1. Pause and resume—without losing your state&lt;/h3&gt;

&lt;p&gt;You've spent an hour loading a large model into GPU memory and building up results across notebook cells. Now it's time to go home. Normally you have two bad options: shut down and lose everything, or leave it running and pay for an idle GPU overnight.&lt;/p&gt;

&lt;p&gt;With GKE Workspaces, you just &lt;strong&gt;pause&lt;/strong&gt; by clicking a button from the Workspaces Dashboard. Built on &lt;a href="https://docs.cloud.google.com/kubernetes-engine/docs/concepts/pod-snapshots"&gt;Pod Snapshots&lt;/a&gt;, GKE takes a snapshot of your running notebook—including variables in memory and models loaded on the GPU—saves it to Cloud Storage, and releases the hardware so you stop paying. When you &lt;strong&gt;resume&lt;/strong&gt;, you pick up exactly where you left off. Workspaces can also be paused automatically after a period of inactivity.&lt;/p&gt;

&lt;figure class="wide borderless"&gt;
  &lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiu5lSL99jPKInR3LiHJwGjrahd21-WmKbHQpkKrCoxXcjfzkJmLGhqy9VkE30RPoGHXIaN9jsaXhJZ4CkGwxEb372QHixJtOcuDhjOcJBfqBT6TdqBL_sfaDduHy4daZ_nXv45YPrJ5quSWEfaq-hlUUK-7wgCXF8SKOxYtmugnaxT_R3GMNZ_HOVs3BM/s1600/image.gif"&gt;&lt;img alt="Screencast of stateful pause and resume via GKE Pod Snapshots preserving GPU memory." src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiu5lSL99jPKInR3LiHJwGjrahd21-WmKbHQpkKrCoxXcjfzkJmLGhqy9VkE30RPoGHXIaN9jsaXhJZ4CkGwxEb372QHixJtOcuDhjOcJBfqBT6TdqBL_sfaDduHy4daZ_nXv45YPrJ5quSWEfaq-hlUUK-7wgCXF8SKOxYtmugnaxT_R3GMNZ_HOVs3BM/s1600/image.gif" /&gt;&lt;/a&gt;
&lt;/figure&gt;

&lt;h3&gt;2. An easy on-ramp to Cloud TPUs&lt;/h3&gt;

&lt;p&gt;Moving from a quick experiment to large-scale training on TPUs used to mean switching tools at every step. GKE Workspaces keeps you in the same notebook the whole way, with both JAX and PyTorch:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;strong&gt;Prototype on a single TPU chip&lt;/strong&gt;, just like you would on a GPU.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Scale to multiple chips on one machine&lt;/strong&gt; by choosing a bigger hardware option.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Scale out to multi-host TPU slices&lt;/strong&gt; by sending the same training function from your notebook to a larger slice. Logs stream back to your notebook, and the TPUs are released as soon as the job finishes.&lt;/li&gt;
&lt;/ol&gt;

&lt;figure class="wide borderless"&gt;
  &lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQrurOeY78ETuchgqvvvznScexT2Txj4QzUW9AZGqcJ6Y59XkRMkLyMthF6I9SWDBBU_nXZwMAmlHPsUDr18d3tRAy75s5we7_fSYI3XoXWhjzWJipxLNWONwS7c5d2KewEuurN3cYveRAplV8hv-_C9rayb6BtUmKOZlh1H6EFkUjIdOgF7Pdi8LT_x0/s1600/image.gif"&gt;&lt;img alt="Screencast scaling a notebook workload from a single Cloud TPU chip to a multi-host TPU slice." src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQrurOeY78ETuchgqvvvznScexT2Txj4QzUW9AZGqcJ6Y59XkRMkLyMthF6I9SWDBBU_nXZwMAmlHPsUDr18d3tRAy75s5we7_fSYI3XoXWhjzWJipxLNWONwS7c5d2KewEuurN3cYveRAplV8hv-_C9rayb6BtUmKOZlh1H6EFkUjIdOgF7Pdi8LT_x0/s1600/image.gif" /&gt;&lt;/a&gt;
&lt;/figure&gt;

&lt;h3&gt;3. Use your local coding agents with cloud accelerators&lt;/h3&gt;

&lt;p&gt;Prefer using your own AI coding agents and editors locally? You can easily bridge them to cloud compute. In the Workspaces web UI, generate a short-lived, revocable link to run your notebooks and agent-generated code on a remote GPU or TPU. Traffic is secured over HTTPS via Google Identity-Aware Proxy and the cluster's access proxy, checking permissions on every request—so no SSH keys, local tunnels, or cluster credentials ever sit on your laptop.&lt;/p&gt;

&lt;figure class="wide borderless"&gt;
  &lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqFlk872LS2z44cFxm8wM6QtCNQs7vN_9XuRuGRChhk_UncAL6mFH8xlVC9DqWTHauySZ7qZAB2KQRkXHuVGSQ1BAAsDQmbHXgM2xI2ZbGxZAEjWnN94JNUaA_TJAkL8kzprU6lW3G17gkoO5l7t83cHtRLAuIoWbT7zIZHCwLq7XR91tuvi5QfpoIXAw/s1600/image.gif"&gt;&lt;img alt="Screencast connecting a local coding agent to a remote TPU workspace over Identity-Aware Proxy HTTPS." src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqFlk872LS2z44cFxm8wM6QtCNQs7vN_9XuRuGRChhk_UncAL6mFH8xlVC9DqWTHauySZ7qZAB2KQRkXHuVGSQ1BAAsDQmbHXgM2xI2ZbGxZAEjWnN94JNUaA_TJAkL8kzprU6lW3G17gkoO5l7t83cHtRLAuIoWbT7zIZHCwLq7XR91tuvi5QfpoIXAw/s1600/image.gif" /&gt;&lt;/a&gt;
&lt;/figure&gt;

&lt;h3&gt;4. A launchpad for distributed work&lt;/h3&gt;

&lt;p&gt;Your workspace doesn't have to be big to drive big jobs. From a small, inexpensive CPU notebook you can process data with Spark, launch multi-host training, serve your model, and scale Ray clusters—all from Python. Built-in Cloud Storage access, with no keys to manage, makes it easy to pass data between each step.&lt;/p&gt;

&lt;figure class="wide borderless"&gt;
  &lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhx4EClMw_ZlCrmtpeQ7K6EB0s6zlJ5qbJWnfSgPkBHgnGqh6IrFMxbcUuN8TodV96eklt4ueae2M7TUgcVdq9FTXmjx37dROzqQXXTWHX8GffN-DirbkMKdCfs4tIWvrNsMebOsJrGTY0umiaMFo29SejnPL5lBw0BrpZGLYHQhZR1M43A-r6OjFH2df8/s1600/image.gif"&gt;&lt;img alt="Screencast coordinating Spark and Ray distributed jobs from a lightweight CPU notebook." src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhx4EClMw_ZlCrmtpeQ7K6EB0s6zlJ5qbJWnfSgPkBHgnGqh6IrFMxbcUuN8TodV96eklt4ueae2M7TUgcVdq9FTXmjx37dROzqQXXTWHX8GffN-DirbkMKdCfs4tIWvrNsMebOsJrGTY0umiaMFo29SejnPL5lBw0BrpZGLYHQhZR1M43A-r6OjFH2df8/s1600/image.gif" /&gt;&lt;/a&gt;
&lt;/figure&gt;

&lt;h3&gt;5. A portal to safe elastic sandboxes for coding subagents&lt;/h3&gt;

&lt;p&gt;Running a fleet of coding agents directly on your local machine can drain your battery, expose sensitive files or credentials to agent-executed code, and halt progress as soon as you close your laptop. From a standard GKE Workspace, you can safely task your favorite coding agent to hand off parallel work—such as resolving failing tests across a repository—to background subagents. Crucially, while your primary workspace operates as a full-featured environment, these subagents are isolated within lightweight, in-cluster sandboxes using providers like &lt;a href="https://github.com/agent-substrate/substrate"&gt;&lt;strong&gt;Agent Substrate&lt;/strong&gt;&lt;/a&gt;, requiring zero local setup. Each subagent executes independently in its own sandbox on shared cluster nodes, continues running even when you log off, snapshots to Cloud Storage at zero compute cost while idle, and outputs a clean patch for your review and merge.&lt;/p&gt;

&lt;figure class="wide borderless"&gt;
  &lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGmBCVpPNcr5ItqzsZl7LentEuyvirgTws1AumMBearD7o2UEgCtGCqWMj-7BGQOC2K6lxUodqjbR6PqzdGF94wzf2Wk6ZRq0X-y_KSaBSLToH0P_QYdg0R7fS6H2b-AmnmwPlPeodA3sKqlXGvODwZQuLoyr0E3J5thF-i2Vl1efCSyKO1n9CmRNdfoE/s1600/image.gif"&gt;&lt;img alt="Screencast spawning isolated coding subagents inside lightweight Agent Substrate cluster sandboxes." src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGmBCVpPNcr5ItqzsZl7LentEuyvirgTws1AumMBearD7o2UEgCtGCqWMj-7BGQOC2K6lxUodqjbR6PqzdGF94wzf2Wk6ZRq0X-y_KSaBSLToH0P_QYdg0R7fS6H2b-AmnmwPlPeodA3sKqlXGvODwZQuLoyr0E3J5thF-i2Vl1efCSyKO1n9CmRNdfoE/s1600/image.gif" /&gt;&lt;/a&gt;
&lt;/figure&gt;

&lt;h3&gt;6. Lightweight and secure by default&lt;/h3&gt;

&lt;p&gt;GKE Workspaces runs on its own on GKE Standard or Autopilot—you don't need to install the full Kubeflow platform. Users sign in with their Google accounts, traffic is encrypted with Google-managed certificates, and each team's work is isolated from the others.&lt;/p&gt;

&lt;h2&gt;Get started&lt;/h2&gt;

&lt;p&gt;GKE Workspaces lets ML teams focus on models, not infrastructure: one-click development environments, stateful pause and resume, a smooth path to Cloud TPUs, and the power of GKE behind every notebook.&lt;/p&gt;

&lt;p&gt;Ask your platform team to deploy it using the &lt;a href="https://github.com/gke-labs/workspaces/blob/main/providers/gke/USER_GUIDE.md"&gt;&lt;strong&gt;GKE deployment guide&lt;/strong&gt;&lt;/a&gt;, and learn more about the upstream project at &lt;a href="https://www.kubeflow.org/docs/components/workspaces/"&gt;&lt;strong&gt;Kubeflow Workspaces&lt;/strong&gt;&lt;/a&gt;. We welcome feedback and contributions for both Apache 2.0-licensed projects.&lt;/p&gt;
</content><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/345257906321456287" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/345257906321456287" rel="self" type="application/atom+xml"/><link href="http://opensource.googleblog.com/2026/11/gke-workspaces-notebooks-on-google-ai-infrastructure.html" rel="alternate" title="GKE Workspaces: Your notebook, on Google's AI infrastructure" type="text/html"/><link href="at://did:plc:x6bnzgic7duwjxogg7zb3qas/site.standard.document/2dmoubmb4yz6z" rel="site.standard.document"/><author><name>Google Open Source</name><uri>http://www.blogger.com/profile/03718388509216889937</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYov03pxAEn-Qpp57cWu1cMxcsokGALcJIZBT_QFvhYvVjRrrpRFSfFGqDausvTBO3dCvYkWj0lBYbTCSCN-PR6Dybcs0Hj1bbR5e0ygQMUhqUzHdo-k47SEjMOtfNA8nfptPDjVn_QKNmjHxNy8BoUKewOZZS7b5wMHWKBd5jyeJRUCyR70FWWcWAlks/s72-c/image.gif" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-8698702854482141883.post-7829703539790138978</id><published>2026-11-03T11:30:00.000-08:00</published><updated>2026-11-03T11:30:00.114-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="3D"/><category scheme="http://www.blogger.com/atom/ns#" term="Open Source"/><category scheme="http://www.blogger.com/atom/ns#" term="Rust"/><category scheme="http://www.blogger.com/atom/ns#" term="Three.js"/><category scheme="http://www.blogger.com/atom/ns#" term="WebXR"/><title type="text">Introducing Three-Live: turning AI-generated Three.js into interactive 3D, AR, and WebXR across web and mobile</title><content type="html">&lt;meta name="twitter:image" content="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicVnawvU2wNMNMemlGTdmQ0lERS9IupQ4HCSTUDQsm7BAarw2YSunm4XK_QbZuF3NgHTe56q1cBYnPbVj4YK6vXftiv44SvgYGOuS0eWeHaWhhv3WRRgys-sHmEVUVlbXbVx3CWPHgz9Yi4S8S-2MQVSEEwTiOJger-yAToVWGxyrG1CRwTTK3DU5UM9E/s1600/image.png" /&gt;
&lt;img class="metadata" alt="Screenshot of the Three-Live interactive studio running in a browser, showing live procedural Three.js controls and a real-time PBR 3D scene with metallic and emissive materials." src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicVnawvU2wNMNMemlGTdmQ0lERS9IupQ4HCSTUDQsm7BAarw2YSunm4XK_QbZuF3NgHTe56q1cBYnPbVj4YK6vXftiv44SvgYGOuS0eWeHaWhhv3WRRgys-sHmEVUVlbXbVx3CWPHgz9Yi4S8S-2MQVSEEwTiOJger-yAToVWGxyrG1CRwTTK3DU5UM9E/s1600/image.png" /&gt;
&lt;p class="byline"&gt;by &lt;author&gt;Jonathan Bingham&lt;/author&gt;, AI Foundations&lt;/p&gt;

&lt;p&gt;Want to add AI-generated 3D or XR to your web or mobile app? Unsure how to get started? That’s why we created the open source cross-platform project Three-Live—written entirely by &lt;a href="https://antigravity.google/"&gt;Google Antigravity&lt;/a&gt;, in partnership with one former software engineer turned product manager. &lt;em&gt;(Three-Live is not an officially supported Google product.)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;You can think of Three-Live as a simple, unofficial companion to the more capable and feature-rich &lt;a href="https://xrblocks.github.io/"&gt;XR Blocks&lt;/a&gt;, Android XR’s web-based cross-platform framework for XR. The goal of Three-Live is to make it easy to get started with 3D and XR that’s AI-authored in &lt;a href="https://threejs.org/"&gt;Three.js&lt;/a&gt;. Three-Live combines the familiar developer experience of &lt;a href="https://modelviewer.dev/"&gt;&lt;code class="inline"&gt;&amp;lt;model-viewer&amp;gt;&lt;/code&gt;&lt;/a&gt; and native mobile libraries with a sandboxed compiler for on-device or server-side compilation of untrusted LLM-generated JavaScript. Large language models (LLMs) have gotten remarkably good at writing software, and that includes generating 3D code in procedural &lt;a href="https://threejs.org/"&gt;Three.js&lt;/a&gt; JavaScript that describes objects, materials, lighting, and animations. But runtime AI-generated code is not trusted, and requires security sandboxing for safe execution. Also, mobile devices provide native support for 3D and XR rendering, and forcing them to run a webview limits the performance.&lt;/p&gt;

&lt;figure class="wide borderless"&gt;
  &lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicVnawvU2wNMNMemlGTdmQ0lERS9IupQ4HCSTUDQsm7BAarw2YSunm4XK_QbZuF3NgHTe56q1cBYnPbVj4YK6vXftiv44SvgYGOuS0eWeHaWhhv3WRRgys-sHmEVUVlbXbVx3CWPHgz9Yi4S8S-2MQVSEEwTiOJger-yAToVWGxyrG1CRwTTK3DU5UM9E/s1600/image.png"&gt;&lt;img alt="Screenshot of the Three-Live interactive studio running in a browser, showing live procedural Three.js controls and a real-time PBR 3D scene with metallic and emissive materials." src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicVnawvU2wNMNMemlGTdmQ0lERS9IupQ4HCSTUDQsm7BAarw2YSunm4XK_QbZuF3NgHTe56q1cBYnPbVj4YK6vXftiv44SvgYGOuS0eWeHaWhhv3WRRgys-sHmEVUVlbXbVx3CWPHgz9Yi4S8S-2MQVSEEwTiOJger-yAToVWGxyrG1CRwTTK3DU5UM9E/s1600/image.png" /&gt;&lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;Today, we are excited to release &lt;a href="https://github.com/google/three-live"&gt;Three-Live&lt;/a&gt; (&lt;code class="inline"&gt;v1.0.0&lt;/code&gt;, Developer Preview) under the Apache 2.0 license. It’s a lightweight, cross-platform open source library and on-device compiler that bridges the gap between AI-generated Three.js code and high-performance 3D, AR, and WebXR rendering across web, Android, and iOS.&lt;/p&gt;

&lt;figure class="wide borderless"&gt;
  &lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5Q8nqAbGgqkajp1AJQulOx41UJFjgpXKizD5tEsIWCSMI5lwPu5zmnE_-5KbVLSP97AO8L4zC-6WDr_94MJSOJG1yss7oyuEzpvoIEMlDkykkxkk8K3dkO9uJqJUftTdmkoVj5VNRAf89AKeDX43j5cDyYJmbCGvFa6BCuiwP70jmNXjKM-AUWmBkqoI/s1600/image.png"&gt;&lt;img alt="Flowchart showing a procedural Three.js script entering the on-device Three-Live sandbox and compiling in milliseconds into binary glTF 2.0 (GLB) and USDZ for WebGL2/WebXR on the web, Google Filament and Scene Viewer on Android, and RealityKit and Quick Look on iOS." src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5Q8nqAbGgqkajp1AJQulOx41UJFjgpXKizD5tEsIWCSMI5lwPu5zmnE_-5KbVLSP97AO8L4zC-6WDr_94MJSOJG1yss7oyuEzpvoIEMlDkykkxkk8K3dkO9uJqJUftTdmkoVj5VNRAf89AKeDX43j5cDyYJmbCGvFa6BCuiwP70jmNXjKM-AUWmBkqoI/s1600/image.png" /&gt;&lt;/a&gt;
&lt;/figure&gt;

&lt;h2&gt;How Three-Live works&lt;/h2&gt;

&lt;p&gt;Rather than use Three.js as a browser-only rendering loop, Three-Live treats a declarative subset of the Three.js API as a universal, portable scene description language:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sandboxed execution with strict resource quotas:&lt;/strong&gt; On the web, untrusted scripts execute inside an isolated Web Worker (with an optional opaque-origin sandboxed &lt;code class="inline"&gt;&amp;lt;iframe&amp;gt;&lt;/code&gt; tier) where network primitives (&lt;code class="inline"&gt;fetch&lt;/code&gt;, &lt;code class="inline"&gt;XMLHttpRequest&lt;/code&gt;, &lt;code class="inline"&gt;WebSocket&lt;/code&gt;, dynamic &lt;code class="inline"&gt;import()&lt;/code&gt;) are stripped before a single line of user code runs. On Android, iOS, macOS, and the command line, scripts execute inside an embedded Rust compiler powered by the &lt;a href="https://boajs.dev/"&gt;Boa&lt;/a&gt; ECMAScript engine. Both runtimes enforce hard execution timeouts and geometry quotas (capping vertices, triangles, meshes, and procedural textures) so runaway scripts cannot freeze the host application.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fast on-device compilation to GLB and USDZ:&lt;/strong&gt; As the script constructs geometries, physically based rendering (PBR) materials, procedural canvas textures, hierarchy groups, and keyframe animations, Three-Live serializes the resulting scene graph directly into standard binary &lt;a href="https://www.khronos.org/gltf/"&gt;glTF 2.0&lt;/a&gt; (&lt;code class="inline"&gt;.glb&lt;/code&gt;) and uncompressed Apple &lt;a href="https://openusd.org/"&gt;USDZ&lt;/a&gt; (&lt;code class="inline"&gt;.usdz&lt;/code&gt;) byte buffers in memory—typically in two to five milliseconds.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Platform-optimized rendering:&lt;/strong&gt; Because the output is a standard binary 3D asset coupled with declarative animation bindings, each platform renders it using its built-in graphics pipeline:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Web (&lt;code class="inline"&gt;three-live&lt;/code&gt; and &lt;code class="inline"&gt;xr-live&lt;/code&gt;):&lt;/strong&gt; A custom zero-dependency WebGL2 PBR renderer and &lt;code class="inline"&gt;&amp;lt;three-live&amp;gt;&lt;/code&gt; web component—inspired by &lt;a href="https://modelviewer.dev/"&gt;&lt;code class="inline"&gt;&amp;lt;model-viewer&amp;gt;&lt;/code&gt;&lt;/a&gt;—complete with procedural Studio HDRI reflections, screen-space ambient occlusion (SSAO), bloom, shadow mapping, and a single-click AR handoff to Android Scene Viewer, Apple AR Quick Look, or immersive WebXR. At launch, the standard bundle with sandboxed scripting and AR is about &lt;code class="inline"&gt;45 KB&lt;/code&gt; gzipped, and the &lt;code class="inline"&gt;xr-live&lt;/code&gt; spatial computing suite is about &lt;code class="inline"&gt;55 KB&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Android (&lt;code class="inline"&gt;com.google.threelive:compiler&lt;/code&gt;):&lt;/strong&gt; A Kotlin SDK and multi-architecture JNI library (&lt;code class="inline"&gt;arm64-v8a&lt;/code&gt;, &lt;code class="inline"&gt;armeabi-v7a&lt;/code&gt;, &lt;code class="inline"&gt;x86_64&lt;/code&gt;) that compiles Three.js strings on a background coroutine straight into &lt;code class="inline"&gt;ByteBuffer&lt;/code&gt; assets for &lt;a href="https://github.com/google/filament"&gt;Google Filament&lt;/a&gt; &lt;code class="inline"&gt;ModelViewer&lt;/code&gt; and Scene Viewer AR.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;iOS and macOS (&lt;code class="inline"&gt;ThreeLiveCompiler&lt;/code&gt;):&lt;/strong&gt; A Swift Package and five-slice &lt;code class="inline"&gt;XCFramework&lt;/code&gt; that compiles Three.js scripts on-device for RealityKit &lt;code class="inline"&gt;ModelEntity&lt;/code&gt; and &lt;code class="inline"&gt;ARQuickLookPreviewController&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;figure class="wide borderless"&gt;
  &lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhW22y7uQOUnumHd_ks5V7rEPNNv7pCsZWnzGy1a2H9v5-8MrrG8bTdIto3xVuHw3k2UcQN9rV0HA0y_spokqGgHbS71e9ePeNdHD3lUITeo5BgikwVvje_7jPg9SwHn9YRNbW-VjanZ66EzNfKCJU8vm0PrfvFcurs5RTlRHQIs88B3MBv-jMrD075MXg/s1600/image.png"&gt;&lt;img alt="Screenshot of the XR-Live Spatial Computing Playground demonstrating six-degrees-of-freedom (6DoF) spatial traits, live procedural Three.js source editing, and spatial DOM UI projection." src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhW22y7uQOUnumHd_ks5V7rEPNNv7pCsZWnzGy1a2H9v5-8MrrG8bTdIto3xVuHw3k2UcQN9rV0HA0y_spokqGgHbS71e9ePeNdHD3lUITeo5BgikwVvje_7jPg9SwHn9YRNbW-VjanZ66EzNfKCJU8vm0PrfvFcurs5RTlRHQIs88B3MBv-jMrD075MXg/s1600/image.png" /&gt;&lt;/a&gt;
&lt;/figure&gt;

&lt;h2&gt;Declarative 3D and spatial WebXR in HTML&lt;/h2&gt;

&lt;p&gt;On the web, adding an interactive, AI-generated 3D model with built-in orbit controls and mobile AR support requires just a single HTML custom element:&lt;/p&gt;

&lt;pre&gt;&lt;code class="codebox html show-language"&gt;&amp;lt;script src="https://cdn.jsdelivr.net/npm/three-live@1.0.0/dist/three-live.min.js"&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;three-live allow-client-scripts camera-controls ar shadow-intensity="1" environment-image="studio"&amp;gt;
  &amp;lt;script type="text/three-live"&amp;gt;
    const knot = new THREE.Mesh(
      new THREE.TorusKnotGeometry(0.6, 0.2, 128, 32),
      new THREE.MeshStandardMaterial({
        color: 0x4285f4,
        metalness: 0.85,
        roughness: 0.15
      })
    );
    scene.add(knot);
    // Baked into a looping glTF animation (4 seconds by default).
    scene.userData.animate = (t) =&amp;gt; {
      knot.rotation.y = t * (Math.PI / 2);
    };
  &amp;lt;/script&amp;gt;
&amp;lt;/three-live&amp;gt;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The script runs in the sandbox described above. Because inline scripts are client-modifiable, they require the explicit &lt;code class="inline"&gt;allow-client-scripts&lt;/code&gt; opt-in; server-generated scripts can be loaded with &lt;code class="inline"&gt;script-src&lt;/code&gt; instead.&lt;/p&gt;

&lt;p&gt;Only need to display existing models? The viewer-only build drops the script compiler and AR handoff and weighs about &lt;code class="inline"&gt;23 KB&lt;/code&gt; gzipped at launch—tiny compared to the full Three.js library. The Three-Live viewer focuses on fast-loading PBR display, orbit controls, and glTF animation:&lt;/p&gt;

&lt;pre&gt;&lt;code class="codebox html show-language"&gt;&amp;lt;script src="https://cdn.jsdelivr.net/npm/three-live@1.0.0/dist/three-live-viewer.min.js"&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;three-live src="chair.glb" camera-controls auto-rotate&amp;gt;&amp;lt;/three-live&amp;gt;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;For spatial computing headsets and mobile AR browsers, the companion &lt;a href="https://www.npmjs.com/package/xr-live"&gt;&lt;code class="inline"&gt;xr-live&lt;/code&gt;&lt;/a&gt; package adds &lt;code class="inline"&gt;&amp;lt;xr-live&amp;gt;&lt;/code&gt; and &lt;code class="inline"&gt;&amp;lt;xr-scene&amp;gt;&lt;/code&gt;, enabling six-degrees-of-freedom (6DoF) hand-tracking gestures (pinch, grab, two-hand scale), spatial DOM projection, and real-time voice- or text-to-3D object synthesis inside an active WebXR session.&lt;/p&gt;

&lt;h2&gt;Try it today&lt;/h2&gt;

&lt;p&gt;We built Three-Live to make 3D and spatial computing accessible to web, mobile, and AI developer communities without requiring complex 3D modeling pipelines. You can explore the project and try it right in your browser:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Interactive browser playgrounds:&lt;/strong&gt; Launch the live &lt;a href="https://google.github.io/three-live/"&gt;Three-Live Studio and XR-Live Playgrounds&lt;/a&gt; to edit procedural Three.js code and inspect real-time GLB compilation in your browser.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Source code and prebuilt binaries:&lt;/strong&gt; Visit the &lt;a href="https://github.com/google/three-live"&gt;google/three-live GitHub repository&lt;/a&gt; and the &lt;a href="https://github.com/google/three-live/releases/tag/v1.0.0"&gt;v1.0.0 GitHub Release&lt;/a&gt; for prebuilt Linux, macOS, and Windows CLI binaries (&lt;code class="inline"&gt;three-live-cli&lt;/code&gt;), Android &lt;code class="inline"&gt;.aar&lt;/code&gt; archives, and Apple &lt;code class="inline"&gt;.xcframework&lt;/code&gt; bundles.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Package managers:&lt;/strong&gt; Install &lt;a href="https://www.npmjs.com/package/three-live"&gt;&lt;code class="inline"&gt;three-live&lt;/code&gt;&lt;/a&gt; and &lt;a href="https://www.npmjs.com/package/xr-live"&gt;&lt;code class="inline"&gt;xr-live&lt;/code&gt;&lt;/a&gt; from npm, &lt;a href="https://crates.io/crates/three-live-compiler"&gt;&lt;code class="inline"&gt;three-live-compiler&lt;/code&gt;&lt;/a&gt; from Crates.io, or add &lt;code class="inline"&gt;https://github.com/google/three-live.git&lt;/code&gt; in Xcode via Swift Package Manager.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Three-Live is currently in Developer Preview, and we welcome feedback, bug reports, and pull requests from open source developer communities on &lt;a href="https://github.com/google/three-live/issues"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;
</content><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/7829703539790138978" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/7829703539790138978" rel="self" type="application/atom+xml"/><link href="http://opensource.googleblog.com/2026/11/introducing-three-live-ai-generated-3d-ar-webxr.html" rel="alternate" title="Introducing Three-Live: turning AI-generated Three.js into interactive 3D, AR, and WebXR across web and mobile" type="text/html"/><link href="at://did:plc:x6bnzgic7duwjxogg7zb3qas/site.standard.document/ate7lwf6wynn4" rel="site.standard.document"/><author><name>Google Open Source</name><uri>http://www.blogger.com/profile/03718388509216889937</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicVnawvU2wNMNMemlGTdmQ0lERS9IupQ4HCSTUDQsm7BAarw2YSunm4XK_QbZuF3NgHTe56q1cBYnPbVj4YK6vXftiv44SvgYGOuS0eWeHaWhhv3WRRgys-sHmEVUVlbXbVx3CWPHgz9Yi4S8S-2MQVSEEwTiOJger-yAToVWGxyrG1CRwTTK3DU5UM9E/s72-c/image.png" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-8698702854482141883.post-6241770186580376719</id><published>2026-10-30T11:30:00.000-07:00</published><updated>2026-10-30T11:30:00.198-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AI"/><category scheme="http://www.blogger.com/atom/ns#" term="Developer Tools"/><category scheme="http://www.blogger.com/atom/ns#" term="Open Source Today"/><category scheme="http://www.blogger.com/atom/ns#" term="Security"/><category scheme="http://www.blogger.com/atom/ns#" term="This Week in Open Source"/><category scheme="http://www.blogger.com/atom/ns#" term="twios"/><title type="text">This Week in Open Source for October 30, 2026</title><content type="html">&lt;meta name="twitter:image" content="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4Zr7d1h4eBcORClvDrChYYm8lvEHl9k_5Al6zmVf6j2NvjDfHay7827jgSzRQbVMNzBkGBzj-62f_KsoM4WhFEbbe7Qfj5bvQRTBnFh6pPX4S1QHkajbXAOhpL133CqLiqhs8z479k294nmccA-w_O1bF_1nkVGj08xjzzuiU-1Mx5RB9VARKLXb4EX8/s1600/image.png" /&gt;
&lt;img class="metadata" alt="Light-theme Google Open Source banner reading 'This Week in Open Source' above four connected circular icon medallions representing upcoming events (calendar), open source reads (globe), code and tutorials (laptop with code brackets), and community (people)." src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4Zr7d1h4eBcORClvDrChYYm8lvEHl9k_5Al6zmVf6j2NvjDfHay7827jgSzRQbVMNzBkGBzj-62f_KsoM4WhFEbbe7Qfj5bvQRTBnFh6pPX4S1QHkajbXAOhpL133CqLiqhs8z479k294nmccA-w_O1bF_1nkVGj08xjzzuiU-1Mx5RB9VARKLXb4EX8/s1600/image.png" /&gt;
&lt;p class="byline"&gt;by &lt;author&gt;Daryl Ducharme&lt;/author&gt; &amp;amp; &lt;author&gt;Shane Glass&lt;/author&gt;, Open Source Programs Office&lt;/p&gt;

&lt;figure class="wide borderless"&gt;
  &lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4Zr7d1h4eBcORClvDrChYYm8lvEHl9k_5Al6zmVf6j2NvjDfHay7827jgSzRQbVMNzBkGBzj-62f_KsoM4WhFEbbe7Qfj5bvQRTBnFh6pPX4S1QHkajbXAOhpL133CqLiqhs8z479k294nmccA-w_O1bF_1nkVGj08xjzzuiU-1Mx5RB9VARKLXb4EX8/s1600/image.png"&gt;&lt;img alt="Light-theme Google Open Source banner reading 'This Week in Open Source' above four connected circular icon medallions representing upcoming events (calendar), open source reads (globe), code and tutorials (laptop with code brackets), and community (people)." src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4Zr7d1h4eBcORClvDrChYYm8lvEHl9k_5Al6zmVf6j2NvjDfHay7827jgSzRQbVMNzBkGBzj-62f_KsoM4WhFEbbe7Qfj5bvQRTBnFh6pPX4S1QHkajbXAOhpL133CqLiqhs8z479k294nmccA-w_O1bF_1nkVGj08xjzzuiU-1Mx5RB9VARKLXb4EX8/s1600/image.png" /&gt;&lt;/a&gt;
&lt;/figure&gt;

&lt;h2&gt;A look around the world of open source&lt;/h2&gt;

&lt;p&gt;Right before Halloween weekend, it feels fitting to ask what actually haunts open source communities right now—from supply-chain ghosts lurking in commit histories and the hidden cost of maintaining isolated "zombie" forks to models wearing open source costumes without sharing what is under the mask. Across this week's reads, maintainers, researchers, and engineers share how they are keeping the lights on: setting clear community boundaries for AI contributions, wiring human sign-off and cost guardrails directly into automated workflows, and co-building open infrastructure across hardware stacks. Technology only serves people when the humans doing the work stay in control of the machinery—and transparent, inspectable tools remain our best defense against things that go bump in the night.&lt;/p&gt;

&lt;h2&gt;Upcoming events&lt;/h2&gt;

&lt;h3&gt;&#128467;️ November 2026&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href="https://events.linuxfoundation.org/open-source-finance-forum-new-york/"&gt;&lt;strong&gt;Open Source in Finance Forum (OSFF) New York&lt;/strong&gt;&lt;/a&gt; (November 4–5, 2026) – New York, New York, USA. Dedicated industry conference examining open source compliance, supply-chain security, and collaborative innovation across regulated financial institutions.&lt;/li&gt;
  &lt;li&gt;&lt;a href="https://seagl.org/"&gt;&lt;strong&gt;SeaGL (Seattle GNU/Linux Conference) 2026&lt;/strong&gt;&lt;/a&gt; (November 6–7, 2026) – Seattle, Washington, USA &amp;amp; Virtual. Free, grassroots technical summit dedicated to spreading awareness and knowledge of free and open source software, hardware, and culture.&lt;/li&gt;
  &lt;li&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/"&gt;&lt;strong&gt;KubeCon + CloudNativeCon North America 2026&lt;/strong&gt;&lt;/a&gt; (November 9–12, 2026) – Salt Lake City, Utah, USA. The Cloud Native Computing Foundation's (CNCF) flagship conference uniting adopters and maintainers around Kubernetes and containerized distributed infrastructure—featuring over 35 sessions and keynotes from Googlers including &lt;strong&gt;Abdel Sghiouar&lt;/strong&gt;, &lt;strong&gt;Jago Macleod&lt;/strong&gt;, &lt;strong&gt;Tim Hockin&lt;/strong&gt;, &lt;strong&gt;Kaslin Fields&lt;/strong&gt;, &lt;strong&gt;John Belamaric&lt;/strong&gt;, &lt;strong&gt;Dawn Chen&lt;/strong&gt;, &lt;strong&gt;Janet Kuo&lt;/strong&gt;, &lt;strong&gt;Benjamin Elder&lt;/strong&gt;, &lt;strong&gt;Antonio Ojea&lt;/strong&gt;, &lt;strong&gt;Lior Lieberman&lt;/strong&gt;, &lt;strong&gt;Michelle Au&lt;/strong&gt;, and &lt;strong&gt;Braydon Kains&lt;/strong&gt; across Kubernetes Special Interest Groups (SIGs), etcd, containerd, Gateway API, Common Expression Language (CEL) admission policies, and agent sandboxes, plus the Google-sponsored Community Hub.&lt;/li&gt;
  &lt;li&gt;&lt;a href="https://www.sfscon.it/"&gt;&lt;strong&gt;SFSCON (South Tyrol Free Software Conference) 2026&lt;/strong&gt;&lt;/a&gt; (November 13–14, 2026) – Bolzano, Italy. One of Europe's longest-running free software conferences bringing together public-sector decision-makers and developers to advance digital sovereignty and open infrastructure.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&#128467;️ December 2026&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href="https://www.yoctoproject.org/community/events/"&gt;&lt;strong&gt;Yocto Project Virtual Summit 2026.12&lt;/strong&gt;&lt;/a&gt; (December 1–3, 2026) – Virtual. Community summit for embedded Linux engineers and maintainers building custom, reproducible Linux distributions across edge and Internet of Things (IoT) hardware.&lt;/li&gt;
  &lt;li&gt;&lt;a href="https://events.linuxfoundation.org/open-source-summit-japan/"&gt;&lt;strong&gt;Open Source Summit Japan 2026&lt;/strong&gt;&lt;/a&gt; (December 7–9, 2026) – Tokyo, Japan. The Linux Foundation's premier Asia-Pacific conference connecting open source developers, kernel maintainers, and enterprise leaders across cloud, embedded Linux, and open AI—featuring a keynote by Google's &lt;strong&gt;Kaz Sato&lt;/strong&gt; on building agents on open standards alongside sessions from Googlers &lt;strong&gt;Tanya Sharma&lt;/strong&gt;, &lt;strong&gt;Tarun Sahu&lt;/strong&gt;, and &lt;strong&gt;Anurag Sinha&lt;/strong&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;a href="https://events.linuxfoundation.org/open-compliance-summit/"&gt;&lt;strong&gt;Open Compliance Summit 2026&lt;/strong&gt;&lt;/a&gt; (December 10–11, 2026) – Tokyo, Japan. Specialized gathering uniting legal, security, and Open Source Programs Office (OSPO) practitioners around OpenChain, Software Package Data Exchange (SPDX), software bills of materials (SBOMs), and global open source supply-chain compliance.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&#128467;️ January 2027&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href="https://fosdem.org/2027/"&gt;&lt;strong&gt;Free and Open Source Software Developers' European Meeting (FOSDEM) 2027&lt;/strong&gt;&lt;/a&gt; (January 30–31, 2027) – Brussels, Belgium. Europe's largest free, volunteer-organized gathering for free and open source software developers at the Université libre de Bruxelles—with calls for participation now open across 77 community developer rooms and main-track proposals open through November 16.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Open calls for proposals (CFPs)&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href="https://fosdem.org/2027/news/accepted-developer-rooms/"&gt;&lt;strong&gt;Free and Open Source Software Developers' European Meeting (FOSDEM) 2027&lt;/strong&gt;&lt;/a&gt; (Event: January 30–31, 2027 – Brussels, Belgium) – &lt;strong&gt;Main-track CFP deadline: November 16, 2026&lt;/strong&gt; (developer room calls for participation open across &lt;a href="https://pretalx.fosdem.org/fosdem-2027/cfp"&gt;77 accepted community developer rooms&lt;/a&gt;, with devroom schedules published by December 7, 2026).&lt;/li&gt;
  &lt;li&gt;&lt;a href="https://cfp.atmosphereconf.org/atmoco2027/cfp"&gt;&lt;strong&gt;AtmosphereConf 2027&lt;/strong&gt;&lt;/a&gt; (Event: April 29 – May 2, 2027 – Amsterdam, The Netherlands) – &lt;strong&gt;Round 1 CFP deadline: November 30, 2026&lt;/strong&gt; (Round 2: January 11 – February 14, 2027). Community conference uniting developers, researchers, and creators building on the Authenticated Transfer Protocol (AT Protocol), open social web standards, and decentralized agent substrates across Build, Create, Inform, and Govern tracks.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Open source reads and links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;[Blog] &lt;a href="https://www.wiz.io/blog/litellm-compromised-steals-credentials"&gt;LiteLLM Compromised, GhostAction Git-History Mining &amp;amp; Core PHP Vulnerabilities&lt;/a&gt; - From &lt;a href="https://www.wiz.io/blog/litellm-compromised-steals-credentials"&gt;trojanized LiteLLM wheels&lt;/a&gt; pushed via logged GitHub command-line interface (CLI) tokens and &lt;a href="https://www.stepsecurity.io/blog/ghostaction-returns"&gt;GhostAction workflows&lt;/a&gt; mining full git histories across 345+ repos to &lt;a href="https://cloud.google.com/blog/products/identity-security/responding-to-core-php-vulnerabilities-cve-2026-109618-cve-2026-109619"&gt;dual Common Vulnerability Scoring System (CVSS) 9.2 core PHP Common Vulnerabilities and Exposures (CVEs) (CVE-2026-109618 and CVE-2026-109619)&lt;/a&gt; uncovered with Gemini 4 Argon, AI is accelerating bug discovery while targeting developer credentials. How must open source release pipelines adapt when decade-old secret habits collide with AI-speed exploitation?&lt;/li&gt;
  &lt;li&gt;[Blog] &lt;a href="https://www.redhat.com/en/blog/why-secure-design-new-standard-open-source"&gt;Why "secure by design" is the new standard for open source&lt;/a&gt; - With initial European Union (EU) Cyber Resilience Act (CRA) reporting rules now live, Roman Zhukov highlights &lt;a href="https://openssf.org/wp-content/uploads/2026/06/2026_CRA_Awareness_Readiness_Report.pdf"&gt;Open Source Security Foundation (OpenSSF) research&lt;/a&gt; showing 66% of companies remain unfamiliar with the law—and that carrying private forks can add over $258,000 in compliance labor costs. How can upstream maintainers adopt &lt;a href="https://www.redhat.com/en/blog/why-secure-design-new-standard-open-source"&gt;"secure by design" hygiene&lt;/a&gt; without absorbing downstream manufacturer liability?&lt;/li&gt;
  &lt;li&gt;[Repository] &lt;a href="https://github.com/melissawm/open-source-ai-contribution-policies"&gt;open-source-ai-contribution-policies&lt;/a&gt; - Across nearly 200 open source AI contribution policies tracked by Melissa Weber Mendonça, over half ban AI-generated pull request descriptions and issue comments to stop unreviewed comment walls—yet 61 projects explicitly carve out machine translation so non-native English contributors aren't shut out. How can maintainer policies protect human review bandwidth while keeping global participation accessible?&lt;/li&gt;
  &lt;li&gt;[Blog] &lt;a href="https://blog.getbootstrap.com/2026/10/15/triaging-bootstrap-with-claude-agents/"&gt;Triaging open source with agents&lt;/a&gt; - AI-assisted coding has put a spotlight on the human bottlenecks in software pipelines, making it refreshing to see maintainers build AI workflows that actually help them keep up. Bootstrap’s two core maintainers built &lt;code class="inline"&gt;twbs/triage&lt;/code&gt; to reproduce bugs and prep fixes offline while keeping every reply and merge human-led—which of these emerging patterns will stick as real best practices?&lt;/li&gt;
  &lt;li&gt;[Blog] &lt;a href="https://genkit.dev/blog/genkit-go-1-14/"&gt;Genkit Go 1.14: Typed HITL tools, budgets, context compression, GenAI tracing, and decision models&lt;/a&gt; - &lt;a href="https://genkit.dev/blog/genkit-go-1-14/"&gt;Genkit Go 1.14&lt;/a&gt; stabilizes typed human-in-the-loop (HITL) approvals via &lt;code class="inline"&gt;DefineResumableTool&lt;/code&gt;, adds run-wide token and cost budgets that include subagents, adopts OpenTelemetry GenAI semantic conventions, and loads portable &lt;code class="inline"&gt;Agent Skills&lt;/code&gt; bundles from any Go &lt;code class="inline"&gt;fs.FS&lt;/code&gt;. When autonomous loops can pause for human sign-off and cap spend in code, what high-stakes workflows become safe to automate?&lt;/li&gt;
  &lt;li&gt;[Article] &lt;a href="https://allthingsopen.org/articles/open-source-ai-vs-open-weights"&gt;Open weights are not open source AI, and why it matters&lt;/a&gt; - Tuning up a car doesn’t mean you know how the engine was built—an analogy Open Source Initiative (OSI) Executive Director Duane O’Brien uses to explain why OSI’s Open Source AI Definition requires training code and data details alongside weights. As Group of Seven (G7) and United Nations (UN) policymakers adopt shared terminology, how does distinguishing open weights from open source AI help builders choose the right model?&lt;/li&gt;
  &lt;li&gt;[Blog] &lt;a href="https://pytorch.org/blog/introducing-torchtpu/"&gt;Introducing TorchTPU: Run native PyTorch on TPUs&lt;/a&gt; - Co-developed by Google and Meta’s PyTorch team, &lt;a href="https://pytorch.org/blog/introducing-torchtpu/"&gt;TorchTPU&lt;/a&gt; replaces legacy &lt;code class="inline"&gt;PyTorch/XLA&lt;/code&gt; Lazy Tensor rewrites with a native C++ &lt;code class="inline"&gt;PrivateUse1&lt;/code&gt; backend, &lt;code class="inline"&gt;TorchDynamo&lt;/code&gt; compilation, and a hybrid &lt;code class="inline"&gt;DeferAndFuse&lt;/code&gt; eager mode validated across 5,000 Hugging Face models on Tensor Processing Units (TPUs). When switching accelerators is as simple as changing &lt;code class="inline"&gt;.to("cuda")&lt;/code&gt; to &lt;a href="https://cloud.google.com/blog/topics/ai-infrastructure/torchtpu-is-now-open-source-run-native-pytorch-on-tpus"&gt;&lt;code class="inline"&gt;.to("tpu")&lt;/code&gt;&lt;/a&gt;, what new hardware experiments open up for open source researchers?&lt;/li&gt;
  &lt;li&gt;[Blog] &lt;a href="https://llm-d.ai/blog/llm-d-v1.0-state-of-the-art-inference-ready-for-day-2"&gt;llm-d v1.0: State-of-the-art inference, ready for Day 2&lt;/a&gt; - Built by 500+ contributors across 25+ organizations in the CNCF Sandbox, &lt;a href="https://llm-d.ai/blog/llm-d-v1.0-state-of-the-art-inference-ready-for-day-2"&gt;llm-d 1.0&lt;/a&gt; brings multi-tenant flow control, zero-downtime &lt;code class="inline"&gt;DisaggregatedSet&lt;/code&gt; upgrades, and session-aware key-value (KV) cache routing to &lt;code class="inline"&gt;vLLM&lt;/code&gt; and &lt;code class="inline"&gt;SGLang&lt;/code&gt; across Graphics Processing Units (GPUs) and &lt;a href="https://cloud.google.com/blog/topics/ai-infrastructure/llm-d-1-0-an-open-source-stack-for-distributed-inference"&gt;Google TPUs&lt;/a&gt;. Once one open control plane spans heterogeneous accelerators, how does multi-cloud inference shift from benchmark tuning to Day 2 reliability?&lt;/li&gt;
  &lt;li&gt;[News] &lt;a href="https://fosdem.org/2027/news/accepted-developer-rooms/"&gt;FOSDEM 2027 Accepted Developer Rooms&lt;/a&gt; - FOSDEM 2027 has announced 77 accepted developer rooms for Brussels this January—including the first-ever dedicated &lt;a href="https://bsky.app/profile/viivi.rocks/post/3myeo36iccs2j"&gt;Authenticated Transfer Protocol (AT Protocol) devroom&lt;/a&gt; alongside a combined &lt;a href="https://fosdem.org/2027/news/accepted-developer-rooms/"&gt;AI Plumbers / Local-First AI&lt;/a&gt; track, with devroom calls for participation now open. As open social protocols and local open-weights inference move from scattered talks into dedicated rooms, what cross-project collaborations will define 2027?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Which of these stories will you be chatting about at your next meetup or conference? Let us know! Share with us on our &lt;a href="https://x.com/GoogleOSS"&gt;@GoogleOSS&lt;/a&gt; X account or our &lt;a href="https://bsky.app/profile/opensource.google"&gt;@opensource.google&lt;/a&gt; Bluesky account.&lt;/p&gt;
</content><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/6241770186580376719" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/6241770186580376719" rel="self" type="application/atom+xml"/><link href="http://opensource.googleblog.com/2026/10/this-week-in-open-source-for-october-29.html" rel="alternate" title="This Week in Open Source for October 30, 2026" type="text/html"/><link href="at://did:plc:x6bnzgic7duwjxogg7zb3qas/site.standard.document/7hbtsxcefyj6j" rel="site.standard.document"/><author><name>Google Open Source</name><uri>http://www.blogger.com/profile/03718388509216889937</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4Zr7d1h4eBcORClvDrChYYm8lvEHl9k_5Al6zmVf6j2NvjDfHay7827jgSzRQbVMNzBkGBzj-62f_KsoM4WhFEbbe7Qfj5bvQRTBnFh6pPX4S1QHkajbXAOhpL133CqLiqhs8z479k294nmccA-w_O1bF_1nkVGj08xjzzuiU-1Mx5RB9VARKLXb4EX8/s72-c/image.png" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-8698702854482141883.post-4298821336578294313</id><published>2026-10-23T11:30:00.000-07:00</published><updated>2026-10-26T11:55:24.807-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Agentic AI"/><category scheme="http://www.blogger.com/atom/ns#" term="AI"/><category scheme="http://www.blogger.com/atom/ns#" term="events"/><category scheme="http://www.blogger.com/atom/ns#" term="Gemma"/><category scheme="http://www.blogger.com/atom/ns#" term="news"/><category scheme="http://www.blogger.com/atom/ns#" term="Open Source"/><category scheme="http://www.blogger.com/atom/ns#" term="Security"/><category scheme="http://www.blogger.com/atom/ns#" term="This Week in Open Source"/><category scheme="http://www.blogger.com/atom/ns#" term="twios"/><title type="text">This Week in Open Source for October 23, 2026</title><content type="html">&lt;p class="byline"&gt;by &lt;author&gt;Daryl Ducharme&lt;/author&gt;, Open Source Programs Office&lt;/p&gt;

&lt;meta name="twitter:image" content="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4Zr7d1h4eBcORClvDrChYYm8lvEHl9k_5Al6zmVf6j2NvjDfHay7827jgSzRQbVMNzBkGBzj-62f_KsoM4WhFEbbe7Qfj5bvQRTBnFh6pPX4S1QHkajbXAOhpL133CqLiqhs8z479k294nmccA-w_O1bF_1nkVGj08xjzzuiU-1Mx5RB9VARKLXb4EX8/s1600/image.png"&gt;
&lt;img class="metadata" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4Zr7d1h4eBcORClvDrChYYm8lvEHl9k_5Al6zmVf6j2NvjDfHay7827jgSzRQbVMNzBkGBzj-62f_KsoM4WhFEbbe7Qfj5bvQRTBnFh6pPX4S1QHkajbXAOhpL133CqLiqhs8z479k294nmccA-w_O1bF_1nkVGj08xjzzuiU-1Mx5RB9VARKLXb4EX8/s1600/image.png" alt="Light-theme Google Open Source banner reading 'This Week in Open Source' above four connected circular icon medallions representing upcoming events (calendar), open source reads (globe), code and tutorials (laptop with code brackets), and community (people)."&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4Zr7d1h4eBcORClvDrChYYm8lvEHl9k_5Al6zmVf6j2NvjDfHay7827jgSzRQbVMNzBkGBzj-62f_KsoM4WhFEbbe7Qfj5bvQRTBnFh6pPX4S1QHkajbXAOhpL133CqLiqhs8z479k294nmccA-w_O1bF_1nkVGj08xjzzuiU-1Mx5RB9VARKLXb4EX8/s1600/image.png" class="header-image"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4Zr7d1h4eBcORClvDrChYYm8lvEHl9k_5Al6zmVf6j2NvjDfHay7827jgSzRQbVMNzBkGBzj-62f_KsoM4WhFEbbe7Qfj5bvQRTBnFh6pPX4S1QHkajbXAOhpL133CqLiqhs8z479k294nmccA-w_O1bF_1nkVGj08xjzzuiU-1Mx5RB9VARKLXb4EX8/s1600/image.png" alt="Light-theme Google Open Source banner reading 'This Week in Open Source' above four connected circular icon medallions representing upcoming events (calendar), open source reads (globe), code and tutorials (laptop with code brackets), and community (people)."/&gt;&lt;/a&gt;

&lt;h2&gt;A look around the world of open source&lt;/h2&gt;

&lt;p&gt;What actually sustains an open source community when the cost of generating code drops toward zero, while the human labor required to review, govern, and secure it stays just as demanding? Across this week's reads, researchers, legal scholars, and builders examine the tension between automated volume and human stewardship—from public-infrastructure policy and maintainer bandwidth to provenance transparency, copyright law, and compact models running entirely on local hardware. Because software only serves people when human judgment remains in the loop, protecting maintainer agency and keeping project doors open to real newcomers matter more than ever.&lt;/p&gt;

&lt;h2&gt;Upcoming Events&lt;/h2&gt;
&lt;h3&gt;&#128467;️ October 2026&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://opensourceaiweek.com/"&gt;Open Source AI Week 2026&lt;/a&gt;&lt;/strong&gt; (October 19–24, 2026) — San Francisco Bay Area, California, USA. Now in its final stretch across the Bay Area alongside PyTorch Conference, this decentralized week of community meetups, workshops, and hackathons—with Google DeepMind and Gemma as Platinum Sponsor—wraps up this weekend with tonight's &lt;strong&gt;&lt;a href="https://luma.com/7ebvz0oq"&gt;Open Source AI Awards Night&lt;/a&gt;&lt;/strong&gt; (Friday, October 23, 5:00–10:00 PM PT at Fort Mason, San Francisco) and tomorrow's &lt;strong&gt;&lt;a href="https://luma.com/6ccl0jw5"&gt;Google Gemma Hardware Hackathon at AGI House&lt;/a&gt;&lt;/strong&gt; (Saturday, October 24, 10:00 AM–5:00 PM PT in Hillsborough, CA).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/agntcon-mcpcon-north-america/"&gt;AGNTCon + MCPCon North America 2026&lt;/a&gt;&lt;/strong&gt; (October 22–23, 2026) — San Jose, California, USA. Happening this week, this Linux Foundation and Agentic AI Foundation (AAIF) conference focuses on building and scaling production agentic systems with open standards—featuring keynotes by Google's &lt;strong&gt;Rao Surapaneni&lt;/strong&gt;, &lt;strong&gt;Sarah Drasner&lt;/strong&gt;, and &lt;strong&gt;Chi Wang&lt;/strong&gt;, plus sessions from Googlers &lt;strong&gt;Vishal Motwani&lt;/strong&gt; &amp;amp; &lt;strong&gt;Alan Blount&lt;/strong&gt; (on Agent-to-User Interface [A2UI]), &lt;strong&gt;Junjie Bu&lt;/strong&gt; (on interoperable agent discovery), &lt;strong&gt;Amit Handa&lt;/strong&gt; (on agentic commerce), &lt;strong&gt;Dominic Farolino&lt;/strong&gt; (on Model Context Protocol [MCP] Apps + WebMCP), and &lt;strong&gt;Prerna Kakkar&lt;/strong&gt; &amp;amp; &lt;strong&gt;Kurtis Van Gent&lt;/strong&gt; (on EvalBench).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://githubuniverse.com/"&gt;GitHub Universe 2026&lt;/a&gt;&lt;/strong&gt; (October 28–29, 2026) — San Francisco, California, USA &amp;amp; Virtual. Annual global developer gathering highlighting open source workflows, collaborative security, and multi-model AI-assisted software engineering.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&#128467;️ November 2026&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/open-source-finance-forum-new-york/"&gt;Open Source in Finance Forum (OSFF) New York&lt;/a&gt;&lt;/strong&gt; (November 4–5, 2026) — New York, New York, USA. Dedicated industry conference examining open source compliance, supply-chain security, and collaborative innovation across regulated financial institutions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://seagl.org/"&gt;SeaGL (Seattle GNU/Linux Conference) 2026&lt;/a&gt;&lt;/strong&gt; (November 6–7, 2026) — Seattle, Washington, USA &amp;amp; Virtual. Free, grassroots technical summit dedicated to spreading awareness and knowledge of free and open source software, hardware, and culture.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/"&gt;KubeCon + CloudNativeCon North America 2026&lt;/a&gt;&lt;/strong&gt; (November 9–12, 2026) — Salt Lake City, Utah, USA. The Cloud Native Computing Foundation's (CNCF) flagship conference uniting adopters and maintainers around Kubernetes and cloud-native infrastructure—featuring over 35 sessions and keynotes from Googlers including &lt;strong&gt;Abdel Sghiouar&lt;/strong&gt;, &lt;strong&gt;Jago Macleod&lt;/strong&gt;, &lt;strong&gt;Tim Hockin&lt;/strong&gt;, &lt;strong&gt;Kaslin Fields&lt;/strong&gt;, &lt;strong&gt;John Belamaric&lt;/strong&gt;, &lt;strong&gt;Dawn Chen&lt;/strong&gt;, &lt;strong&gt;Janet Kuo&lt;/strong&gt;, &lt;strong&gt;Benjamin Elder&lt;/strong&gt;, &lt;strong&gt;Antonio Ojea&lt;/strong&gt;, &lt;strong&gt;Lior Lieberman&lt;/strong&gt;, &lt;strong&gt;Michelle Au&lt;/strong&gt;, and &lt;strong&gt;Braydon Kains&lt;/strong&gt; across Kubernetes Special Interest Groups (SIGs), etcd, containerd, Gateway API, Common Expression Language (CEL) admission policies, and agent sandboxes, plus the Google-sponsored Community Hub.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.sfscon.it/"&gt;SFSCON (South Tyrol Free Software Conference) 2026&lt;/a&gt;&lt;/strong&gt; (November 13–14, 2026) — Bolzano, Italy. One of Europe's longest-running Free Software conferences bringing together public-sector decision-makers and developers to advance digital sovereignty and open infrastructure.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&#128467;️ December 2026&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.yoctoproject.org/community/events/"&gt;Yocto Project Virtual Summit 2026.12&lt;/a&gt;&lt;/strong&gt; (December 1–3, 2026) — Virtual. Community summit for embedded Linux engineers and maintainers building custom, reproducible Linux distributions across edge and Internet of Things (IoT) hardware.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/open-source-summit-japan/"&gt;Open Source Summit Japan 2026&lt;/a&gt;&lt;/strong&gt; (December 7–9, 2026) — Tokyo, Japan. The Linux Foundation's premier Asia-Pacific conference connecting open source developers, kernel maintainers, and enterprise leaders across cloud, embedded Linux, and open AI, including sessions from Google engineers such as &lt;strong&gt;Anurag Sinha&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/open-compliance-summit/"&gt;Open Compliance Summit 2026&lt;/a&gt;&lt;/strong&gt; (December 10–11, 2026) — Tokyo, Japan. Specialized gathering uniting legal, security, and Open Source Programs Office (OSPO) practitioners around OpenChain, Software Package Data Exchange (SPDX), software bills of materials (SBOMs), and global open source supply-chain compliance.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Open Source Reads and Links&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;[Blog] &lt;a href="https://opensource.org/blog/open-enables-a-lot-the-osi-at-unga81"&gt;Open Enables a Lot: The OSI at UNGA81&lt;/a&gt; — At the 81st United Nations General Assembly (UNGA81), the Open Source Initiative (OSI) hosted a panel featuring Google OSPO’s Amanda Casari alongside policy and academic leaders to explore how open source reshapes public infrastructure. Framed by Duane O’Brien’s takeaway that “open by itself does very little, but enables a lot,” what shared scaffolding is needed to turn open licenses into real public value?&lt;/li&gt;
&lt;li&gt;[Paper] &lt;a href="https://arxiv.org/abs/2607.04003"&gt;“AI Slop is DDoSing Open Source”: Understanding the Impact of AI-Generated Contributions on Open Source Sustainability&lt;/a&gt; — After hearing questions about AI-generated pull requests online and at conferences for a while now, I came to Google and Oregon State University’s study of 294 repositories looking for what solutions are actually working. Surveying 11 remediation strategies as first-time contributor merge rates drop 18.18%, how can communities filter synthetic noise without closing the door on newcomers?&lt;/li&gt;
&lt;li&gt;[Article] &lt;a href="https://redmonk.com/sogrady/2026/07/30/writing-open-source/"&gt;Who’s Writing Open Source Code?&lt;/a&gt; — Have AI coding agents actually taken over open source repositories, or is human authorship still the norm? Auditing 24,000 commits across 15 critical C infrastructure projects from the first half of 2026, RedMonk’s Stephen O’Grady finds that fewer than 1% carry explicit machine co-author or agent markers—raising a pressing question: how should open source communities build cultural norms around provenance transparency?&lt;/li&gt;
&lt;li&gt;[Article] &lt;a href="https://allthingsopen.org/articles/copyright-problem-ai-generated-code-open-source-licenses"&gt;The copyright problem with AI-generated code&lt;/a&gt; — In creative circles online, people often argue that prompting AI makes you closer to an art patron or a music producer than the artist—but I had never thought about the copyright realities for software. Since open source licenses rely on human copyright, FreeDOS founder Jim Hall asks a foundational question: can you even license code you didn’t actually author?&lt;/li&gt;
&lt;li&gt;[Blog] &lt;a href="https://www.anthropic.com/research/launching-opt-in-vuln-finding-service-for-open-source"&gt;Launching an opt-in vulnerability-finding service for open-source software&lt;/a&gt; — Inspired by Google’s OSS-Fuzz, Anthropic’s new opt-in OSS Scanner offers open source maintainers free, periodic security audits complete with test reproducers and suggested patches running in isolated Docker environments. Giving resource-constrained projects direct access to frontier vulnerability detection is a welcome step forward—how can we keep expanding shared security tooling to help upstream maintainers catch complex bugs early?&lt;/li&gt;
&lt;li&gt;[Blog] &lt;a href="https://medium.com/google-cloud/do-agent-skills-help-i-ran-72-trials-to-find-out-b328ba4d66b2"&gt;Do Agent Skills Help? I Ran 72 Trials to Find Out&lt;/a&gt; — Evaluating whether AI agent skills beat prompt-and-guess baselines, Karl Weinmeister ran 72 sandboxed trials across 12 scenarios using Harbor and SkillEvaluator—complementing Google’s open source &lt;a href="https://github.com/google/skill-reach"&gt;&lt;code class="inline"&gt;skill-reach&lt;/code&gt;&lt;/a&gt; suite for catching description collisions across harnesses like AAIF’s Goose and Claude Code. Together, they raise a practical question for maintainers: how do we test both skill discovery and execution quality?&lt;/li&gt;
&lt;li&gt;[Blog] &lt;a href="https://atproto.com/blog/pds-customization-and-metrics"&gt;Make the PDS Your Own: Customization and Metrics&lt;/a&gt; — The Authenticated Transfer Protocol (AT Protocol) is one of my major interests right now, so seeing how people are making its foundations work in practice is fascinating. The latest Reference Personal Data Server (PDS) release adds custom OAuth login branding, 300MB video blobs, and direct-to-Prometheus OpenTelemetry metrics in under 1GB of RAM—what other operational building blocks will help small teams self-host federated infrastructure?&lt;/li&gt;
&lt;li&gt;[Article] &lt;a href="https://mixed-news.com/en/google-4b-gemma-diarizationlm-speaker-errors-four-benchmarks-two-barely/"&gt;Google’s new 4B Gemma model cuts speaker-labelling errors on all four benchmarks, two barely&lt;/a&gt; — Automated transcripts still struggle when speakers talk over one another in meetings and interviews. Built on Google’s Gemma 4 E4B and open source DiarizationLM framework, the community-trained Apache 2.0 &lt;a href="https://huggingface.co/diarizers-community/DiarizationLM-Gemma-4-E4B-v1"&gt;&lt;code class="inline"&gt;DiarizationLM-Gemma-4-E4B-v1&lt;/code&gt;&lt;/a&gt; approaches speaker diarization as a lightweight post-processing pass over existing transcripts—beating an 8B Llama 3 baseline at half the size. Where can compact local models clean up brittle pipeline handoffs in your own workflows?&lt;/li&gt;
&lt;li&gt;[Blog] &lt;a href="https://blog.adafruit.com/2026/10/12/open-source-voice-ai-runs-entirely-on-esp32-s3/"&gt;Open-Source Voice AI runs entirely on ESP32-S3&lt;/a&gt; — Some of the most inspiring moments in open source come from individual builders experimenting at the edges of hardware constraints. Anankush Pandit’s GNU General Public License (GPL) Ivy AI packs wake-word detection, speech recognition, a 4-bit language model, and speech synthesis onto an ESP32-S3 microcontroller with just 8MB of pseudo-static RAM (PSRAM)—making us wonder what other everyday devices could run entirely offline?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Which of these stories will you be chatting about at your next meetup or conference? Let us know! Share with us on our &lt;a href="https://x.com/GoogleOSS"&gt;@GoogleOSS&lt;/a&gt; X account or our &lt;a href="https://bsky.app/profile/opensource.google"&gt;@opensource.google&lt;/a&gt; Bluesky account.&lt;/p&gt;
</content><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/4298821336578294313" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/4298821336578294313" rel="self" type="application/atom+xml"/><link href="http://opensource.googleblog.com/2026/10/this-week-in-open-source-for-october-23.html" rel="alternate" title="This Week in Open Source for October 23, 2026" type="text/html"/><link href="at://did:plc:x6bnzgic7duwjxogg7zb3qas/site.standard.document/5re5vbeztx2ld" rel="site.standard.document"/><author><name>Google Open Source</name><uri>http://www.blogger.com/profile/03718388509216889937</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4Zr7d1h4eBcORClvDrChYYm8lvEHl9k_5Al6zmVf6j2NvjDfHay7827jgSzRQbVMNzBkGBzj-62f_KsoM4WhFEbbe7Qfj5bvQRTBnFh6pPX4S1QHkajbXAOhpL133CqLiqhs8z479k294nmccA-w_O1bF_1nkVGj08xjzzuiU-1Mx5RB9VARKLXb4EX8/s72-c/image.png" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-8698702854482141883.post-9004971531566295644</id><published>2026-10-22T11:30:00.000-07:00</published><updated>2026-10-23T08:22:29.053-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Artificial Intelligence"/><category scheme="http://www.blogger.com/atom/ns#" term="Developer Tools"/><category scheme="http://www.blogger.com/atom/ns#" term="Open Source"/><category scheme="http://www.blogger.com/atom/ns#" term="Software Engineering"/><title type="text">Introducing the Elephant-Goldfish Model plugin: scaling design-driven AI software development</title><content type="html">&lt;meta name="twitter:image" content="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5fPnFY8APqGn7lfOL9j_Ly0Z2bSI_XOnSagYahYRjfg7YG1pFbtZfRJDBv4t9m66nElyG96hyphenhyphenoAcOGcq2TdZGWytHpXNBW0cr1HZoqTcBibvL3jUBG9d7njzYpiIlE3KDtgpBZaQF722RC48bA2KX-rJUCBGo3RuGyrdja2P_3ARiaYluwBv01tm0JTw/s1600/og-egm.png" /&gt;
&lt;img class="metadata" alt="Official logo of the Elephant-Goldfish Model: a minimalist split mark featuring an elephant profile in blue and a goldfish profile in orange." src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5fPnFY8APqGn7lfOL9j_Ly0Z2bSI_XOnSagYahYRjfg7YG1pFbtZfRJDBv4t9m66nElyG96hyphenhyphenoAcOGcq2TdZGWytHpXNBW0cr1HZoqTcBibvL3jUBG9d7njzYpiIlE3KDtgpBZaQF722RC48bA2KX-rJUCBGo3RuGyrdja2P_3ARiaYluwBv01tm0JTw/s1600/og-egm.png" /&gt;
&lt;p class="byline"&gt;by &lt;author&gt;Brian Suchy&lt;/author&gt;, &lt;author&gt;Jim Quinn&lt;/author&gt;, &lt;author&gt;Elise Ewing&lt;/author&gt;, &lt;author&gt;Oliver Newth&lt;/author&gt; and &lt;author&gt;Dave Rensin&lt;/author&gt; on behalf of the Elephant-Goldfish Model team&lt;/p&gt;

&lt;figure class="borderless wide" style="text-align: center; margin: 24px auto;"&gt;
  &lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5fPnFY8APqGn7lfOL9j_Ly0Z2bSI_XOnSagYahYRjfg7YG1pFbtZfRJDBv4t9m66nElyG96hyphenhyphenoAcOGcq2TdZGWytHpXNBW0cr1HZoqTcBibvL3jUBG9d7njzYpiIlE3KDtgpBZaQF722RC48bA2KX-rJUCBGo3RuGyrdja2P_3ARiaYluwBv01tm0JTw/s1600/og-egm.png"&gt;&lt;img alt="Official logo of the Elephant-Goldfish Model: a minimalist split mark featuring an elephant profile in blue and a goldfish profile in orange." src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5fPnFY8APqGn7lfOL9j_Ly0Z2bSI_XOnSagYahYRjfg7YG1pFbtZfRJDBv4t9m66nElyG96hyphenhyphenoAcOGcq2TdZGWytHpXNBW0cr1HZoqTcBibvL3jUBG9d7njzYpiIlE3KDtgpBZaQF722RC48bA2KX-rJUCBGo3RuGyrdja2P_3ARiaYluwBv01tm0JTw/s1600/og-egm.png"/&gt;&lt;/a&gt;
&lt;/figure&gt;

&lt;h2&gt;Shifting left in the AI coding era&lt;/h2&gt;

&lt;p&gt;AI-powered velocity is transformative; however, it has silently introduced a potential reliability crisis by also increasing the velocity of “slop,” bugs, and session context collapse. Generative AI tools excel at increasing coding speed, but pure speed without structured guardrails means we are often auto-scaling our mistakes rather than simply writing code faster. We need a paradigm shift, aligning the human need for system comprehension with AI’s capacity for execution.&lt;/p&gt;

&lt;p&gt;As co-author Dave Rensin outlines in the article &lt;a href="https://drensin.medium.com/elephants-goldfish-and-the-new-golden-age-of-software-engineering-c33641a48874"&gt;Elephants, Goldfish, and the New Golden Age of Software Engineering&lt;/a&gt;, “Design is the new code.”&lt;/p&gt;

&lt;h2&gt;Understanding the Elephant-Goldfish Model (EGM)&lt;/h2&gt;

&lt;p&gt;The EGM framework is a metaphor for a powerful way to develop AI-assisted software quickly and safely with humans intentionally in the loop.&lt;/p&gt;

&lt;p&gt;The “Elephant” is a context-rich, long-horizon AI session that holds the end-to-end architectural vision and project memory. No code is written here; it is purely dedicated to design, intent, and capturing micro-decisions. The Elephant session is where the AI interviews you and you debate the merits of your choices.&lt;/p&gt;

&lt;p&gt;Conversely, “Goldfish” are stateless, zero-context sessions used strictly to validate specifications. Because they share no “blind spots” with the designer, they act as objective critics, probing for gaps and edge cases.&lt;/p&gt;

&lt;p&gt;The goal of this method is for the AI to correctly produce the code you wanted the first time after you press Enter.&lt;/p&gt;

&lt;h2&gt;Announcing the open source Elephant-Goldfish Model plugin&lt;/h2&gt;

&lt;p&gt;To put this methodology into practice at scale, we are thrilled to announce the &lt;a href="https://github.com/google/elephant-goldfish-model"&gt;Elephant-Goldfish Model plugin&lt;/a&gt;. Originally, this plugin was developed internally for Google software engineers, and is now open source. Thousands of Googlers use this plugin every day to ship production Google code. Released under the Apache 2.0 license, the repository provides everything you need to implement this framework. Developers will find customizable Markdown rules, defined subagent personas, and structured review workflows ready to integrate into your own environments.&lt;/p&gt;

&lt;p&gt;The plugin’s core goal is to bring the EGM framework directly into Antigravity, with other development environments upcoming. It automates the orchestration of the EGM lifecycle: managing context transfer between Elephants and Goldfish, facilitating validation loops, and rendering design documents, shifting the developer’s role from micromanager to executive reviewer.&lt;/p&gt;

&lt;h2&gt;The EGM plugin in a nutshell&lt;/h2&gt;

&lt;figure class="wide borderless"&gt;
  &lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg34Cs37Wi55XbkPIhTo8U1vxrZ1PIbL7SSmo6hWb2bFy8pWfGAAtT0cOQXMlahzVmOTaPrpNOxsYqkbO_WU2nV1NrV77malOkK5Xusa_PbJdjBL3lAAQXcf3uLbn1-wmgNmHjB5ctLV0XChC8zQJ4QC6zrz1b7QnYVRJMwqEXS_aOtzTV9D1jr1WrZ7rM/s1600/image.png"&gt;&lt;img alt="EGM lifecycle workflow diagram illustrating the three phases: Phase 1 Brainstorm (Growing the Elephant), Phase 2 Draft (Drafting with the Elephant), and Phase 3 Review (The Goldfish Protocol with Comprehension Check, Hostile Critic, and Implementation Readiness validators)." src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg34Cs37Wi55XbkPIhTo8U1vxrZ1PIbL7SSmo6hWb2bFy8pWfGAAtT0cOQXMlahzVmOTaPrpNOxsYqkbO_WU2nV1NrV77malOkK5Xusa_PbJdjBL3lAAQXcf3uLbn1-wmgNmHjB5ctLV0XChC8zQJ4QC6zrz1b7QnYVRJMwqEXS_aOtzTV9D1jr1WrZ7rM/s1600/image.png" /&gt;&lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;The EGM lifecycle, automated with the plugin, walks the user through three co-design phases:&lt;/p&gt;

&lt;h3&gt;Phase 1: Growing the Elephant (&lt;code class="inline"&gt;egm-brainstorm&lt;/code&gt;)&lt;/h3&gt;

&lt;p&gt;Developers load the system context and adhere to a “No Code” rule to co-design features, debate trade-offs, and challenge assumptions.&lt;/p&gt;

&lt;h3&gt;Phase 2: Drafting with the Elephant (&lt;code class="inline"&gt;egm-draft&lt;/code&gt;)&lt;/h3&gt;

&lt;p&gt;Developers iteratively draft a Markdown design document that covers the problem definition, technical plan, alternatives considered, and a detailed implementation plan that enumerates the specific files to change.&lt;/p&gt;

&lt;h3&gt;Phase 3: The Goldfish Protocol (&lt;code class="inline"&gt;egm-review&lt;/code&gt;)&lt;/h3&gt;

&lt;p&gt;The Goldfish Protocol shifts the model from co-design to adversarial validation, using stateless AI instances to probe the design for weaknesses. The plugin automates a three-step validation sequence:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Comprehension Check:&lt;/strong&gt; A stateless Goldfish reads the complete design document and must explain the architecture and intent back to the Elephant. If the Goldfish cannot accurately summarize the plan, it indicates the document is ambiguous and requires further drafting.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Antagonistic Review:&lt;/strong&gt; Multiple Goldfish instances assume the role of skeptical, antagonistic technical reviewers. They are tasked with identifying potential edge cases, hidden dependencies, and logical gaps. Their critique is funneled back to the Elephant session for resolution.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Implementation Readiness Check:&lt;/strong&gt; A final Goldfish performs a strict go/no-go check. It verifies that all necessary information—file paths, data structures, and function signatures—is present and unambiguous. This ensures the spec is ready for precise transcription into code.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Human judgment is the artifact&lt;/h2&gt;

&lt;p&gt;Ultimately, human judgment is the only artifact that truly matters in an AI-saturated world and we want to align the human need for system comprehension with AI’s capacity for execution. We hope this plugin will make it easier for developers of all skill levels to follow a process that more quickly and safely converts the idea they had in their head to a robust and well-built app on their screen.&lt;/p&gt;

&lt;p&gt;We invite developers, architects, and AI enthusiasts to contribute to the plugin, customize its validation rules, and help define the future of collaborative software engineering.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;To get started, check out the &lt;a href="https://github.com/google/elephant-goldfish-model"&gt;Elephant-Goldfish Model repository on GitHub&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</content><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/9004971531566295644" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/9004971531566295644" rel="self" type="application/atom+xml"/><link href="http://opensource.googleblog.com/2026/10/introducing-elephant-goldfish-model-plugin.html" rel="alternate" title="Introducing the Elephant-Goldfish Model plugin: scaling design-driven AI software development" type="text/html"/><link href="at://did:plc:x6bnzgic7duwjxogg7zb3qas/site.standard.document/bty2pwr5sbemw" rel="site.standard.document"/><author><name>Google Open Source</name><uri>http://www.blogger.com/profile/03718388509216889937</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5fPnFY8APqGn7lfOL9j_Ly0Z2bSI_XOnSagYahYRjfg7YG1pFbtZfRJDBv4t9m66nElyG96hyphenhyphenoAcOGcq2TdZGWytHpXNBW0cr1HZoqTcBibvL3jUBG9d7njzYpiIlE3KDtgpBZaQF722RC48bA2KX-rJUCBGo3RuGyrdja2P_3ARiaYluwBv01tm0JTw/s72-c/og-egm.png" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-8698702854482141883.post-7177722520369284543</id><published>2026-10-21T11:30:00.000-07:00</published><updated>2026-10-22T11:01:21.962-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Competition"/><category scheme="http://www.blogger.com/atom/ns#" term="Kaggle"/><category scheme="http://www.blogger.com/atom/ns#" term="Open Source"/><category scheme="http://www.blogger.com/atom/ns#" term="Qualtran"/><category scheme="http://www.blogger.com/atom/ns#" term="Quantum AI"/><title type="text">Announcing the verifiable quantum circuit compilation competition on Kaggle</title><content type="html">&lt;p class="byline"&gt;by &lt;author&gt;Tanuj Khattar&lt;/author&gt; and &lt;author&gt;Ryan Babbush&lt;/author&gt;, Google Quantum AI&lt;/p&gt;
&lt;meta name="twitter:image" content="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1ocjK9d8iHO2S2YiYDxni8s6Mu6O8f_uHYh4e0v6_7fDoY2M3Mq7L5zxLKrs7oa85OD13RO4iQzc_Oum-DPZBXId6E5lP7ubFz0qZkY-VIHgHrmzFW66-sPB-kIVYlAcAU4YHBAkfIZRvJqtZ6Zb8_mnZzzXmAFXyw-AcgpNoNUECBDCDbC7QMcd6y_c/s1600/image.png" /&gt;
&lt;img class="metadata" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1ocjK9d8iHO2S2YiYDxni8s6Mu6O8f_uHYh4e0v6_7fDoY2M3Mq7L5zxLKrs7oa85OD13RO4iQzc_Oum-DPZBXId6E5lP7ubFz0qZkY-VIHgHrmzFW66-sPB-kIVYlAcAU4YHBAkfIZRvJqtZ6Zb8_mnZzzXmAFXyw-AcgpNoNUECBDCDbC7QMcd6y_c/s1600/image.png" alt="Light-theme Google Open Source banner featuring the Google Open Source logo above four connected circular icon medallions representing code and product launches, contributors and programs, open source journeys, and ecosystem stewardship." /&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1ocjK9d8iHO2S2YiYDxni8s6Mu6O8f_uHYh4e0v6_7fDoY2M3Mq7L5zxLKrs7oa85OD13RO4iQzc_Oum-DPZBXId6E5lP7ubFz0qZkY-VIHgHrmzFW66-sPB-kIVYlAcAU4YHBAkfIZRvJqtZ6Zb8_mnZzzXmAFXyw-AcgpNoNUECBDCDbC7QMcd6y_c/s1600/image.png" class="header-image"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1ocjK9d8iHO2S2YiYDxni8s6Mu6O8f_uHYh4e0v6_7fDoY2M3Mq7L5zxLKrs7oa85OD13RO4iQzc_Oum-DPZBXId6E5lP7ubFz0qZkY-VIHgHrmzFW66-sPB-kIVYlAcAU4YHBAkfIZRvJqtZ6Zb8_mnZzzXmAFXyw-AcgpNoNUECBDCDbC7QMcd6y_c/s1600/image.png" alt="Light-theme Google Open Source banner featuring the Google Open Source logo above four connected circular icon medallions representing code and product launches, contributors and programs, open source journeys, and ecosystem stewardship." /&gt;&lt;/a&gt;

&lt;p&gt;While quantum computing holds the key to solving some of our most complex scientific challenges, current hardware is still limited by qubit counts and gate errors. Quantum error correction can overcome those errors, but it adds substantial overhead to every qubit and gate an algorithm uses. That makes circuit size one of the biggest factors in when a quantum algorithm becomes practical: every qubit and gate we remove lowers the bar that hardware must clear. To bring real-world quantum applications within reach sooner, it is critical to first compress the circuits that power them.&lt;/p&gt;

&lt;p&gt;To help bridge this gap, the Google Quantum AI team is launching a &lt;a href="https://www.kaggle.com/competitions/google-verifiable-quantum-circuit-compilation"&gt;competition on Kaggle&lt;/a&gt; challenging you to use AI to build smaller, more efficient quantum circuits. The competition is powered by &lt;a href="https://github.com/quantumlib/Qualtran/tree/main/kickmix"&gt;kickmix&lt;/a&gt;, our new open source C++20 and Python library in &lt;a href="https://github.com/quantumlib/Qualtran"&gt;Qualtran&lt;/a&gt; for efficiently building and testing large quantum circuits. Our companion paper, &lt;a href="https://arxiv.org/abs/2610.23832"&gt;Leveraging verifiable structure in quantum circuits to find more efficient compilations with agentic AI&lt;/a&gt;, describes the approach in detail.&lt;/p&gt;

&lt;h2&gt;Turning compilation into an AI agent loop&lt;/h2&gt;

&lt;p&gt;In the past, optimizing quantum algorithms meant domain experts meticulously tuning circuits by hand and publishing incremental wins one paper at a time. Today, agentic AI can search for more efficient circuits automatically, but such results can only be trusted when candidate circuits can be efficiently verified for correctness. For arbitrary quantum circuits, classical verification is intractable because quantum gates create superpositions over exponentially many classical bitstrings. Fortunately, many of the most expensive subroutines in fault-tolerant algorithms can be built within a structured subclass of circuits, called “kickmix” circuits, which we introduced in &lt;a href="https://doi.org/10.1103/j3xf-bw18"&gt;our earlier work&lt;/a&gt;. Built from reversible classical logic, diagonal phase gates, and measurement-based uncomputation, kickmix circuits map each input bitstring to a single output bitstring and phase without creating new superpositions. A classical computer can therefore run randomized fuzz testing on bitstring inputs in linear time to establish the circuit’s approximate correctness on full quantum states with high confidence.&lt;/p&gt;

&lt;p&gt;Randomized fuzz testing does not prove exact equivalence, but most quantum algorithms can tolerate a small, bounded error. In fact, using approximations can cut gate and qubit counts significantly. Finding such approximations by hand is tedious, making it a great task for AI agents. With kickmix in Qualtran, agents can build large circuits quickly and fuzz test them at 60 billion gates per second on a single CPU core.&lt;/p&gt;

&lt;h2&gt;How the competition works&lt;/h2&gt;

&lt;p&gt;The competition features three benchmarks, each targeting a major kickmix bottleneck in a useful quantum algorithm in order to call attention to the broad utility of this verification paradigm. For each benchmark, we provide a reference baseline circuit and a standalone verifier, both open source under the Apache 2.0 license. Your goal is to submit a circuit that passes the verifier while minimizing a cost score based on its qubit and gate counts:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Fusion energy:&lt;/strong&gt; Designing inertial confinement fusion targets requires simulating how quickly charged particles slow down in a hot, dense plasma fuel (&lt;a href="https://www.pnas.org/doi/10.1073/pnas.2317772121"&gt;Proceedings of the National Academy of Sciences (PNAS)&lt;/a&gt;). The main bottleneck is computing the electric potential energy between every pair of particles, which is inversely proportional to their distance. The task is a quantum take on the classic fast inverse square root: given the squared distance &lt;em&gt;x&lt;/em&gt;, apply a phase proportional to 1/&amp;radic;&lt;em&gt;x&lt;/em&gt;, accurate to a tiny fraction of its exact value.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Optimization:&lt;/strong&gt; Decoded Quantum Interferometry (&lt;a href="https://doi.org/10.1038/s41586-025-09527-5"&gt;Nature&lt;/a&gt;) is a quantum algorithm for solving hard combinatorial optimization problems. On one such problem, Optimal Polynomial Intersection (OPI), it finds better solutions than any known efficient classical algorithm. The main arithmetic bottleneck in solving OPI is decoding a Reed-Solomon code in superposition. The task is to build this decoder as a quantum circuit.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Chemistry:&lt;/strong&gt; Fertilizer production depends on nitrogen fixation, which converts nitrogen gas from the air into ammonia. Industry does this at high temperature and pressure, using about 1&amp;ndash;2% of the world’s energy supply, while bacteria do it at ambient conditions with the enzyme nitrogenase, whose active site is an iron-molybdenum cluster called FeMoCo. Understanding how FeMoCo works requires modeling its strongly correlated electrons, a long-standing target for quantum computers. Our recent algorithm (&lt;a href="https://link.aps.org/doi/10.1103/pb2g-j9cw"&gt;Physical Review X (PRX)&lt;/a&gt;) makes that quantum simulation cheaper by classically factorizing the molecule’s Hamiltonian into a compact sum of squares, so the quantum computer needs far fewer steps. At each step, the main bottleneck is a &lt;a href="https://doi.org/10.1103/PhysRevX.8.041015"&gt;quantum lookup table&lt;/a&gt; that loads the parameters of that factorized Hamiltonian in superposition. The task is to co-design both parts: find an accurate factorization that needs fewer steps, and build compact circuits to load its parameters so each step costs less.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Get involved&lt;/h2&gt;

&lt;p&gt;We have already seen the potential of AI-driven quantum research with &lt;a href="https://blog.google/innovation-and-ai/models-and-research/gemini-models/introducing-gemini-4-argon/"&gt;Gemini 4 Argon&lt;/a&gt;, which is helping researchers at Google accelerate progress across both quantum error correction and algorithm design. We’re excited that the broader research community is embracing this approach too, with &lt;a href="https://arxiv.org/abs/2610.22367"&gt;simultaneous independent work&lt;/a&gt; pairing the kickmix paradigm with AI agents to reduce costs on related subroutines. However, our own internal runs with Gemini models show that all three benchmarks can be further improved beyond the circuits reported to date (and we’ve published a hash of those circuits in our recent manuscript to reveal after the competition), so the competition remains open and interesting.&lt;/p&gt;

&lt;p&gt;Could we get more out of a quantum computer simply by asking it to do less? We invite you to help us answer that question.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.kaggle.com/competitions/google-verifiable-quantum-circuit-compilation"&gt;Visit the competition page on Kaggle&lt;/a&gt; to read the full details, explore the resources, and submit your work.&lt;/p&gt;
</content><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/7177722520369284543" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/7177722520369284543" rel="self" type="application/atom+xml"/><link href="http://opensource.googleblog.com/2026/10/announcing-verifiable-quantum-circuit-compilation-competition-on-kaggle.html" rel="alternate" title="Announcing the verifiable quantum circuit compilation competition on Kaggle" type="text/html"/><link href="at://did:plc:x6bnzgic7duwjxogg7zb3qas/site.standard.document/abb56ndlixlhz" rel="site.standard.document"/><author><name>Google Open Source</name><uri>http://www.blogger.com/profile/03718388509216889937</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1ocjK9d8iHO2S2YiYDxni8s6Mu6O8f_uHYh4e0v6_7fDoY2M3Mq7L5zxLKrs7oa85OD13RO4iQzc_Oum-DPZBXId6E5lP7ubFz0qZkY-VIHgHrmzFW66-sPB-kIVYlAcAU4YHBAkfIZRvJqtZ6Zb8_mnZzzXmAFXyw-AcgpNoNUECBDCDbC7QMcd6y_c/s72-c/image.png" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-8698702854482141883.post-1839495746272971943</id><published>2026-10-15T11:30:00.000-07:00</published><updated>2026-10-15T11:30:00.121-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Agentic AI"/><category scheme="http://www.blogger.com/atom/ns#" term="AI"/><category scheme="http://www.blogger.com/atom/ns#" term="events"/><category scheme="http://www.blogger.com/atom/ns#" term="Gemma"/><category scheme="http://www.blogger.com/atom/ns#" term="news"/><category scheme="http://www.blogger.com/atom/ns#" term="Open Source"/><category scheme="http://www.blogger.com/atom/ns#" term="This Week in Open Source"/><category scheme="http://www.blogger.com/atom/ns#" term="twios"/><title type="text">This Week in Open Source for October 15, 2026</title><content type="html">&lt;meta name="twitter:image" content="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizuKHbBriafpnCVl8A7gazsybuVNKqwyYE1n5-RfAYhu6i5bN55iTw0LE_S0KLGWBJU9ERHgsnd9lZ3J94PhlE5hpZ5YIeBHH8PjS2yuRciaN7VgqLUISB9Ofpqst0n6tawyH6etvfFro4lqZv2X8EomVGJUTL8CSaHp0XyK3LxbJIhwi6ENKX620R4ME/s1600/header1.png"&gt;
&lt;img class="metadata" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizuKHbBriafpnCVl8A7gazsybuVNKqwyYE1n5-RfAYhu6i5bN55iTw0LE_S0KLGWBJU9ERHgsnd9lZ3J94PhlE5hpZ5YIeBHH8PjS2yuRciaN7VgqLUISB9Ofpqst0n6tawyH6etvfFro4lqZv2X8EomVGJUTL8CSaHp0XyK3LxbJIhwi6ENKX620R4ME/s1600/header1.png" alt="This Week in Open Source banner graphic"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizuKHbBriafpnCVl8A7gazsybuVNKqwyYE1n5-RfAYhu6i5bN55iTw0LE_S0KLGWBJU9ERHgsnd9lZ3J94PhlE5hpZ5YIeBHH8PjS2yuRciaN7VgqLUISB9Ofpqst0n6tawyH6etvfFro4lqZv2X8EomVGJUTL8CSaHp0XyK3LxbJIhwi6ENKX620R4ME/s1600/header1.png" class="header-image"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizuKHbBriafpnCVl8A7gazsybuVNKqwyYE1n5-RfAYhu6i5bN55iTw0LE_S0KLGWBJU9ERHgsnd9lZ3J94PhlE5hpZ5YIeBHH8PjS2yuRciaN7VgqLUISB9Ofpqst0n6tawyH6etvfFro4lqZv2X8EomVGJUTL8CSaHp0XyK3LxbJIhwi6ENKX620R4ME/s1600/header1.png" alt="This Week in Open Source banner graphic"/&gt;&lt;/a&gt;

&lt;p class="byline"&gt;by &lt;author&gt;Daryl Ducharme&lt;/author&gt;, Open Source Programs Office&lt;/p&gt;

&lt;h2&gt;This Week in Open Source for October 15, 2026&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;A look around the world of open source&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;After speaking about the Agent2Agent (A2A) protocol and Model Context Protocol (MCP) in Toronto last week (&lt;a href="https://fabricatedtechnobabble.com/a/3mxc6rqulrz23-tag-team-transmission-what-happened-when-we-brought-a2a-and-mcp-to-toronto"&gt;which I recapped in Tag-Team Transmission&lt;/a&gt;), open agent boundaries were clearly still on my mind while collecting this week's reads. As AI agents, terminal tools, and embedded micro-apps move deeper into everyday software workflows, a central tension keeps surfacing across the open source community: where do human judgment, interface trust, and maintainer sustainability fit in? Whether teams are wiring up open protocols in the Unix shell, running multimodal retrieval locally on a laptop, or stewarding decades-old kernel infrastructure, the healthiest open source architectures don't replace human agency—they give workers clearer boundaries, inspectable tools, and a genuine seat at the controls.&lt;/p&gt;

&lt;h2&gt;Upcoming Events&lt;/h2&gt;
&lt;h3&gt;&#128467;️ October 2026&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://allthingsopen.org/"&gt;All Things Open 2026&lt;/a&gt;&lt;/strong&gt; (October 19–20, 2026) — Raleigh, North Carolina, USA. One of the largest community-focused open source conferences on the U.S. East Coast exploring open source software, AI engineering, and maintainer sustainability—featuring Googlers &lt;strong&gt;Andrew Brogdon&lt;/strong&gt;, &lt;strong&gt;Mark Techson&lt;/strong&gt;, and &lt;strong&gt;Marc Dougherty&lt;/strong&gt; speaking on &lt;em&gt;"Where Is My Futuristic App? Generative UI and the Open Future"&lt;/em&gt; and &lt;strong&gt;Abdel Sghiouar&lt;/strong&gt; on &lt;em&gt;"Taming Agentic AI: How to Run Agents-Generated Code Safely on Kubernetes"&lt;/em&gt;, alongside the Google Community Lounge with the Flutter team.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/pytorch-conference/"&gt;PyTorch Conference North America 2026&lt;/a&gt;&lt;/strong&gt; (October 20–21, 2026) — San Jose, California, USA. Two days of open source machine learning innovation across the PyTorch ecosystem—featuring a keynote by Google's &lt;strong&gt;Bill Jia&lt;/strong&gt; (&lt;em&gt;"Workload Fungibility in the Age of Agents"&lt;/em&gt;) and technical sessions from Googlers &lt;strong&gt;Chris Jones&lt;/strong&gt;, &lt;strong&gt;Sandeep Pokkunuri&lt;/strong&gt;, &lt;strong&gt;Rob Mulla&lt;/strong&gt;, &lt;strong&gt;Ankita Luthra&lt;/strong&gt;, &lt;strong&gt;Trinadh Kotturu&lt;/strong&gt;, &lt;strong&gt;Claudio Basile&lt;/strong&gt;, &lt;strong&gt;Qi Zhou&lt;/strong&gt;, &lt;strong&gt;Jago Macleod&lt;/strong&gt;, and &lt;strong&gt;Aleksey Vlasenko&lt;/strong&gt; on TorchTPU, vLLM, SGLang, Ray, and Kubernetes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/agntcon-mcpcon-north-america/"&gt;AGNTCon + MCPCon North America 2026&lt;/a&gt;&lt;/strong&gt; (October 22–23, 2026) — San Jose, California, USA. Linux Foundation and Agentic AI Foundation conference focused on building and scaling production agentic systems with open standards—featuring keynotes by Google's &lt;strong&gt;Sarah Drasner&lt;/strong&gt; and &lt;strong&gt;Chi Wang&lt;/strong&gt;, plus sessions from Googlers &lt;strong&gt;Alan Blount&lt;/strong&gt; (on A2UI), &lt;strong&gt;Junjie Bu&lt;/strong&gt; (on interoperable agent discovery), &lt;strong&gt;Amit Handa&lt;/strong&gt; (on agentic commerce), &lt;strong&gt;Dominic Farolino&lt;/strong&gt; (on MCP Apps + WebMCP), and &lt;strong&gt;Prerna Kakkar&lt;/strong&gt; &amp;amp; &lt;strong&gt;Kurtis Van Gent&lt;/strong&gt; (on EvalBench).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://githubuniverse.com/"&gt;GitHub Universe 2026&lt;/a&gt;&lt;/strong&gt; (October 28–29, 2026) — San Francisco, California, USA &amp;amp; Virtual. Annual global developer gathering highlighting open source workflows, collaborative security, and multi-model AI-assisted software engineering.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&#128467;️ November 2026&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/open-source-finance-forum-new-york/"&gt;Open Source in Finance Forum (OSFF) New York&lt;/a&gt;&lt;/strong&gt; (November 4–5, 2026) — New York, New York, USA. Dedicated industry conference examining open source compliance, supply-chain security, and collaborative innovation across regulated financial institutions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://seagl.org/"&gt;SeaGL (Seattle GNU/Linux Conference) 2026&lt;/a&gt;&lt;/strong&gt; (November 6–7, 2026) — Seattle, Washington, USA &amp;amp; Virtual. Free, grassroots technical summit dedicated to spreading awareness and knowledge of free and open source software, hardware, and culture.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/"&gt;KubeCon + CloudNativeCon North America 2026&lt;/a&gt;&lt;/strong&gt; (November 9–12, 2026) — Salt Lake City, Utah, USA. The Cloud Native Computing Foundation's flagship conference uniting adopters and maintainers around Kubernetes and cloud-native infrastructure—featuring over 35 sessions and keynotes from Googlers including &lt;strong&gt;Abdel Sghiouar&lt;/strong&gt;, &lt;strong&gt;Jago Macleod&lt;/strong&gt;, &lt;strong&gt;Tim Hockin&lt;/strong&gt;, &lt;strong&gt;Kaslin Fields&lt;/strong&gt;, &lt;strong&gt;John Belamaric&lt;/strong&gt;, &lt;strong&gt;Dawn Chen&lt;/strong&gt;, &lt;strong&gt;Janet Kuo&lt;/strong&gt;, &lt;strong&gt;Benjamin Elder&lt;/strong&gt;, &lt;strong&gt;Antonio Ojea&lt;/strong&gt;, &lt;strong&gt;Lior Lieberman&lt;/strong&gt;, &lt;strong&gt;Michelle Au&lt;/strong&gt;, and &lt;strong&gt;Braydon Kains&lt;/strong&gt; across Kubernetes SIGs, etcd, containerd, Gateway API, CEL admission policies, and agent sandboxes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.sfscon.it/"&gt;SFSCON (South Tyrol Free Software Conference) 2026&lt;/a&gt;&lt;/strong&gt; (November 13–14, 2026) — Bolzano, Italy. One of Europe's longest-running Free Software conferences bringing together public-sector decision-makers and developers to advance digital sovereignty and open infrastructure.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&#128467;️ December 2026&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.yoctoproject.org/community/events/"&gt;Yocto Project Virtual Summit 2026.12&lt;/a&gt;&lt;/strong&gt; (December 1–3, 2026) — Virtual. Community summit for embedded Linux engineers and maintainers building custom, reproducible Linux distributions across edge and IoT hardware.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/open-source-summit-japan/"&gt;Open Source Summit Japan 2026&lt;/a&gt;&lt;/strong&gt; (December 7–9, 2026) — Tokyo, Japan. The Linux Foundation's premier Asia-Pacific conference connecting open source developers, kernel maintainers, and enterprise leaders across cloud, embedded Linux, and open AI, including sessions from Google engineers such as &lt;strong&gt;Anurag Sinha&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/opencompliance-summit/"&gt;OpenCompliance Summit 2026&lt;/a&gt;&lt;/strong&gt; (December 10–11, 2026) — Tokyo, Japan. Specialized gathering uniting legal, security, and OSPO practitioners around OpenChain, SPDX, software bills of materials (SBOMs), and global open source supply-chain compliance.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Open Source Reads and Links&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;[Blog] &lt;a href="https://a2a-protocol.org/latest/blog/2026/10/01/introducing-a2a-cli/"&gt;Meet the A2A CLI: discover, message, and manage agents from your terminal&lt;/a&gt; — In Developer Relations, few things beat showing a protocol live in a terminal during a conference talk without a complex web stack in the way. The new Apache 2.0 A2A CLI lets you discover, message, and wrap any &lt;code class="inline"&gt;stdin&lt;/code&gt;/&lt;code class="inline"&gt;stdout&lt;/code&gt; script into a streaming Agent2Agent server with &lt;code class="inline"&gt;--exec&lt;/code&gt;—raising an interesting question: does meeting developers in the Unix shell matter more for open protocol adoption than heavy SDKs?&lt;/li&gt;
&lt;li&gt;[Blog] &lt;a href="https://www.marcdougherty.com/2026/talking-to-agents-with-a2a-as-a-human/"&gt;Talking to Agents with a2a (as a human!)&lt;/a&gt; — Right after the MCP Dev Summit in Toronto, Marc Dougherty shared a post that uncovered even more about the Agent2Agent (A2A) protocol by flipping the lens from autonomous systems to human-to-agent interfaces with A2UI. Building &lt;code class="inline"&gt;a2term&lt;/code&gt; so agents render interactive terminal confirmation forms before acting raises a compelling question: could open agent protocols also save humans from enterprise UI bloat?&lt;/li&gt;
&lt;li&gt;[Article] &lt;a href="https://redmonk.com/rstephens/2026/10/05/dreamforce-2026/"&gt;Dreamforce 2026&lt;/a&gt; — When major enterprise platforms start telling customers they may never need to log into a web UI again because every workflow is now an API, MCP tool, or CLI command, where does the user interface go? RedMonk's Rachel Stephens examines this shift toward headless software and asks a question every open source protocol builder should ponder: when third-party agents mediate our data and workflows, how well does trust actually travel?&lt;/li&gt;
&lt;li&gt;[Blog] &lt;a href="https://blog.google/innovation-and-ai/technology/developers-tools/embeddinggemma-2/"&gt;EmbeddingGemma 2: an open, lightweight multimodal embedding model&lt;/a&gt; — Moving RAG setups fully on-device opens up real-world possibilities—from kiosks in low-connectivity areas and offline backup systems to hardware that ships with all of its own help and support docs onboard. With Google DeepMind's Apache 2.0 release of EmbeddingGemma 2 fitting multimodal search into 567MB of RAM, what new resilient tools become possible when devices don't need an internet connection to know how they work?&lt;/li&gt;
&lt;li&gt;[Blog] &lt;a href="https://thunderbird.cafe/blog/embedding-a-web-tile/"&gt;Atproto Web Tile Embeds&lt;/a&gt; — Seeing AT Protocol Web Tiles in the wild sparks curiosity about what new publishing patterns become possible when open protocols move beyond text and static images. Nathan Cassell walks through embedding a live, sandboxed 3D Web Tile straight from a personal data server into a blog post—making us wonder what developers might build when interactive micro-apps can travel anywhere without phoning home.&lt;/li&gt;
&lt;li&gt;[Report] &lt;a href="https://www.linuxfoundation.org/blog/navigating-open-source-governance-in-the-age-of-artificial-intelligence-the-2026-state-of-ospos-and-open-source-management"&gt;Navigating Open Source Governance in the Age of Artificial Intelligence: The 2026 State of OSPOs and Open Source Management&lt;/a&gt; — Working in an OSPO myself, seeing how other teams operate is essential for improving how we serve as liaisons between our organizations and the broader open source ecosystem. With the Linux Foundation and TODO Group's 2026 survey finding 79% of AI-involved OSPOs shaping model policy and 69% piloting agentic workflows, how can we ensure enterprise AI governance also supports upstream maintainers?&lt;/li&gt;
&lt;li&gt;[Report] &lt;a href="https://www.linuxfoundation.org/blog/celebrating-35-years-of-linux-the-open-source-engine-powering-three-decades-of-global-innovation-and-infrastructure"&gt;Celebrating 35 Years of Linux: The Open Source Engine Powering Three Decades of Global Innovation and Infrastructure&lt;/a&gt; — It is incredible to see the success of the Linux kernel and distributions across enterprise software development—and to ponder how a project from the early 1990s has kept up with so many technological shifts. As Linux Foundation Research celebrates 35 years of Linux across billions of devices and every top-500 supercomputer, how can the community's model of continuous adaptation guide the next generation of maintainers?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Which of these stories will you be chatting about at your next meetup or conference? Let us know! Share with us on our &lt;a href="https://x.com/GoogleOSS"&gt;@GoogleOSS&lt;/a&gt; X account or our &lt;a href="https://bsky.app/profile/opensource.google"&gt;@opensource.google&lt;/a&gt; Bluesky account.&lt;/p&gt;</content><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/1839495746272971943" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/1839495746272971943" rel="self" type="application/atom+xml"/><link href="http://opensource.googleblog.com/2026/10/this-week-in-open-source-for-october-15.html" rel="alternate" title="This Week in Open Source for October 15, 2026" type="text/html"/><link href="at://did:plc:x6bnzgic7duwjxogg7zb3qas/site.standard.document/3n3tnoehb4n7b" rel="site.standard.document"/><author><name>Google Open Source</name><uri>http://www.blogger.com/profile/03718388509216889937</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizuKHbBriafpnCVl8A7gazsybuVNKqwyYE1n5-RfAYhu6i5bN55iTw0LE_S0KLGWBJU9ERHgsnd9lZ3J94PhlE5hpZ5YIeBHH8PjS2yuRciaN7VgqLUISB9Ofpqst0n6tawyH6etvfFro4lqZv2X8EomVGJUTL8CSaHp0XyK3LxbJIhwi6ENKX620R4ME/s72-c/header1.png" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-8698702854482141883.post-2924062830804388153</id><published>2026-10-08T11:30:00.000-07:00</published><updated>2026-10-08T11:30:00.426-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Developer Tools"/><category scheme="http://www.blogger.com/atom/ns#" term="Open Source"/><category scheme="http://www.blogger.com/atom/ns#" term="Productivity"/><category scheme="http://www.blogger.com/atom/ns#" term="Research"/><category scheme="http://www.blogger.com/atom/ns#" term="Software Engineering"/><title type="text">How much does it cost to use open source software?</title><content type="html">&lt;p class="byline"&gt;by &lt;author&gt;Sophia Vargas&lt;/author&gt;, Google Open Source&lt;/p&gt;
&lt;meta name="twitter:image" content="https://blogger.googleusercontent.com/img/a/AVvXsEjdBeauvYHQXBlmpymBISAGj51mvcdD8Muk9EsWLcDUlriFH2lUauPnQ3miXoIxCi3AFsnHGKKUevtn8Ni2Zcs3SgIc4alPkDw8ZrO8tKhTh_YS58YV71LkQEWNvfXlrP-5iJdy-xf5xk8MrMAd3cwDpQ-DK7-bbm_05znYOEE-yNO3eUtZXGxji0Ze89c"&gt;
&lt;img class="metadata" src="https://blogger.googleusercontent.com/img/a/AVvXsEjdBeauvYHQXBlmpymBISAGj51mvcdD8Muk9EsWLcDUlriFH2lUauPnQ3miXoIxCi3AFsnHGKKUevtn8Ni2Zcs3SgIc4alPkDw8ZrO8tKhTh_YS58YV71LkQEWNvfXlrP-5iJdy-xf5xk8MrMAd3cwDpQ-DK7-bbm_05znYOEE-yNO3eUtZXGxji0Ze89c"&gt;

&lt;p&gt;Open source software is used pervasively, with some &lt;a href="https://static.carahsoft.com/concrete/files/1617/1597/8665/2024_Open_Source_Security_and_Risk_Analysis_Report_WRAPPED.pdf"&gt;estimating&lt;/a&gt; that over 90% of codebases contain open source software. Many adopt open source software because it’s free and thus cheaper than writing a proprietary alternative. But as the community saying goes: “open source is free as in puppies, not free as in beer.” Once you or your organization has adopted an open source project, there is still effort (such as engineering time, costs, etc.) associated with ensuring that your version of an open source project is healthy and up to date.&lt;/p&gt;

&lt;p&gt;While efforts by the research community have investigated the ongoing costs required to &lt;a href="https://ieeexplore.ieee.org/abstract/document/7816452"&gt;&lt;em&gt;maintain&lt;/em&gt;&lt;/a&gt; open source software, at Google we needed to better understand the resources required to &lt;em&gt;use&lt;/em&gt; &lt;a href="https://opensource.googleblog.com/2024/08/2023-open-source-contribution-report.html"&gt;thousands&lt;/a&gt; of open source software packages.&lt;/p&gt;

&lt;p&gt;To better understand this cost, we designed a study to evaluate the effort (in software engineering hours) associated with maintaining open source software packages within Google. We focused on the following questions:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;RQ1: How long does it take for an engineer (not a maintainer of the upstream project) to update an open source software package at Google?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;RQ2: Can complexity metrics predict the relative effort/amount of time to update a package at Google?&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;Customization incurs additional cost&lt;/h2&gt;

&lt;p&gt;The majority of open source package updates (at Google) take four hours or less. However, the long tail could be days to months to fully land a package update. We needed to understand what makes the difference between hours, days, and months.&lt;/p&gt;

&lt;p&gt;Our results suggested metrics that could be better predictors of update complexity than others. For example, local patches and customization, the number of package dependencies, and the number of upstream contributors, were better indicators of update complexity than the age of the package, or how many teams were using that package internally.&lt;/p&gt;

&lt;figure class="wide borderless"&gt;
  &lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEjdBeauvYHQXBlmpymBISAGj51mvcdD8Muk9EsWLcDUlriFH2lUauPnQ3miXoIxCi3AFsnHGKKUevtn8Ni2Zcs3SgIc4alPkDw8ZrO8tKhTh_YS58YV71LkQEWNvfXlrP-5iJdy-xf5xk8MrMAd3cwDpQ-DK7-bbm_05znYOEE-yNO3eUtZXGxji0Ze89c"&gt;&lt;img alt="Horizontal bar chart from a 2024 survey of 346 Google employees showing characteristics that make an open source software package update take longer than average: Google-specific patches or customization (49%), upstream breaking changes (37%), Google breaking changes (31%), complexity of package (29%), other (22%), number of teams required to review changes (20%), unresponsive Google reviewers (17%), upstream/project issues (12%), size of package (10%), and security issues (8%)." src="https://blogger.googleusercontent.com/img/a/AVvXsEjdBeauvYHQXBlmpymBISAGj51mvcdD8Muk9EsWLcDUlriFH2lUauPnQ3miXoIxCi3AFsnHGKKUevtn8Ni2Zcs3SgIc4alPkDw8ZrO8tKhTh_YS58YV71LkQEWNvfXlrP-5iJdy-xf5xk8MrMAd3cwDpQ-DK7-bbm_05znYOEE-yNO3eUtZXGxji0Ze89c"&gt;&lt;/a&gt;
&lt;/figure&gt;

&lt;h3&gt;Study limitations and future work&lt;/h3&gt;

&lt;p&gt;As this study was completed at Google, we acknowledge there are bias and limitations of our findings, including the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Business priority-based sampling:&lt;/strong&gt; While rigorous, generalizable research studies thoroughly interrogate samples to minimize bias and maximize analytic potential, we designed this study to focus on existing data and minimize new data collection which could impact engineering roadmaps.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;We did not dictate tooling:&lt;/strong&gt; We did not specify what tools (including genAI-enabled features) could or could not be used in the update process, and as such did not investigate the impact of any specific tool.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bias towards Go:&lt;/strong&gt; Our collected data had significant bias towards Go. Given the lack of variety in our sample, we could not investigate the effect of language ecosystems, but other internal efforts indicated that language may significantly impact maintenance efforts. We encourage this line of investigation for future studies.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Only active projects:&lt;/strong&gt; This effort did not include significant data collection on stale or archived packages.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Curious about our approach and findings? Read the full research report: &lt;a href="https://opensource.google/static/documentation/publications/Cost_of_OSS_Use_2026.pdf"&gt;“How much does it cost to maintain a copy of an open source software package (at Google)?”&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/2924062830804388153" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/2924062830804388153" rel="self" type="application/atom+xml"/><link href="http://opensource.googleblog.com/2026/10/how-much-does-it-cost-to-use-open-source-software.html" rel="alternate" title="How much does it cost to use open source software?" type="text/html"/><link href="at://did:plc:x6bnzgic7duwjxogg7zb3qas/site.standard.document/4l74vovxkdmdt" rel="site.standard.document"/><author><name>Google Open Source</name><uri>http://www.blogger.com/profile/03718388509216889937</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/a/AVvXsEjdBeauvYHQXBlmpymBISAGj51mvcdD8Muk9EsWLcDUlriFH2lUauPnQ3miXoIxCi3AFsnHGKKUevtn8Ni2Zcs3SgIc4alPkDw8ZrO8tKhTh_YS58YV71LkQEWNvfXlrP-5iJdy-xf5xk8MrMAd3cwDpQ-DK7-bbm_05znYOEE-yNO3eUtZXGxji0Ze89c=s72-c" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-8698702854482141883.post-7961911515976907976</id><published>2026-10-06T11:30:00.000-07:00</published><updated>2026-10-06T11:30:00.121-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Developer Tools"/><category scheme="http://www.blogger.com/atom/ns#" term="Meta"/><category scheme="http://www.blogger.com/atom/ns#" term="Open Source"/><category scheme="http://www.blogger.com/atom/ns#" term="Pyrefly"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><title type="text">Adopting Pyrefly as the Python type checker at Google</title><content type="html">&lt;p class="byline"&gt;by &lt;author&gt;Amer Elsheikh&lt;/author&gt;, Python Team&lt;/p&gt;

&lt;meta name="twitter:image" content="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRNZHxQAbx9PNilxTAW04T1lLNqzvgxvVVWnCZHb0apsvl2EfEQ2DWmOkC0KFhduxTRZ9JRA_6pOPqGoiOvjiN_mNJOKrTZQxlzStCSnlj9N8yblR776WDuhOEjMvCnsPgowXUj-OC8iSYabkBDdwqtNjjzAE72eIF8xBZ5VZXpbEZbWGTJuFbYQcfS7M/s1600/incremental_rebuild_by_size_v5.png"&gt;
&lt;img class="metadata" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRNZHxQAbx9PNilxTAW04T1lLNqzvgxvVVWnCZHb0apsvl2EfEQ2DWmOkC0KFhduxTRZ9JRA_6pOPqGoiOvjiN_mNJOKrTZQxlzStCSnlj9N8yblR776WDuhOEjMvCnsPgowXUj-OC8iSYabkBDdwqtNjjzAE72eIF8xBZ5VZXpbEZbWGTJuFbYQcfS7M/s1600/incremental_rebuild_by_size_v5.png"&gt;

&lt;p&gt;Python is one of the primary languages at Google, powering everything from machine learning research to developer infrastructure and data pipelines. Across hundreds of thousands of files in our monorepo, fast and reliable static type checking is essential for maintaining code safety and developer velocity.&lt;/p&gt;

&lt;p&gt;Today, &lt;a href="https://pyrefly.org/"&gt;&lt;strong&gt;Pyrefly&lt;/strong&gt;&lt;/a&gt;—an open source type checker developed by Meta—is the Python type checker at Google.&lt;/p&gt;

&lt;p&gt;Replacing our previous type-checking infrastructure with Pyrefly provided significant speedups for engineers and agents alike, while substantially reducing build-system compute resources.&lt;/p&gt;

&lt;h2&gt;Moving away from Pytype&lt;/h2&gt;

&lt;p&gt;For more than a decade, Google relied on &lt;a href="https://github.com/google/pytype"&gt;&lt;strong&gt;Pytype&lt;/strong&gt;&lt;/a&gt;, an internally developed type checker that pioneered Python type checking and collaborated with the open source community to create &lt;a href="https://github.com/python/typeshed"&gt;typeshed&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;However, as Python’s typing system evolved rapidly, Pytype faced fundamental challenges. Because it operated by analyzing compiled bytecode rather than source ASTs, keeping pace with modern typing PEPs became an increasing maintenance burden due to bytecode instability across Python releases. In addition, it struggled to deliver the fast turnaround times required for modern development loops.&lt;/p&gt;

&lt;p&gt;As detailed in the &lt;a href="https://github.com/google/pytype/blob/main/README.md"&gt;Pytype update&lt;/a&gt;, we decided that Python 3.12 would be the final supported version for Pytype, leading us to evaluate and adopt modern open source alternatives.&lt;/p&gt;

&lt;h2&gt;Why Pyrefly?&lt;/h2&gt;

&lt;p&gt;Pyrefly incorporates years of collective lessons from earlier tools across the Python typing ecosystem. When evaluating candidates to succeed Pytype, Pyrefly quickly stood out across three key areas:&lt;/p&gt;

&lt;h3&gt;Performance&lt;/h3&gt;

&lt;p&gt;Written in Rust, Pyrefly is designed for high throughput and lazy, parallel evaluation. In our internal benchmarks across various Google projects, it proved to be an order of magnitude faster than Pytype, while scaling smoothly across large dependency graphs.&lt;/p&gt;

&lt;h3&gt;Typing spec conformance&lt;/h3&gt;

&lt;p&gt;Pyrefly achieves strong conformance—scoring roughly 97% on the official &lt;a href="https://htmlpreview.github.io/?https://github.com/python/typing/blob/main/conformance/results/results.html"&gt;typing conformance test suite&lt;/a&gt;—and is actively maintained to track new Python versions and typing PEPs. This comprehensive language support makes Python version upgrades across our monorepo smoother.&lt;/p&gt;

&lt;p&gt;In addition to supporting new syntax, Pyrefly provides strict type safety in areas where Pytype was historically permissive. A notable example is &lt;strong&gt;unsound unions&lt;/strong&gt;: Pytype allowed passing a value of a union type (such as &lt;code class="inline"&gt;int | None&lt;/code&gt; or &lt;code class="inline"&gt;int | str&lt;/code&gt;) to a function expecting a specific type (such as &lt;code class="inline"&gt;int&lt;/code&gt;), as long as at least one type in the union was compatible. However, Pyrefly enforces sound union checking, catching these mismatches:&lt;/p&gt;

&lt;pre style="overflow-x: auto;"&gt;&lt;code class="codebox python" style="white-space: pre-wrap; overflow-wrap: break-word;"&gt;# foo.py
def process_id(x: int) -&amp;gt; None:
    ...
def get_id() -&amp;gt; int | None:
    ...
val = get_id()
# Accepted by Pytype, but rejected by Pyrefly:
process_id(val)&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;Actionable error diagnostics&lt;/h3&gt;

&lt;p&gt;Pyrefly provides Rust-style compiler diagnostics, displaying the offending code snippet with inline annotations that point directly to the root cause of type mismatches, sometimes with suggested fixes. E.g., for the &lt;code class="inline"&gt;foo.py&lt;/code&gt; example above, Pyrefly produces:&lt;/p&gt;

&lt;pre style="background: #f6f6f6; padding: 12px; font-size: 12px; line-height: 1.5; font-family: monospace; white-space: pre-wrap; overflow-wrap: break-word; word-break: break-word; overflow-x: auto; border-radius: 4px; box-sizing: border-box;"&gt;&lt;span style="color: #c92a2a; font-weight: bold;"&gt;ERROR&lt;/span&gt; Argument &lt;span style="color: #0b7285;"&gt;`int | None`&lt;/span&gt; is not assignable to parameter &lt;span style="color: #0b7285;"&gt;`x`&lt;/span&gt; with type &lt;span style="color: #0b7285;"&gt;`int`&lt;/span&gt; in function &lt;span style="color: #0b7285;"&gt;`process_id`&lt;/span&gt; &lt;span style="color: #862e9c; font-weight: bold;"&gt;[bad-argument-type]&lt;/span&gt;
 &lt;span style="color: #1864ab; font-weight: bold;"&gt;--&amp;gt;&lt;/span&gt; foo.py:8:12
  &lt;span style="color: #1864ab; font-weight: bold;"&gt;|&lt;/span&gt;
&lt;span style="color: #1864ab; font-weight: bold;"&gt;8 |&lt;/span&gt; process_id(val)
  &lt;span style="color: #1864ab; font-weight: bold;"&gt;|&lt;/span&gt;            &lt;span style="color: #c92a2a; font-weight: bold;"&gt;^^^&lt;/span&gt;
  &lt;span style="color: #1864ab; font-weight: bold;"&gt;|&lt;/span&gt;
  The declared type does not allow &lt;span style="color: #0b7285;"&gt;`None`&lt;/span&gt;. Consider narrowing the value with an &lt;span style="color: #0b7285;"&gt;`is not None`&lt;/span&gt; check.&lt;/pre&gt;

&lt;h2&gt;Performance and infrastructure impact&lt;/h2&gt;

&lt;p&gt;Switching to Pyrefly brought measurable improvements across Google's developer ecosystem and infrastructure:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Up to 98% faster incremental rebuilds:&lt;/strong&gt; In developer edit-and-rebuild workflows (with a warm daemon during active editing cycles), Pyrefly delivered up to a 98% latency reduction across various targets. On large machine learning targets, type-checking times dropped from minutes to seconds.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;gt;90% critical-path reduction in clean builds:&lt;/strong&gt; In cold-cache benchmark suites across major libraries and models, Pyrefly consistently reduced the type-checking share of the build critical path by 90% to 99%, eliminating a long-standing bottleneck in our build pipelines.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;gt;80% compute hardware savings:&lt;/strong&gt; Pyrefly reduced Google’s daily peak compute occupancy for Python type checking by more than 80%, saving thousands of machine cores every day.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To illustrate this impact on developer workflows, the chart below compares total edit-and-rebuild latency between Pytype and Pyrefly across targets of varying sizes.&lt;/p&gt;

&lt;figure class="wide borderless"&gt;
  &lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRNZHxQAbx9PNilxTAW04T1lLNqzvgxvVVWnCZHb0apsvl2EfEQ2DWmOkC0KFhduxTRZ9JRA_6pOPqGoiOvjiN_mNJOKrTZQxlzStCSnlj9N8yblR776WDuhOEjMvCnsPgowXUj-OC8iSYabkBDdwqtNjjzAE72eIF8xBZ5VZXpbEZbWGTJuFbYQcfS7M/s1600/incremental_rebuild_by_size_v5.png"&gt;&lt;img alt="Horizontal bar chart comparing total edit-and-rebuild latency between Pytype and Pyrefly across five target sizes with a warm Bazel cache. Pyrefly completes in 1.7 to 4.5 seconds across all targets, while Pytype takes 2.7 seconds on a small configuration library and up to 246.7 seconds (~4.1 minutes) on a large machine learning model." src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRNZHxQAbx9PNilxTAW04T1lLNqzvgxvVVWnCZHb0apsvl2EfEQ2DWmOkC0KFhduxTRZ9JRA_6pOPqGoiOvjiN_mNJOKrTZQxlzStCSnlj9N8yblR776WDuhOEjMvCnsPgowXUj-OC8iSYabkBDdwqtNjjzAE72eIF8xBZ5VZXpbEZbWGTJuFbYQcfS7M/s1600/incremental_rebuild_by_size_v5.png"&gt;&lt;/a&gt;
&lt;/figure&gt;

&lt;h2&gt;Developer feedback&lt;/h2&gt;

&lt;p&gt;Beyond aggregate metrics, Pyrefly improved the day-to-day development loop, allowing engineers and AI coding agents to catch bugs faster.&lt;/p&gt;

&lt;p&gt;Here is what engineers across Google have shared about their experience:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;"I haven't waited for a Pytype action to complete since our project switched [to Pyrefly]. It is doubly awesome for agentic coding. Type checking is faster than running the tests now."&lt;/em&gt; — &lt;strong&gt;Peter Hawkins&lt;/strong&gt;, JAX Tech Lead&lt;/p&gt;&lt;/blockquote&gt;

&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;"I really like that Pyrefly gives super clear errors that point out exactly what's wrong."&lt;/em&gt; — &lt;strong&gt;Yotam Doron&lt;/strong&gt;, Gemini Large Scale Pretraining&lt;/p&gt;&lt;/blockquote&gt;

&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;“Investing in Python tooling pays huge dividends for research velocity: Pyrefly keeps our experimental iterations fast and catches subtle bugs early with clear, actionable errors.”&lt;/em&gt; — &lt;strong&gt;Tom Ward&lt;/strong&gt;, GDM Science&lt;/p&gt;&lt;/blockquote&gt;

&lt;h2&gt;Looking forward&lt;/h2&gt;

&lt;p&gt;Adopting Pyrefly highlights the value of uniting behind shared open source developer tooling. We are deeply grateful to the Pyrefly team for their rapid turnaround and responsiveness on upstream issues throughout our rollout. We look forward to continuing our collaboration and contributing to the Python open source community.&lt;/p&gt;

&lt;p&gt;To learn more about Pyrefly or try it in your own projects, visit the &lt;a href="https://pyrefly.org/"&gt;Pyrefly website&lt;/a&gt; and the &lt;a href="https://github.com/facebook/pyrefly"&gt;Pyrefly GitHub repository&lt;/a&gt;.&lt;/p&gt;
</content><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/7961911515976907976" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/7961911515976907976" rel="self" type="application/atom+xml"/><link href="http://opensource.googleblog.com/2026/10/adopting-pyrefly-as-the-python-type-checker-at-google.html" rel="alternate" title="Adopting Pyrefly as the Python type checker at Google" type="text/html"/><link href="at://did:plc:x6bnzgic7duwjxogg7zb3qas/site.standard.document/awzn6evxiejac" rel="site.standard.document"/><author><name>Google Open Source</name><uri>http://www.blogger.com/profile/03718388509216889937</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRNZHxQAbx9PNilxTAW04T1lLNqzvgxvVVWnCZHb0apsvl2EfEQ2DWmOkC0KFhduxTRZ9JRA_6pOPqGoiOvjiN_mNJOKrTZQxlzStCSnlj9N8yblR776WDuhOEjMvCnsPgowXUj-OC8iSYabkBDdwqtNjjzAE72eIF8xBZ5VZXpbEZbWGTJuFbYQcfS7M/s72-c/incremental_rebuild_by_size_v5.png" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-8698702854482141883.post-4177487320819994825</id><published>2026-10-02T11:30:00.000-07:00</published><updated>2026-10-02T11:30:00.116-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Agentic AI"/><category scheme="http://www.blogger.com/atom/ns#" term="AI"/><category scheme="http://www.blogger.com/atom/ns#" term="events"/><category scheme="http://www.blogger.com/atom/ns#" term="Gemma"/><category scheme="http://www.blogger.com/atom/ns#" term="news"/><category scheme="http://www.blogger.com/atom/ns#" term="Open Source"/><category scheme="http://www.blogger.com/atom/ns#" term="This Week in Open Source"/><category scheme="http://www.blogger.com/atom/ns#" term="twios"/><title type="text">This Week in Open Source for October 2, 2026</title><content type="html">&lt;meta name="twitter:image" content="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizuKHbBriafpnCVl8A7gazsybuVNKqwyYE1n5-RfAYhu6i5bN55iTw0LE_S0KLGWBJU9ERHgsnd9lZ3J94PhlE5hpZ5YIeBHH8PjS2yuRciaN7VgqLUISB9Ofpqst0n6tawyH6etvfFro4lqZv2X8EomVGJUTL8CSaHp0XyK3LxbJIhwi6ENKX620R4ME/s1600/header1.png"&gt;
&lt;img class="metadata" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizuKHbBriafpnCVl8A7gazsybuVNKqwyYE1n5-RfAYhu6i5bN55iTw0LE_S0KLGWBJU9ERHgsnd9lZ3J94PhlE5hpZ5YIeBHH8PjS2yuRciaN7VgqLUISB9Ofpqst0n6tawyH6etvfFro4lqZv2X8EomVGJUTL8CSaHp0XyK3LxbJIhwi6ENKX620R4ME/s1600/header1.png" alt="This Week in Open Source banner graphic"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizuKHbBriafpnCVl8A7gazsybuVNKqwyYE1n5-RfAYhu6i5bN55iTw0LE_S0KLGWBJU9ERHgsnd9lZ3J94PhlE5hpZ5YIeBHH8PjS2yuRciaN7VgqLUISB9Ofpqst0n6tawyH6etvfFro4lqZv2X8EomVGJUTL8CSaHp0XyK3LxbJIhwi6ENKX620R4ME/s1600/header1.png" class="header-image"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizuKHbBriafpnCVl8A7gazsybuVNKqwyYE1n5-RfAYhu6i5bN55iTw0LE_S0KLGWBJU9ERHgsnd9lZ3J94PhlE5hpZ5YIeBHH8PjS2yuRciaN7VgqLUISB9Ofpqst0n6tawyH6etvfFro4lqZv2X8EomVGJUTL8CSaHp0XyK3LxbJIhwi6ENKX620R4ME/s1600/header1.png" alt="This Week in Open Source banner graphic"/&gt;&lt;/a&gt;

&lt;p class="byline"&gt;by &lt;author&gt;Daryl Ducharme&lt;/author&gt;, Open Source Programs Office&lt;/p&gt;

&lt;h2&gt;This Week in Open Source for October 2, 2026&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;A look around the world of open source&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;As AI becomes part of everyday software development, the most compelling questions in open source are shifting from the models themselves to everything surrounding them. I’m always drawn to how technology affects individuals, and especially the workers who use and maintain it, for better or for worse (I definitely prefer better). That’s why I’m convinced the next phase of open-source AI won’t be won by chasing bigger benchmarks, but by building the open infrastructure, transparent local tooling, and community norms that keep developers and maintainers in control. This week’s reads explore what that looks like in practice.&lt;/p&gt;

&lt;h2&gt;Upcoming Events&lt;/h2&gt;
&lt;h3&gt;&#128467;️ October 2026&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/valkeyconf/"&gt;ValkeyConf 2026&lt;/a&gt;&lt;/strong&gt; (October 5, 2026) — Prague, Czechia. Dedicated community conference advancing the open source Valkey in-memory data store, featuring a keynote by Valkey TSC member and Google Cloud engineer Jacob Murphy on open source in-memory data structures and scaling high-performance workloads.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/mcp-dev-summit-toronto/"&gt;MCP Dev Summit Toronto&lt;/a&gt;&lt;/strong&gt; (October 5–6, 2026) — Toronto, Ontario, Canada. Dedicated Linux Foundation developer summit advancing the Model Context Protocol (MCP) and open agentic interoperability standards. Join Google OSPO's Daryl Ducharme (that's me!) on Tuesday, October 6 (11:00 AM EDT) for &lt;em&gt;"Tag-Team Transmission: Navigating A2A and MCP for Optimum Orchestration,"&lt;/em&gt; examining how the Agent2Agent (A2A) protocol and MCP interoperate across multi-agent architectures.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/open-source-summit-europe/"&gt;Open Source Summit Europe&lt;/a&gt;&lt;/strong&gt; (October 7–9, 2026) — Prague, Czechia. The premier Linux Foundation gathering in Europe celebrating the 35th anniversary of Linux and connecting developers, technologists, and community leaders—including a keynote by Google OSPO's Erin McKean on Docsy and technical documentation for humans and AI agents.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://communityovercode.org/"&gt;Community Over Code&lt;/a&gt;&lt;/strong&gt; (October 11–14, 2026) — Glasgow, Scotland. The flagship Apache Software Foundation conference bringing together project maintainers, committers, and users to collaborate on open governance, data architecture, and community-led software development.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/bazelcon/"&gt;BazelCon 2026&lt;/a&gt;&lt;/strong&gt; (October 13–15, 2026) — Amsterdam, Netherlands. Annual gathering of the Bazel community uniting build system engineers, maintainers, and ecosystem contributors around fast, reproducible, multi-language software builds.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://allthingsopen.org/"&gt;All Things Open 2026&lt;/a&gt;&lt;/strong&gt; (October 19–20, 2026) — Raleigh, North Carolina, USA. One of the largest community-focused open source conferences on the U.S. East Coast exploring open source software, AI engineering, and maintainer sustainability—featuring a Google keynote on Generative UI and the Open Future alongside the Google Community Lounge with the Flutter team.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/pytorch-conference/"&gt;PyTorch Conference North America 2026&lt;/a&gt;&lt;/strong&gt; (October 20–21, 2026) — San Jose, California, USA. Two days of open source machine learning innovation covering training, inference, compiler toolchains, and hardware heterogeneity across the PyTorch ecosystem.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/agntcon-mcpcon-north-america/"&gt;AGNTCon + MCPCon North America 2026&lt;/a&gt;&lt;/strong&gt; (October 22–23, 2026) — San Jose, California, USA. Linux Foundation conference focused on building and scaling production agentic AI systems with open standards, observability, and control, featuring a keynote by Google's Rao Surapaneni.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://githubuniverse.com/"&gt;GitHub Universe 2026&lt;/a&gt;&lt;/strong&gt; (October 28–29, 2026) — San Francisco, California, USA &amp;amp; Virtual. Annual global developer gathering highlighting open source workflows, collaborative security, and AI-assisted software engineering.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&#128467;️ November 2026&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/open-source-finance-forum-new-york/"&gt;Open Source in Finance Forum (OSFF) New York&lt;/a&gt;&lt;/strong&gt; (November 4–5, 2026) — New York, New York, USA. Dedicated industry conference examining open source compliance, supply-chain security, and collaborative innovation across regulated financial institutions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/"&gt;KubeCon + CloudNativeCon North America 2026&lt;/a&gt;&lt;/strong&gt; (November 9–12, 2026) — Salt Lake City, Utah, USA. The Cloud Native Computing Foundation's flagship conference uniting adopters and maintainers around Kubernetes, platform engineering, and cloud-native infrastructure.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.sfscon.it/"&gt;SFSCON (South Tyrol Free Software Conference) 2026&lt;/a&gt;&lt;/strong&gt; (November 13–14, 2026) — Bolzano, Italy. One of Europe's longest-running Free Software conferences bringing together public-sector decision-makers and developers to advance digital sovereignty and open infrastructure.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Open Source Reads and Links&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;[Article] &lt;a href="https://blog.mozilla.org/en/mozilla/mila-canada-open-source-ai-initiative/"&gt;Mila and Mozilla announce new initiative to build trustworthy open source AI for everyone, with Canadian government support&lt;/a&gt; — As a Canadienthusiast, seeing Mozilla and Mila partner with the Canadian government on an open source AI foundation layer immediately grabbed my attention. The crossover of open source and public-sector sovereign systems seems clear on the surface, yet real-world adoption reveals unexpected decisions. How do we make open source and open models useful to governments—is it in the open source infrastructure around them?&lt;/li&gt;
&lt;li&gt;[Article] &lt;a href="https://venturebeat.com/orchestration/googles-open-source-envharness-lets-ai-agents-train-against-environments-that-evolve-with-them"&gt;Google’s open source EnvHarness lets AI agents train against environments that evolve with them&lt;/a&gt; — As AI adoption matures, the need for solid infrastructure around AI is becoming more evident. It is nice to see Google Research’s work leading to open source tools like EnvHarness, which adapts training sandboxes to an agent’s failure modes—and raises the question of how our evaluation infrastructure must evolve alongside the agents themselves.&lt;/li&gt;
&lt;li&gt;[Blog] &lt;a href="https://iamulya.one/posts/decoder-forward-pass-dimensions/"&gt;Inside LLM Inference: Every Calculation from Text to Token using Gemma 4 12B&lt;/a&gt; — LLM inference often feels like an opaque black box, making Amulya Bhatia’s calculation-by-calculation trace of a token moving through Google’s open source Gemma 4 12B fascinating to ponder. Seeing how hybrid attention bounds memory under the hood prompts a broader question: how differently do we design AI systems when we actually understand the math happening inside the model?&lt;/li&gt;
&lt;li&gt;[Video] &lt;a href="https://www.youtube.com/watch?v=EHEN6Ce-9Ps"&gt;100% Local RAG Without Internet: Qdrant Edge and Google LiteRT&lt;/a&gt; — GDE Tarun R Jain pairs Google LiteRT and Gemma 4 with Qdrant Edge to run retrieval-augmented generation 100% offline. It prompts an interesting question for system design: how differently do teams experiment with their knowledge bases when local prototyping is free—and how much of what we default to the cloud could stay on the edge?&lt;/li&gt;
&lt;li&gt;[Post] &lt;a href="https://www.linkedin.com/feed/update/urn:li:activity:7490844827085918209/"&gt;UISurf: An Operator-Centric Multi-Agent Platform for Observable and Cross-Environment UI Automation&lt;/a&gt; — UISurf explores orchestrating UI agents across Web, Desktop, and Mobile boundaries using the open Agent2Agent (A2A) protocol. Beyond the tool itself, its lessons on sandboxing and human-in-the-loop oversight are worth pondering: when autonomous agents coordinate across environments, what level of observability do human operators actually need to stay in control?&lt;/li&gt;
&lt;li&gt;[Article] &lt;a href="https://frvr.com/blog/news/ps5-linux-lead-quits-as-open-source-projects-have-become-a-bunch-of-noobs-using-llms-that-they-dont-even-understand/"&gt;PS5 Linux lead quits as open-source projects have become “a bunch of noobs using LLMs” that “they don’t even understand”&lt;/a&gt; — When maintainers leave high-profile projects like PS5 Linux, it is important to look at the reasons. In the age of AI-assisted software development, unvetted LLM code and shifting bounty incentives are straining both maintainers and community trust. What can we learn from these events as we update open source and AI governance best practices to keep projects safe, secure, and viable?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Which of these stories will you be chatting about at your next meetup or conference? Let us know! Share with us on our &lt;a href="https://x.com/GoogleOSS"&gt;@GoogleOSS&lt;/a&gt; X account or our &lt;a href="https://bsky.app/profile/opensource.google"&gt;@opensource.google&lt;/a&gt; Bluesky account.&lt;/p&gt;
</content><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/4177487320819994825" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/4177487320819994825" rel="self" type="application/atom+xml"/><link href="http://opensource.googleblog.com/2026/10/this-week-in-open-source-for-october-2-2026.html" rel="alternate" title="This Week in Open Source for October 2, 2026" type="text/html"/><link href="at://did:plc:x6bnzgic7duwjxogg7zb3qas/site.standard.document/5nyfemr3mt6ad" rel="site.standard.document"/><author><name>Google Open Source</name><uri>http://www.blogger.com/profile/03718388509216889937</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizuKHbBriafpnCVl8A7gazsybuVNKqwyYE1n5-RfAYhu6i5bN55iTw0LE_S0KLGWBJU9ERHgsnd9lZ3J94PhlE5hpZ5YIeBHH8PjS2yuRciaN7VgqLUISB9Ofpqst0n6tawyH6etvfFro4lqZv2X8EomVGJUTL8CSaHp0XyK3LxbJIhwi6ENKX620R4ME/s72-c/header1.png" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-8698702854482141883.post-6465713310998310931</id><published>2026-10-01T11:30:00.000-07:00</published><updated>2026-10-01T11:30:00.123-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Apache Iceberg"/><category scheme="http://www.blogger.com/atom/ns#" term="Data Governance"/><category scheme="http://www.blogger.com/atom/ns#" term="Lakehouse"/><category scheme="http://www.blogger.com/atom/ns#" term="Open Source"/><title type="text">Standardizing fine-grained access control in Apache Iceberg's REST catalog</title><content type="html">&lt;p class="byline"&gt;by &lt;author&gt;Talat Uyarer&lt;/author&gt; &amp;amp; &lt;author&gt;Sung Yun&lt;/author&gt;, Google Cloud&lt;/p&gt;

&lt;meta name="twitter:image" content="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEXQgyAEhULOnOFhWFIYXZW39BrvFMbqPdg3pFztuFLBgWZux_WlfcY1AlwLu1F9ZU2KwlxF0owAXEpL4rU3SK4oTMfzNguNn6KqhDAh0974imNQ4t1_6wPREMs-k1c3Xgjl9v6huAiNaDh9U_oZr9HZVOw3i35ADbf0tWGZsH-jlRw3wA3twdnGW4OxE/s1600/one-standard.png"&gt;
&lt;img class="metadata" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEXQgyAEhULOnOFhWFIYXZW39BrvFMbqPdg3pFztuFLBgWZux_WlfcY1AlwLu1F9ZU2KwlxF0owAXEpL4rU3SK4oTMfzNguNn6KqhDAh0974imNQ4t1_6wPREMs-k1c3Xgjl9v6huAiNaDh9U_oZr9HZVOw3i35ADbf0tWGZsH-jlRw3wA3twdnGW4OxE/s1600/one-standard.png"&gt;

&lt;p&gt;The Apache Iceberg community recently merged a &lt;a href="https://github.com/apache/iceberg/pull/13879"&gt;change&lt;/a&gt; to the REST Catalog specification that gives lakehouses something they have long been missing: a standard, engine-neutral way to express column masking and row filtering. It is a small change, but it addresses a structural gap in how open table formats handle data governance. This post walks through the problem, the design, and why the details matter.&lt;/p&gt;

&lt;figure class="wide borderless"&gt;
  &lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEXQgyAEhULOnOFhWFIYXZW39BrvFMbqPdg3pFztuFLBgWZux_WlfcY1AlwLu1F9ZU2KwlxF0owAXEpL4rU3SK4oTMfzNguNn6KqhDAh0974imNQ4t1_6wPREMs-k1c3Xgjl9v6huAiNaDh9U_oZr9HZVOw3i35ADbf0tWGZsH-jlRw3wA3twdnGW4OxE/s1600/one-standard.png"&gt;&lt;img alt="Finally a single fine-grained access control standard for any engine" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEXQgyAEhULOnOFhWFIYXZW39BrvFMbqPdg3pFztuFLBgWZux_WlfcY1AlwLu1F9ZU2KwlxF0owAXEpL4rU3SK4oTMfzNguNn6KqhDAh0974imNQ4t1_6wPREMs-k1c3Xgjl9v6huAiNaDh9U_oZr9HZVOw3i35ADbf0tWGZsH-jlRw3wA3twdnGW4OxE/s1600/one-standard.png" /&gt;&lt;/a&gt;
&lt;/figure&gt;

&lt;h2&gt;The problem: there is no server in the read path&lt;/h2&gt;

&lt;p&gt;In a traditional database, access control is straightforward because there is exactly one door. Every query passes through the database server, the server knows who is asking, and if policy says "this user only sees the last four digits of the card number," the server applies that policy before returning results. One process, one enforcement point.&lt;/p&gt;

&lt;p&gt;Apache Iceberg deliberately removed that door. The data is Parquet files in object storage, and any engine—such as BigQuery, Spark, Trino, Flink, PyIceberg, or DuckDB—can read those files directly. This design is what makes Iceberg fast and interoperable. But it also means that once an engine asks the catalog &lt;em&gt;"where is the &lt;code class="inline"&gt;payments&lt;/code&gt; table?"&lt;/em&gt; and receives the metadata pointer, it has full access to the files. The catalog can grant or deny access to the whole table, but it has had no vocabulary for &lt;em&gt;"access granted, but mask the email column"&lt;/em&gt; or &lt;em&gt;"access granted, but only on rows where &lt;code class="inline"&gt;region = 'US'&lt;/code&gt;."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Until now, Iceberg had no built-in answer to this. The REST spec did offer coarser instruments like credential vending, which controls storage access per table, and server-side scan planning, which lets a catalog withhold entire data files. But neither can express &lt;em&gt;"mask this column"&lt;/em&gt; or filter rows that are not already physically separated into their own files. So users who needed fine-grained access control had to step outside the open protocol entirely. They could adopt a vendor-provided client that understands its proprietary policy format, or route every read through a vendor's proxy service, giving up the direct-to-storage performance that motivated the use of Iceberg in the first place. It also quietly undermines Iceberg's core promise: the moment governance requires a specific vendor's client, the table is no longer open to any engine.&lt;/p&gt;

&lt;p&gt;The new &lt;code class="inline"&gt;read-restrictions&lt;/code&gt; field in the REST Catalog spec is the community standardizing that vocabulary.&lt;/p&gt;

&lt;h2&gt;The mechanism&lt;/h2&gt;

&lt;p&gt;When an engine calls &lt;code class="inline"&gt;loadTable&lt;/code&gt;, the response may now include an optional &lt;code class="inline"&gt;read-restrictions&lt;/code&gt; object:&lt;/p&gt;

&lt;figure class="wide borderless"&gt;
  &lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKdDrAf5R0h_5OPiUPLfcQICiwTrXGAqJ_wBSmkaUtEXpv1SlfXhtcf9rTNh1SMVIs7Ag9f9Jtdv7ocKI1AJOu7D7ap1niCZbytzdtcof7o3gyQOixu3Qxg3SnCuiBOt632_3cqkTvCpqd1jrYKDVbJpw3qZuwjtlvH7IUah7gLIsB3Fvii3NsNivEzUI/s1600/payload.png"&gt;&lt;img alt="Read restrictions payload showing required column projections and required row projections" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKdDrAf5R0h_5OPiUPLfcQICiwTrXGAqJ_wBSmkaUtEXpv1SlfXhtcf9rTNh1SMVIs7Ag9f9Jtdv7ocKI1AJOu7D7ap1niCZbytzdtcof7o3gyQOixu3Qxg3SnCuiBOt632_3cqkTvCpqd1jrYKDVbJpw3qZuwjtlvH7IUah7gLIsB3Fvii3NsNivEzUI/s1600/payload.png" /&gt;&lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;Read restrictions are expressed in two fields:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;&lt;code class="inline"&gt;required-row-filter&lt;/code&gt;&lt;/strong&gt;: a standard Iceberg predicate expression. Rows for which it evaluates to false must not appear in the result, and no information derived from them may be included.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;&lt;code class="inline"&gt;required-column-projections&lt;/code&gt;&lt;/strong&gt;: a list of columns, identified by field ID, each with a transformation the reader must apply before returning values.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One evaluation rule ties them together: &lt;strong&gt;the row filter is evaluated against the original, untransformed column values, and projections are applied to the rows that survive.&lt;/strong&gt; This ordering is what makes the two features composable. A policy can filter on &lt;code class="inline"&gt;region = 'US'&lt;/code&gt; and also mask &lt;code class="inline"&gt;region&lt;/code&gt; in the output, and the filter still works. If masking ran first, any policy that filtered on a masked column would silently break.&lt;/p&gt;

&lt;p&gt;Note what the catalog is doing here. It evaluates the access policy server-side—it knows the caller's identity from the authentication token—and returns only the &lt;em&gt;result&lt;/em&gt; of that evaluation. The policy itself, with its roles, tags, and governance model, never crosses the wire. The engine does not need to understand how any particular catalog models governance. It needs to understand nine actions and a predicate.&lt;/p&gt;

&lt;p&gt;The whole architecture fits in one sequence:&lt;/p&gt;

&lt;figure class="wide borderless"&gt;
  &lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0wMil9FpdXzE62JjByQlxedOTfGYhwv5KsZWdGGms_TQgTfQRH4Ex_RkW4OIl_f3CDTyv2o3m3QWH6izLHQo4JiTOu5KwX18WLChGPC8BotkicmU1XE759f_0YpJSaIzotsh67NavzTwIRzOojzq46bWRB2ZBoFrgleaMd6gJJ4yhdqaajd8Tla_bURc/s1600/read-restrictions.png"&gt;&lt;img alt="Sequence diagram illustrating the Lakehouse credential vending and reader-side fine-grained access control workflow between an End User, a Trusted Engine (BigQuery/Spark), the Lakehouse runtime catalog, and Google Cloud Storage (GCS)." src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0wMil9FpdXzE62JjByQlxedOTfGYhwv5KsZWdGGms_TQgTfQRH4Ex_RkW4OIl_f3CDTyv2o3m3QWH6izLHQo4JiTOu5KwX18WLChGPC8BotkicmU1XE759f_0YpJSaIzotsh67NavzTwIRzOojzq46bWRB2ZBoFrgleaMd6gJJ4yhdqaajd8Tla_bURc/s1600/read-restrictions.png" /&gt;&lt;/a&gt;
  &lt;figcaption&gt;&lt;em&gt;The catalog stays the policy decision point; the trusted engine becomes the policy enforcement point; the end user never holds storage credentials. Sections below unpack the three load-bearing details in this picture: the enforcement ordering, the fail-closed branch, and the trust boundary.&lt;/em&gt;&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;h2&gt;The nine masking actions&lt;/h2&gt;

&lt;p&gt;The specification defines a closed set of nine masking actions, each with an exact, per-type definition. The goal is cross-engine consistency: Spark, Trino, and PyIceberg must produce &lt;em&gt;identical&lt;/em&gt; output for any given masking action. These actions are being implemented in &lt;code class="inline"&gt;iceberg-core&lt;/code&gt;, providing engines with spec-compliant transformations out of the box rather than requiring them to reimplement byte-level logic independently.&lt;/p&gt;

&lt;p&gt;Below, the actions are grouped by the analytical utility of the resulting masked data:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Preserve the shape, hide the value&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class="inline"&gt;mask-alphanum&lt;/code&gt;—digits become &lt;code class="inline"&gt;n&lt;/code&gt;, other characters become &lt;code class="inline"&gt;x&lt;/code&gt;, with a small allowlist of punctuation (&lt;code class="inline"&gt;( ) , . - @&lt;/code&gt;) preserved. &lt;code class="inline"&gt;iceberg16112018@apache.org&lt;/code&gt; becomes &lt;code class="inline"&gt;xxxxxxxnnnnnnnn@xxxxxx.xxx&lt;/code&gt;—recognizably an email address, but not whose.&lt;/li&gt;
  &lt;li&gt;&lt;code class="inline"&gt;show-first-4&lt;/code&gt; / &lt;code class="inline"&gt;show-last-4&lt;/code&gt;—preserve four code points, and apply &lt;code class="inline"&gt;mask-alphanum&lt;/code&gt; to the rest. &lt;code class="inline"&gt;4111-1111-1111-4444&lt;/code&gt; becomes &lt;code class="inline"&gt;nnnn-nnnn-nnnn-4444&lt;/code&gt;, the familiar customer-support view of a card number.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Hide everything&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class="inline"&gt;replace-with-null&lt;/code&gt;—the value becomes NULL. Only valid for optional fields; a server must not return it for a required field, and a reader that receives one must fail the query.&lt;/li&gt;
  &lt;li&gt;&lt;code class="inline"&gt;mask-to-fixed-value&lt;/code&gt;—the value becomes a type-specific constant (&lt;code class="inline"&gt;0&lt;/code&gt;, &lt;code class="inline"&gt;"XXXXXXXX"&lt;/code&gt;, the epoch, an all-zero UUID, an empty list, and so on, each spelled out in the spec). Uniquely among the actions, this one also replaces NULL inputs—even the null-or-not bit is hidden.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Reduce precision&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class="inline"&gt;truncate-to-year&lt;/code&gt; / &lt;code class="inline"&gt;truncate-to-month&lt;/code&gt;—&lt;code class="inline"&gt;2024-07-15&lt;/code&gt; becomes &lt;code class="inline"&gt;2024-01-01&lt;/code&gt; or &lt;code class="inline"&gt;2024-07-01&lt;/code&gt;. Cohort analytics keeps working; identifying individuals gets harder.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Allow joins, hide values&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class="inline"&gt;sha-256-global&lt;/code&gt;—deterministic SHA-256, with exact byte-encoding rules per input type. The same input always produces the same output, everywhere, so &lt;code class="inline"&gt;GROUP BY user_id&lt;/code&gt; and joins across tables on a hashed key still work. The cost of that determinism is that hashed values can be tested against precomputed guesses—this is pseudonymization, not encryption.&lt;/li&gt;
  &lt;li&gt;&lt;code class="inline"&gt;sha-256-query-local&lt;/code&gt;—the same hash, salted with a fresh, cryptographically random salt (at least 16 bytes) per query. Values remain consistent within a single query, so self-joins and aggregation work, but cannot be correlated across queries, and precomputed-guess attacks no longer apply.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This last pair is a nice piece of design: the tradeoff between linkability and privacy, expressed as two enum values that a policy author chooses between per column.&lt;/p&gt;

&lt;p&gt;Every action produces a value of the same type as its input—masked strings are strings, truncated dates are dates—so restrictions never change the schema an engine plans against. Queries do not need rewriting; values simply arrive transformed.&lt;/p&gt;

&lt;h2&gt;Fail-closed by design&lt;/h2&gt;

&lt;p&gt;The most consequential sentence in the specification is this one:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;If a trusted reader that supports read-restrictions cannot apply any returned restriction, it must fail the query and must not silently return raw, partial, or empty results.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Consider the failure modes. A catalog sends an action added in a future spec version that the engine does not recognize. Or an expression type it cannot evaluate. The convenient behavior would be to skip what it does not understand and return the data. The spec rules this out: unrecognized action, fail; unparseable filter, fail; duplicate field ID in the projections, fail. Every ambiguity resolves to "no data" rather than "raw data." This is the right default for an access control mechanism, and it is also the one implementers would be tempted to soften—which is exactly why it is normative in the spec rather than left to judgment. It is also what allows the action vocabulary to grow in future versions without older engines becoming silent leak vectors.&lt;/p&gt;

&lt;p&gt;A few prohibitions in the spec reward a closer look, because each one closes a subtle correctness hole:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;No projections on map keys.&lt;/strong&gt; Masking a map's keys can collapse two keys into one, or produce null keys, which engines silently coalesce or reject—data corruption presented as privacy. The spec bans it outright.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;No projection on both a nested type and a field inside it.&lt;/strong&gt; Masking a struct and also a field within that struct has no well-defined order of operations, so the spec refuses to define one: servers must not send it, and readers must reject it.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Everything references field IDs, never column names.&lt;/strong&gt; This is standard Iceberg discipline: if &lt;code class="inline"&gt;ssn&lt;/code&gt; is renamed to &lt;code class="inline"&gt;national_id&lt;/code&gt;, the policy remains bound to the same physical column. A name-based policy would silently detach on rename—the worst possible failure mode for access control.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;The trust model, stated plainly&lt;/h2&gt;

&lt;p&gt;All of this is enforced by the reader. The catalog hands the engine the file locations along with the restrictions, and a client that chooses to ignore the restrictions can read the raw files. So what is this actually protecting?&lt;/p&gt;

&lt;p&gt;The specification is explicit: this mechanism assumes a trust relationship between the catalog and the engine, and how that trust is established is deliberately out of scope. The intended deployment is one where a platform team's engines—the shared Spark and Trino clusters—are trusted enforcement points that hold storage access (for example, through credential vending), while end users only ever talk to those engines and never hold storage credentials themselves. The trusted engine becomes the enforcement point, playing the role the database server played in the traditional architecture. The difference is that its behavior is now defined by a common, open protocol rather than by N proprietary integrations.&lt;/p&gt;

&lt;p&gt;In other words, read restrictions do not protect data &lt;em&gt;from&lt;/em&gt; the engine; they let the catalog direct a trusted engine to protect data from the engine's users. For genuinely untrusted readers, the coarse-grained model still applies: they are restricted to vended credentials where the storage access granted to the user aligns with the data permission of the user.&lt;/p&gt;

&lt;p&gt;One operational subtlety deserves attention: restrictions are per-response and per-identity. The same &lt;code class="inline"&gt;loadTable&lt;/code&gt; call made by a different principal—or by the same principal later—may return different restrictions, and the restrictions attach to every read performed with that response, including subsequent &lt;code class="inline"&gt;planTableScan&lt;/code&gt; and &lt;code class="inline"&gt;fetchScanTasks&lt;/code&gt; calls. The spec therefore requires that the response not be cached outside its authentication scope. If your platform caches &lt;code class="inline"&gt;loadTableResponse&lt;/code&gt;, that cache is now security-sensitive and worth an audit.&lt;/p&gt;

&lt;h2&gt;What is still missing&lt;/h2&gt;

&lt;p&gt;Read restrictions are a foundation, not the finished building. It is worth being honest about the gaps between this specification and complete fine-grained access control:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;strong&gt;The action vocabulary is fixed, because Iceberg Expressions are not implemented yet.&lt;/strong&gt; Nine actions cover the common masking policies, but they are a deliberately closed set: a policy like "apply this custom redaction function" cannot be expressed, and the row filter is limited to predicates—comparisons that produce true or false. The path to generalizing this already exists on paper: the &lt;a href="https://github.com/apache/iceberg/blob/587f7984ff811b1240b0ccf8e34e73e1a52f94d0/format/expressions-spec.md"&gt;Iceberg Expressions specification&lt;/a&gt;, proposed by Ryan Blue and adopted in mid-2026, defines a portable structure for value expressions—constants, field references, and calls to well-defined functions or &lt;a href="https://iceberg.apache.org/udf-spec/"&gt;SQL UDFs&lt;/a&gt;. Once engines can evaluate those expressions, a catalog could return arbitrary transformations instead of choosing from an enum. Today no engine implements general expression evaluation, which is why the initial design confines itself to a small vocabulary that can be specified bit-for-bit.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;There is no policy definition—deliberately.&lt;/strong&gt; The specification standardizes the &lt;em&gt;result&lt;/em&gt; of policy evaluation, never the policy itself. How an organization expresses "analysts see masked PII, auditors see everything"—the roles, tags, rules, and administrative APIs—remains entirely the catalog vendor's domain, and the assumption is that it stays there. Only the consequences of a policy are portable across engines; the policy definition is not. Whether communities eventually want a portable policy format is an open question the spec does not attempt to answer.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Trusted clients are asserted, not proven.&lt;/strong&gt; As the trust-model section noted, how a catalog establishes that a caller is a trusted, enforcing engine is out of scope. In practice that trust is deployment configuration—service identities, network boundaries, and which principals receive vended credentials. There is no attestation mechanism in the protocol by which an engine proves it enforces restrictions; the trusted-client mechanism is an assumption the platform operator must make true.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;None of these gaps undermines the design—each is a deliberate scoping decision that kept the proposal small enough to reach consensus—but they define the roadmap for what "complete" fine-grained access control in the open lakehouse still requires.&lt;/p&gt;

&lt;h2&gt;Why this matters&lt;/h2&gt;

&lt;p&gt;The specification change itself does not ship enforcement; that work in the engines begins now, starting with the default actions. But the shape of the design is right in three ways:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;strong&gt;It picks the honest enforcement point.&lt;/strong&gt; In an architecture with no server in the read path, the trusted engine is the only place enforcement can live without giving up direct storage reads. The spec accepts that constraint explicitly rather than obscuring it.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;It standardizes the narrow waist.&lt;/strong&gt; Catalogs keep their own rich policy engines—roles, tags, and attribute-based rules. Engines implement nine actions and a predicate evaluator, once. N×M becomes N+M.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;It is fail-closed everywhere&lt;/strong&gt;, which is what makes the vocabulary safely extensible.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The pattern—the catalog evaluates policy against the caller's identity and returns a small, closed vocabulary of obligations that the client must enforce or fail—is a useful template, and it would not be surprising to see more of the governance surface expressed this way over time.&lt;/p&gt;

&lt;p&gt;The proposal was approved on the Apache Iceberg dev list with eight binding +1 votes and no objections. This is a strong signal of consensus across the many companies and open source communities that participate in the project. Consistent, engine-independent enforcement of fine-grained policies is a property the ecosystem has long wanted; it now has a specification for it, and the interesting work of implementing it in engines and catalogs is underway. If you work on either, the &lt;a href="https://lists.apache.org/list.html?dev@iceberg.apache.org"&gt;dev list&lt;/a&gt; is the place to get involved.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The full schema is available in &lt;a href="https://github.com/apache/iceberg/blob/main/open-api/rest-catalog-open-api.yaml"&gt;&lt;code class="inline"&gt;rest-catalog-open-api.yaml&lt;/code&gt;&lt;/a&gt; under &lt;code class="inline"&gt;ReadRestrictions&lt;/code&gt;. View the full &lt;a href="https://lists.apache.org/thread/0zloqhp8wkgyn04yg69j71cwcg5n7g74"&gt;vote thread&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
</content><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/6465713310998310931" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/6465713310998310931" rel="self" type="application/atom+xml"/><link href="http://opensource.googleblog.com/2026/10/standardizing-fine-grained-access-control-in-apache-icebergs-rest-catalog.html" rel="alternate" title="Standardizing fine-grained access control in Apache Iceberg's REST catalog" type="text/html"/><link href="at://did:plc:x6bnzgic7duwjxogg7zb3qas/site.standard.document/7niqnzzkt5g2n" rel="site.standard.document"/><author><name>Google Open Source</name><uri>http://www.blogger.com/profile/03718388509216889937</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEXQgyAEhULOnOFhWFIYXZW39BrvFMbqPdg3pFztuFLBgWZux_WlfcY1AlwLu1F9ZU2KwlxF0owAXEpL4rU3SK4oTMfzNguNn6KqhDAh0974imNQ4t1_6wPREMs-k1c3Xgjl9v6huAiNaDh9U_oZr9HZVOw3i35ADbf0tWGZsH-jlRw3wA3twdnGW4OxE/s72-c/one-standard.png" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-8698702854482141883.post-4269031649793023216</id><published>2026-09-30T11:30:00.000-07:00</published><updated>2026-09-30T11:30:00.181-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Apache Iceberg"/><category scheme="http://www.blogger.com/atom/ns#" term="BigLake"/><category scheme="http://www.blogger.com/atom/ns#" term="Google Cloud"/><category scheme="http://www.blogger.com/atom/ns#" term="Lakehouse"/><category scheme="http://www.blogger.com/atom/ns#" term="Open Source"/><category scheme="http://www.blogger.com/atom/ns#" term="PyIceberg"/><title type="text">New public datasets available in Google Cloud Lakehouse</title><content type="html">&lt;p class="byline"&gt;by &lt;author&gt;Daniel Rodrigues&lt;/author&gt; &amp;amp; &lt;author&gt;Alex Stephen&lt;/author&gt;, Google Cloud&lt;/p&gt;

&lt;meta name="twitter:image" content="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1RvzpVVMi_f0ZNhvVXJg1gnoTyaNj52capD3ShJ-_2WFg5pcNhCsr-3o85ThyNY7RPfD5-OhI8epWZMZFFUqWPh4t4iyic-KJXOO_o0q0CbwKXhOmdszNQQ9iuaRabheTdlX-gefde7D4QwBVROQT57eYn7MP_ELCS7_XeyaI4fpX5tZ63_RYQyqrvz0/s1600/image_1789582157097852.png"&gt;
&lt;img class="metadata" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1RvzpVVMi_f0ZNhvVXJg1gnoTyaNj52capD3ShJ-_2WFg5pcNhCsr-3o85ThyNY7RPfD5-OhI8epWZMZFFUqWPh4t4iyic-KJXOO_o0q0CbwKXhOmdszNQQ9iuaRabheTdlX-gefde7D4QwBVROQT57eYn7MP_ELCS7_XeyaI4fpX5tZ63_RYQyqrvz0/s1600/image_1789582157097852.png"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1RvzpVVMi_f0ZNhvVXJg1gnoTyaNj52capD3ShJ-_2WFg5pcNhCsr-3o85ThyNY7RPfD5-OhI8epWZMZFFUqWPh4t4iyic-KJXOO_o0q0CbwKXhOmdszNQQ9iuaRabheTdlX-gefde7D4QwBVROQT57eYn7MP_ELCS7_XeyaI4fpX5tZ63_RYQyqrvz0/s1600/image_1789582157097852.png" class="header-image"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1RvzpVVMi_f0ZNhvVXJg1gnoTyaNj52capD3ShJ-_2WFg5pcNhCsr-3o85ThyNY7RPfD5-OhI8epWZMZFFUqWPh4t4iyic-KJXOO_o0q0CbwKXhOmdszNQQ9iuaRabheTdlX-gefde7D4QwBVROQT57eYn7MP_ELCS7_XeyaI4fpX5tZ63_RYQyqrvz0/s1600/image_1789582157097852.png" alt="An image of a castle with an ice block coming out of the front gate"/&gt;&lt;/a&gt;

&lt;p&gt;Did you know the Google Chrome Wikipedia page received over 36 million page views in 2025, or that Chromium logged over 3,700 commits in April 2010? If you have needed large, real-world datasets to benchmark query engines on Apache Iceberg, Google Cloud’s Lakehouse team is excited to announce the release of new public datasets in Google Cloud Lakehouse to help you explore and analyze open data at scale.&lt;/p&gt;

&lt;p&gt;Google Cloud’s Lakehouse provides a high-performance storage catalog using Apache Iceberg as its open table format. By decoupling storage from compute, it enables you to use your preferred query engines—such as BigQuery, Apache Spark, or Trino—while managing data in an open format to avoid vendor lock-in.&lt;/p&gt;

&lt;p&gt;These new public datasets are designed to help you explore the Apache Iceberg ecosystem and begin working immediately with real-world data. We are providing access to some of the most popular BigQuery public datasets, including Wikipedia pageviews and GitHub commit histories. Let’s dive into how you can start querying them.&lt;/p&gt;

&lt;h2&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;A Google Cloud project (for authentication).&lt;/li&gt;
  &lt;li&gt;Standard Google Application Default Credentials (ADC) configured in your environment.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Explore metadata with PyIceberg&lt;/h2&gt;
&lt;p&gt;To explore table metadata using PyIceberg, install the required Python packages in a virtual environment:&lt;/p&gt;

&lt;pre&gt;&lt;code class="codebox bash"&gt;sudo apt-get install python3-venv
python3 -m venv public_data_lakehouse
source public_data_lakehouse/bin/activate
pip install google-auth
pip install pyiceberg
pip install pyarrow&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;After installing the required packages, you can inspect a table’s schema using the Python script below. Here is how to inspect the table containing Wikipedia page view data from 2016:&lt;/p&gt;

&lt;pre&gt;&lt;code class="codebox python"&gt;from pyiceberg import catalog as pyiceberg_catalog

PROJECT = "&amp;lt;YOUR_PROJECT_ID&amp;gt;"
NAMESPACE = "wikipedia"
TABLE = "pageviews_2016"

def load_catalog() -&amp;gt; pyiceberg_catalog.Catalog:
  properties = {
      "type": "rest",
      "uri": "https://biglake.googleapis.com/iceberg/v1/restcatalog",
      "warehouse": "gs://lakehouse-public-data",
      "auth": {"type": "google"},
      "header.X-Iceberg-Access-Delegation": "vended-credentials",
      "header.x-goog-user-project": PROJECT,
  }
  return pyiceberg_catalog.load_catalog(PROJECT, **properties)

def main() -&amp;gt; None:
  catalog = load_catalog()
  table = catalog.load_table((NAMESPACE, TABLE))
  print(f"Schema for `{NAMESPACE}.{TABLE}`:", table.schema())

if __name__ == "__main__":
  main()&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;em&gt;Note: Replace &lt;code class="inline python"&gt;&amp;lt;YOUR_PROJECT_ID&amp;gt;&lt;/code&gt; with your actual Google Cloud Project ID. This is required for the REST catalog to authenticate your quota usage, even for free public access.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;PySpark and Managed Service for Apache Spark&lt;/h2&gt;
&lt;p&gt;Now that we have explored the table’s schema, we can use a managed, serverless Spark notebook to query the tables. This provides the speed and flexibility of Apache Spark without creating or managing a cluster. You can run this script in Google Cloud's serverless Managed Service for Apache Spark (formerly Dataproc):&lt;/p&gt;

&lt;pre&gt;&lt;code class="codebox python"&gt;from google.cloud.dataproc_v1 import Session
from google.cloud.dataproc_spark_connect import DataprocSparkSession

PROJECT_ID = "&amp;lt;YOUR_PROJECT_ID&amp;gt;"
spark_catalog = "lakehouse-public-data"

session = Session()
session.runtime_config.properties = {
  "spark.sql.extensions": "org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions",
  f"spark.sql.catalog.{spark_catalog}": "org.apache.iceberg.spark.SparkCatalog",
  f"spark.sql.catalog.{spark_catalog}.type": "rest",
  f"spark.sql.catalog.{spark_catalog}.uri": "https://biglake.googleapis.com/iceberg/v1/restcatalog",
  f"spark.sql.catalog.{spark_catalog}.rest.auth.type": "org.apache.iceberg.gcp.auth.GoogleAuthManager",
  f"spark.sql.catalog.{spark_catalog}.io-impl": "org.apache.iceberg.gcp.gcs.GCSFileIO",
  f"spark.sql.catalog.{spark_catalog}.header.X-Iceberg-Access-Delegation": "vended-credentials",
  f"spark.sql.catalog.{spark_catalog}.warehouse": "gs://lakehouse-public-data",
  f"spark.sql.catalog.{spark_catalog}.header.x-goog-user-project": PROJECT_ID,
}

spark = (
   DataprocSparkSession.builder
     .appName("Lakehouse Public Data Demo")
     .dataprocSessionConfig(session)
     .getOrCreate()
)
spark.conf.set("spark.sql.defaultCatalog", spark_catalog)&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;With the session active, you can query monthly Wikipedia view counts for BigQuery-related articles by executing the following code in a new cell:&lt;/p&gt;

&lt;pre&gt;&lt;code class="codebox python"&gt;df1 = spark.sql("""
SELECT
  title,
  wiki,
  SUM(views) AS total_views
FROM wikipedia.pageviews_2026
WHERE datehour &amp;gt;= TIMESTAMP '2026-01-01 00:00:00'
  AND datehour &amp;lt;  TIMESTAMP '2026-02-01 00:00:00'
  AND LOWER(title) LIKE '%bigquery%'
GROUP BY title, wiki
ORDER BY total_views DESC
LIMIT 20
""")
df1.show(10)&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Or, you can retrieve recent GitHub commits referencing Iceberg using the following snippet:&lt;/p&gt;

&lt;pre&gt;&lt;code class="codebox python"&gt;df2 = spark.sql("""
SELECT
  commits.commit,
  commits.subject,
  commits.message,
  commits.author.name AS author_name,
  timestamp_seconds(commits.committer.date.seconds) AS commit_time,
  repo_name
FROM github_repos.commits AS commits
WHERE LOWER(commits.subject) LIKE '%iceberg%'
   OR LOWER(commits.message) LIKE '%iceberg%'
ORDER BY commit_time DESC
LIMIT 50
""")
df2.show(10)&lt;/code&gt;&lt;/pre&gt;

&lt;h2&gt;Start building today&lt;/h2&gt;
&lt;p&gt;These datasets were imported from their BigQuery counterparts and transformed using Apache Iceberg as the table format and Parquet as the data file format. Our goal is to lower the entry barrier so you can learn and explore Apache Iceberg with your favorite query engine without managing any infrastructure. To get started with building an open, managed, and high-performance Iceberg lakehouse, visit the &lt;a href="https://cloud.google.com/products/lakehouse"&gt;Google Cloud Lakehouse page&lt;/a&gt;.&lt;/p&gt;
</content><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/4269031649793023216" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/4269031649793023216" rel="self" type="application/atom+xml"/><link href="http://opensource.googleblog.com/2026/09/new-public-datasets-available-in-google-cloud-lakehouse.html" rel="alternate" title="New public datasets available in Google Cloud Lakehouse" type="text/html"/><link href="at://did:plc:x6bnzgic7duwjxogg7zb3qas/site.standard.document/5qjp7pfah2bbk" rel="site.standard.document"/><author><name>Google Open Source</name><uri>http://www.blogger.com/profile/03718388509216889937</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1RvzpVVMi_f0ZNhvVXJg1gnoTyaNj52capD3ShJ-_2WFg5pcNhCsr-3o85ThyNY7RPfD5-OhI8epWZMZFFUqWPh4t4iyic-KJXOO_o0q0CbwKXhOmdszNQQ9iuaRabheTdlX-gefde7D4QwBVROQT57eYn7MP_ELCS7_XeyaI4fpX5tZ63_RYQyqrvz0/s72-c/image_1789582157097852.png" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-8698702854482141883.post-1076768601866535984</id><published>2026-09-24T11:30:00.000-07:00</published><updated>2026-09-24T11:30:00.190-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AI"/><category scheme="http://www.blogger.com/atom/ns#" term="events"/><category scheme="http://www.blogger.com/atom/ns#" term="Governance"/><category scheme="http://www.blogger.com/atom/ns#" term="news"/><category scheme="http://www.blogger.com/atom/ns#" term="Open Source"/><category scheme="http://www.blogger.com/atom/ns#" term="Sustainability"/><category scheme="http://www.blogger.com/atom/ns#" term="This Week in Open Source"/><category scheme="http://www.blogger.com/atom/ns#" term="twios"/><title type="text">This Week in Open Source for September 24, 2026</title><content type="html">&lt;meta name="twitter:image" content="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizuKHbBriafpnCVl8A7gazsybuVNKqwyYE1n5-RfAYhu6i5bN55iTw0LE_S0KLGWBJU9ERHgsnd9lZ3J94PhlE5hpZ5YIeBHH8PjS2yuRciaN7VgqLUISB9Ofpqst0n6tawyH6etvfFro4lqZv2X8EomVGJUTL8CSaHp0XyK3LxbJIhwi6ENKX620R4ME/s1600/header1.png"&gt;
&lt;img class="metadata" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizuKHbBriafpnCVl8A7gazsybuVNKqwyYE1n5-RfAYhu6i5bN55iTw0LE_S0KLGWBJU9ERHgsnd9lZ3J94PhlE5hpZ5YIeBHH8PjS2yuRciaN7VgqLUISB9Ofpqst0n6tawyH6etvfFro4lqZv2X8EomVGJUTL8CSaHp0XyK3LxbJIhwi6ENKX620R4ME/s1600/header1.png" alt="This Week in Open Source banner graphic"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizuKHbBriafpnCVl8A7gazsybuVNKqwyYE1n5-RfAYhu6i5bN55iTw0LE_S0KLGWBJU9ERHgsnd9lZ3J94PhlE5hpZ5YIeBHH8PjS2yuRciaN7VgqLUISB9Ofpqst0n6tawyH6etvfFro4lqZv2X8EomVGJUTL8CSaHp0XyK3LxbJIhwi6ENKX620R4ME/s1600/header1.png" class="header-image"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizuKHbBriafpnCVl8A7gazsybuVNKqwyYE1n5-RfAYhu6i5bN55iTw0LE_S0KLGWBJU9ERHgsnd9lZ3J94PhlE5hpZ5YIeBHH8PjS2yuRciaN7VgqLUISB9Ofpqst0n6tawyH6etvfFro4lqZv2X8EomVGJUTL8CSaHp0XyK3LxbJIhwi6ENKX620R4ME/s1600/header1.png" alt="This Week in Open Source banner graphic"/&gt;&lt;/a&gt;

&lt;p class="byline"&gt;by &lt;author&gt;Daryl Ducharme&lt;/author&gt;, Open Source Programs Office&lt;/p&gt;

&lt;h2&gt;This Week in Open Source for September 24, 2026&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;A look around the world of open source&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Open source underpins an $8.8 trillion global economy, yet sustaining it requires moving beyond voluntary charity and philosophical appeals. This week’s reads examine how the ecosystem is adapting to modern economic and AI pressures—from proposing package-registry royalties and quantifying 2–5x net value for regulated utility grids, to turning autonomous AI security incidents into hardened supply-chain defenses that empower open-science breakthroughs like NASA and IBM’s Lunar Foundation Model.&lt;/p&gt;

&lt;h2&gt;Upcoming Events&lt;/h2&gt;
&lt;h3&gt;&#128467;️ October 2026&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/mcp-dev-summit-toronto/"&gt;MCP Dev Summit Toronto&lt;/a&gt;&lt;/strong&gt; (October 5–6, 2026) — Toronto, Ontario, Canada. Dedicated Linux Foundation developer summit advancing the Model Context Protocol (MCP) and open agentic interoperability standards. Join Google OSPO's Daryl Ducharme on October 6 for &lt;em&gt;"Tag-Team Transmission: Navigating A2A and MCP for Optimum Orchestration,"&lt;/em&gt; examining how the Agent2Agent (A2A) protocol and MCP interoperate across multi-agent architectures.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/open-source-summit-europe/"&gt;Open Source Summit Europe&lt;/a&gt;&lt;/strong&gt; (October 7–9, 2026) — Prague, Czechia. The premier Linux Foundation gathering in Europe celebrating the 35th anniversary of Linux and connecting developers, technologists, and community leaders across open AI, embedded systems, and digital trust.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://communityovercode.org/"&gt;Community Over Code&lt;/a&gt;&lt;/strong&gt; (October 11–14, 2026) — Glasgow, Scotland. The flagship Apache Software Foundation conference bringing together project maintainers, committers, and users to collaborate on open governance, data architecture, and community-led software development.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://allthingsopen.org/"&gt;All Things Open 2026&lt;/a&gt;&lt;/strong&gt; (October 19–20, 2026) — Raleigh, North Carolina, USA. One of the largest community-focused open source conferences on the U.S. East Coast exploring open source software, AI engineering, DevSecOps, and maintainer sustainability.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://githubuniverse.com/"&gt;GitHub Universe 2026&lt;/a&gt;&lt;/strong&gt; (October 28–29, 2026) — San Francisco, California, USA &amp;amp; Virtual. Annual global developer gathering highlighting open source workflows, collaborative security, and AI-assisted software engineering.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&#128467;️ November 2026&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/open-source-finance-forum-new-york/"&gt;Open Source in Finance Forum (OSFF) New York&lt;/a&gt;&lt;/strong&gt; (November 4–5, 2026) — New York, New York, USA. Dedicated industry conference examining open source compliance, supply-chain security, and collaborative innovation across regulated financial institutions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/"&gt;KubeCon + CloudNativeCon North America 2026&lt;/a&gt;&lt;/strong&gt; (November 9–12, 2026) — Salt Lake City, Utah, USA. The Cloud Native Computing Foundation's flagship conference uniting adopters and maintainers around Kubernetes, platform engineering, and modern cloud infrastructure.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.sfscon.it/"&gt;SFSCON (South Tyrol Free Software Conference) 2026&lt;/a&gt;&lt;/strong&gt; (November 13–14, 2026) — Bolzano, Italy. One of Europe's longest-running Free Software conferences bringing together public-sector decision-makers and developers to advance digital sovereignty and open infrastructure.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Open Source Reads and Links&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;[Blog] &lt;a href="https://seldo.com/posts/nobody-pays-for-open-source-we-can-force-them-to/"&gt;Nobody pays for open source. We can force them to.&lt;/a&gt; — Companies already spend over $1 billion a year on open source, but that money goes to supply-chain mirror and security vendors rather than the maintainers writing the code. Laurie Voss breaks down why voluntary charity and license changes always fail, arguing that commercial package registries and mirror vendors should pay automatic royalties down the dependency tree to long-tail maintainers.&lt;/li&gt;
&lt;li&gt;[Article] &lt;a href="https://www.eurekalert.org/news-releases/1144074"&gt;AI Is reshaping open source software and straining the systems that sustain it&lt;/a&gt; — As conversations grow around moderating the speed of AI development across the industry, it is critical to watch the friction points where AI and open source overlap—particularly as an influx of AI-generated code and vulnerability discovery strains maintainers of an $8.8 trillion ecosystem. Funding remains front and center, requiring not just raw capital but continuous monitoring for effectiveness in sustaining the human governance, consensus-building, and non-coding infrastructure that AI cannot replace.&lt;/li&gt;
&lt;li&gt;[Report] &lt;a href="https://www.linuxfoundation.org/press/lf-energy-research-finds-open-source-software-can-deliver-2-5x-greater-net-value-for-grid-operators"&gt;LF Energy Research Finds Open Source Software Can Deliver 2-5x Greater Net Value for Grid Operators&lt;/a&gt; — While open source software and public utilities seem like natural philosophical allies as public goods, philosophical appeals routinely fail in regulated infrastructure sectors where operators are bound by strict reliability mandates and ratepayer accountability. This new LF Energy report demonstrates how to bridge that gap: by translating collaborative "make together" governance into an auditable benefit-cost framework showing two to five times greater net value over proprietary procurement.&lt;/li&gt;
&lt;li&gt;[Article] &lt;a href="https://time.com/article/2026/09/09/ai-is-at-a-turning-point/"&gt;AI Is at a Turning Point&lt;/a&gt; — High-profile incidents of autonomous AI agents breaching Hugging Face or social-engineering open source maintainers inevitably dominate headlines and amplify purely negative narratives around AI. However, treating these security failures as concrete post-mortems—exposing how standard reinforcement learning incentivizes deceptive subgoals—is exactly what allows open source communities to establish hardened supply-chain defenses and safely advance high-impact, positive AI use cases.&lt;/li&gt;
&lt;li&gt;[Article] &lt;a href="https://newsroom.ibm.com/2026-09-10-ibm-and-nasa-release-open-source-ai-model-to-support-lunar-exploration"&gt;IBM and NASA Release Open-Source AI Model to Support Lunar Exploration&lt;/a&gt; — Seeing open source, AI, open data, and space science converge is genuinely inspiring, especially when it demonstrates that open scientific models are only as useful as the open datasets beneath them. While NASA and JAXA planetary archives have long been public, IBM and NASA's release of the Lunar Foundation Model alongside the first harmonized, machine-learning-ready lunar dataset (unifying 30+ multi-instrument layers) proves that transforming raw open data into shared, interoperable infrastructure is what unlocks domain discovery.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Which of these stories will you be chatting about at your next meetup or conference? Let us know! Share with us on our &lt;a href="https://x.com/GoogleOSS"&gt;@GoogleOSS&lt;/a&gt; X account or our &lt;a href="https://bsky.app/profile/opensource.google"&gt;@opensource.google&lt;/a&gt; Bluesky account.&lt;/p&gt;</content><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/1076768601866535984" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/1076768601866535984" rel="self" type="application/atom+xml"/><link href="http://opensource.googleblog.com/2026/09/this-week-in-open-source-for-september.html" rel="alternate" title="This Week in Open Source for September 24, 2026" type="text/html"/><link href="at://did:plc:x6bnzgic7duwjxogg7zb3qas/site.standard.document/2xwfneulst33k" rel="site.standard.document"/><author><name>Google Open Source</name><uri>http://www.blogger.com/profile/03718388509216889937</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizuKHbBriafpnCVl8A7gazsybuVNKqwyYE1n5-RfAYhu6i5bN55iTw0LE_S0KLGWBJU9ERHgsnd9lZ3J94PhlE5hpZ5YIeBHH8PjS2yuRciaN7VgqLUISB9Ofpqst0n6tawyH6etvfFro4lqZv2X8EomVGJUTL8CSaHp0XyK3LxbJIhwi6ENKX620R4ME/s72-c/header1.png" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-8698702854482141883.post-9077739959573559679</id><published>2026-09-23T11:30:00.000-07:00</published><updated>2026-09-23T11:30:00.205-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AlloyDB"/><category scheme="http://www.blogger.com/atom/ns#" term="Cloud SQL"/><category scheme="http://www.blogger.com/atom/ns#" term="Databases"/><category scheme="http://www.blogger.com/atom/ns#" term="Google Cloud"/><category scheme="http://www.blogger.com/atom/ns#" term="Open Source"/><category scheme="http://www.blogger.com/atom/ns#" term="PostgreSQL"/><title type="text">Google Cloud: Investing in the future of PostgreSQL — 2026 highlights</title><content type="html">&lt;p class="byline"&gt;by &lt;author&gt;Dilip Kumar&lt;/author&gt;, Cloud SQL for PostgreSQL&lt;/p&gt;
&lt;meta name="twitter:image" content="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwzJszSMRbAj7eM_f4aXx0OqZW72VjPDjvgV7ew9WiCUvUgdFtqunL5ySeShN7KD_eCNFlYdJY6gDRMjLmC7CzSriHzAHwEdwyOYdbmN2T6GyLf8mgI3OHcY4e9vpsPe6AE_t5lbw3E5cdV91M78Z83vRFHL3Ny_wiGTDJsrPGkKPZ6cco0wwlWhaLt-8/s1600/OSS-Logo-Banner.png"&gt;
&lt;img class="metadata" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwzJszSMRbAj7eM_f4aXx0OqZW72VjPDjvgV7ew9WiCUvUgdFtqunL5ySeShN7KD_eCNFlYdJY6gDRMjLmC7CzSriHzAHwEdwyOYdbmN2T6GyLf8mgI3OHcY4e9vpsPe6AE_t5lbw3E5cdV91M78Z83vRFHL3Ny_wiGTDJsrPGkKPZ6cco0wwlWhaLt-8/s1600/OSS-Logo-Banner.png"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwzJszSMRbAj7eM_f4aXx0OqZW72VjPDjvgV7ew9WiCUvUgdFtqunL5ySeShN7KD_eCNFlYdJY6gDRMjLmC7CzSriHzAHwEdwyOYdbmN2T6GyLf8mgI3OHcY4e9vpsPe6AE_t5lbw3E5cdV91M78Z83vRFHL3Ny_wiGTDJsrPGkKPZ6cco0wwlWhaLt-8/s1600/OSS-Logo-Banner.png" class="header-image"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwzJszSMRbAj7eM_f4aXx0OqZW72VjPDjvgV7ew9WiCUvUgdFtqunL5ySeShN7KD_eCNFlYdJY6gDRMjLmC7CzSriHzAHwEdwyOYdbmN2T6GyLf8mgI3OHcY4e9vpsPe6AE_t5lbw3E5cdV91M78Z83vRFHL3Ny_wiGTDJsrPGkKPZ6cco0wwlWhaLt-8/s1600/OSS-Logo-Banner.png"/&gt;&lt;/a&gt;


&lt;p&gt;Google Cloud is committed to open source, and PostgreSQL is a cornerstone of managed database offerings, including Cloud SQL and AlloyDB.&lt;/p&gt;

&lt;p&gt;Continuing our work with the PostgreSQL communities, we've been contributing to the core engine and participating in the patch review process. Below is a summary of that technical activity between January 2026 and September 2026, highlighting our efforts to enhance the performance, stability, and resilience of the upstream project and ecosystem. By strengthening these core capabilities, we aim to drive innovation that benefits the entire global PostgreSQL ecosystem and its diverse user base.&lt;/p&gt;

&lt;p&gt;Our technical contributions in this period have focused on enhancing core engine performance, introducing features for logical replication, fixing critical bugs, and improving upgrade resilience. We also continue to invest in the PostgreSQL ecosystem by addressing bugs in widely used extensions.&lt;/p&gt;

&lt;h2&gt;Technical contributions: January 2026 – September 2026&lt;/h2&gt;

&lt;p&gt;Our contributions this cycle span four key areas:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;strong&gt;Logical replication and conflict management&lt;/strong&gt;: Paving the way for active-active replication, enhanced conflict logging, and catalog safety.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Core engine performance and reliability&lt;/strong&gt;: Eliminating tuple-level overhead in sequential scans and making promotion timeouts accurate.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Core catalog, collation, and indexing bug fixes&lt;/strong&gt;: Strengthening privilege consistency, deferrable index builds, collation handling, and memory safety.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;PostgreSQL extension and ecosystem hardening&lt;/strong&gt;: Resolving critical crashes, lock tranche registrations, and memory vulnerabilities across popular ecosystem extensions (&lt;code class="inline"&gt;plpgsql_check&lt;/code&gt;, &lt;code class="inline"&gt;pgfincore&lt;/code&gt;, and &lt;code class="inline"&gt;pgtt&lt;/code&gt;).&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;1. Logical replication and conflict management&lt;/h3&gt;

&lt;p&gt;Logical replication is essential for near-zero downtime migrations, major version upgrades, and multi-region data distribution. Our recent work focuses on conflict log table infrastructure, namespace clarity, and cross-database catalog hygiene.&lt;/p&gt;

&lt;h4&gt;&lt;a href="https://www.postgresql.org/message-id/E1wf7cJ-0011jL-2F%40gemulon.postgresql.org#:~:text=Author%3A%20Dilip%20Kumar%20%3Cdilipbalaut(at)gmail(dot)com%3E"&gt;Conflict log table infrastructure&lt;/a&gt;&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Background and challenge&lt;/strong&gt;: A major milestone on the roadmap to active-active multi-master replication is the ability to automatically record and resolve data discrepancies across nodes. Without structured conflict logs, tracking conflicting writes requires inspecting server logs or relying on custom application handlers.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Solution&lt;/strong&gt;: This patch introduces the foundational conflict log table management infrastructure as an option in &lt;code class="inline"&gt;CREATE SUBSCRIPTION&lt;/code&gt;. It establishes the catalog structures and configuration hooks necessary to direct conflict records into dedicated, queryable tables, serving as the cornerstone for upcoming automatic conflict logging into tables.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Note&lt;/strong&gt;: Provided no blocking issues arise, this functionality is slated for inclusion in PG 20.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Contributors&lt;/strong&gt;: Dilip Kumar (Primary Author)&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;&lt;a href="https://www.postgresql.org/message-id/E1wl7tC-000nNc-1k%40gemulon.postgresql.org"&gt;Fix REASSIGN OWNED for subscriptions in other databases&lt;/a&gt;&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Background and challenge&lt;/strong&gt;: While &lt;code class="inline"&gt;pg_subscription&lt;/code&gt; is physically a shared catalog so the background launcher process can scan all databases, subscription objects are logically local to each database. Certain operations, such as &lt;code class="inline"&gt;REASSIGN OWNED&lt;/code&gt;, failed to restrict their catalog scans to the current database (&lt;code class="inline"&gt;MyDatabaseId&lt;/code&gt;), leading to accidental modifications across database boundaries.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Solution&lt;/strong&gt;: Added explicit guards to &lt;code class="inline"&gt;pg_subscription&lt;/code&gt; readers to ensure non-launcher processes filter strictly by &lt;code class="inline"&gt;MyDatabaseId&lt;/code&gt;, protecting cross-database isolation and updating documentation.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Contributors&lt;/strong&gt;: Dilip Kumar (Author)&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;&lt;a href="https://www.postgresql.org/message-id/E1wLCwb-000oB5-1A%40gemulon.postgresql.org"&gt;Schema-qualified names in EXCEPT clause error messages&lt;/a&gt;&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Background and challenge&lt;/strong&gt;: When publishing tables with &lt;code class="inline"&gt;EXCEPT&lt;/code&gt; clauses, &lt;code class="inline"&gt;check_publication_add_relation()&lt;/code&gt; previously reported only unqualified table names when a relation could not be processed, leading to ambiguous error messages in multi-schema databases.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Solution&lt;/strong&gt;: Updated error reporting paths to emit fully schema-qualified relation names, aligning with PostgreSQL's broader error messaging standards.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Contributors&lt;/strong&gt;: Dilip Kumar (Author)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;2. Core engine performance and administrative enhancements&lt;/h3&gt;

&lt;p&gt;Optimizing throughput and improving the predictability of administrative operations remain top priorities for database workloads.&lt;/p&gt;

&lt;h4&gt;&lt;a href="https://www.postgresql.org/message-id/E1w5Zie-001T6v-2k%40gemulon.postgresql.org"&gt;Timeout handling in pg_promote()&lt;/a&gt;&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Background and challenge&lt;/strong&gt;: Standby promotion via &lt;code class="inline"&gt;pg_promote()&lt;/code&gt; allows users to specify a timeout interval. Due to imprecise elapsed-time tracking during wait loops, promotion operations could terminate prematurely before the configured timeout elapsed.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Solution&lt;/strong&gt;: Refined the promotion loop to pre-calculate the expected end timestamp and track actual elapsed time across iterations, ensuring strict adherence to user-configured wait intervals.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Contributors&lt;/strong&gt;: Robert Pang (Reporter and Author)&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;&lt;a href="https://www.postgresql.org/message-id/E1vlbnK-0003nf-2n%40gemulon.postgresql.org"&gt;Sequential scan performance optimization&lt;/a&gt;&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Background and challenge&lt;/strong&gt;: Previously, &lt;code class="inline"&gt;CheckXidAlive&lt;/code&gt; validation was executed inside the inner &lt;code class="inline"&gt;table_scan_next&lt;/code&gt; routines. This incurred repetitive check overhead on every single tuple fetched during sequential scans.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Solution&lt;/strong&gt;: Restructured the scan control flow to eliminate redundant per-tuple checks, yielding cleaner execution paths and measurable throughput improvements on large table scans.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Contributors&lt;/strong&gt;: Dilip Kumar (Author)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;3. Core engine access control, collation, and indexing bug fixes&lt;/h3&gt;

&lt;p&gt;We continue to harden PostgreSQL's core engine against catalog inconsistencies, segmentation faults, and edge-case query anomalies.&lt;/p&gt;

&lt;h4&gt;&lt;a href="https://www.postgresql.org/message-id/E1vuczI-000sUq-2Z%40gemulon.postgresql.org"&gt;Large object access with pg_{read,write}_all_data&lt;/a&gt;&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Problem&lt;/strong&gt;: The default roles &lt;code class="inline"&gt;pg_read_all_data&lt;/code&gt; and &lt;code class="inline"&gt;pg_write_all_data&lt;/code&gt; were designed to allow maintenance utilities like &lt;code class="inline"&gt;pg_dump&lt;/code&gt; to operate without superuser privileges. However, Large Objects (LOBs) remained inaccessible under these roles without explicit object-level grants.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Fix&lt;/strong&gt;: Updated permission checks to extend &lt;code class="inline"&gt;pg_read_all_data&lt;/code&gt; and &lt;code class="inline"&gt;pg_write_all_data&lt;/code&gt; coverage to Large Objects, completing superuser-free dump and maintenance workflows.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Contributors&lt;/strong&gt;: Nitin Motiani (Author), Dilip Kumar (Reviewer)&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;&lt;a href="https://www.postgresql.org/message-id/E1woV96-00000000a2q-0X8s%40gemulon.postgresql.org"&gt;Immediate property propagation in index copies (REINDEX CONCURRENTLY)&lt;/a&gt;&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Problem&lt;/strong&gt;: When building a replacement index during &lt;code class="inline"&gt;REINDEX CONCURRENTLY&lt;/code&gt; for a deferrable unique constraint, &lt;code class="inline"&gt;index_create_copy()&lt;/code&gt; defaulted constraint flags to 0, setting the immediate property to true. This caused concurrent transactions to immediately trigger constraint violations rather than deferring verification until commit time.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Fix&lt;/strong&gt;: Introduced the &lt;code class="inline"&gt;INDEX_CREATE_DEFERRABLE&lt;/code&gt; flag to properly propagate an immediate property of false to transient copied indexes without violating internal constraint assertions.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Contributors&lt;/strong&gt;: Nitin Motiani (Author)&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;&lt;a href="https://www.postgresql.org/message-id/E1wgoMZ-001d4O-1K%40gemulon.postgresql.org"&gt;LIKE matching with nondeterministic collations and backslashes&lt;/a&gt;&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Problem&lt;/strong&gt;: Following the addition of nondeterministic collation support for &lt;code class="inline"&gt;LIKE&lt;/code&gt;, literal pattern substring parsing unconditionally skipped all backslash characters. When encountering escaped backslashes (&lt;code class="inline"&gt;\\&lt;/code&gt;), the engine omitted the second backslash entirely instead of emitting a literal &lt;code class="inline"&gt;\&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Fix&lt;/strong&gt;: Corrected pattern de-escaping logic to correctly recognize and emit escaped backslashes during evaluation.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Contributors&lt;/strong&gt;: Nitin Motiani (Author)&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;&lt;a href="https://www.postgresql.org/message-id/E1vgbPL-000jxT-2O%40gemulon.postgresql.org"&gt;DSM lock release and crash prevention&lt;/a&gt;&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Problem&lt;/strong&gt;: If a backend encountered a &lt;code class="inline"&gt;FATAL&lt;/code&gt; exit while holding a lock in a Dynamic Shared Memory (DSM) segment (e.g., inside dynamic shared hashtables &lt;code class="inline"&gt;dshash&lt;/code&gt;) outside of an active transaction, releasing locks during process termination could reference already detached DSM segments, triggering a segmentation fault.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Fix&lt;/strong&gt;: Hardened cleanup and lock release sequences during fatal exits to safely detach memory segments without segfaulting.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Contributors&lt;/strong&gt;: Dilip Kumar (Reviewer)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;4. PostgreSQL ecosystem and extension hardening&lt;/h3&gt;

&lt;p&gt;Enterprise PostgreSQL architectures rely heavily on third-party extensions. Our team actively contributes bug fixes and stability improvements upstream to critical ecosystem projects.&lt;/p&gt;

&lt;h4&gt;&lt;a href="https://github.com/okbob/plpgsql_check/pull/215/commits"&gt;plpgsql_check: LWLock tranche registration for PG14&lt;/a&gt;&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Problem&lt;/strong&gt;: In PG14 and earlier, loading &lt;code class="inline"&gt;plpgsql_check&lt;/code&gt; via &lt;code class="inline"&gt;shared_preload_libraries&lt;/code&gt; could fail with shared memory lock errors due to missing or outdated named LWLock tranche registrations (&lt;code class="inline"&gt;plpgsql_check profiler funcs stats&lt;/code&gt; and &lt;code class="inline"&gt;plpgsql_check profiler func stmts stats&lt;/code&gt;).&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Fix&lt;/strong&gt;: Aligned pre-PG15 tranche initialization with modern &lt;code class="inline"&gt;shmem_request_hook&lt;/code&gt; patterns, guaranteeing safe shared memory allocation on older server versions.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Contributors&lt;/strong&gt;: Aniket Jha (Author)&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;&lt;a href="https://github.com/klando/pgfincore/pull/12"&gt;pgfincore: Memory safety hardening&lt;/a&gt;&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Problem&lt;/strong&gt;: &lt;code class="inline"&gt;pgfincore&lt;/code&gt; contained two subtle memory corruption issues: an off-by-one array boundary access during buffer inspection and a dangling pointer assignment during deallocation.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Fix&lt;/strong&gt;: Authored patches to enforce strict boundary checks and clean pointer resets, eliminating potential memory corruption during OS buffer cache analysis.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;PRs&lt;/strong&gt;: &lt;a href="https://github.com/klando/pgfincore/pull/12"&gt;klando/pgfincore#12&lt;/a&gt; and &lt;a href="https://github.com/klando/pgfincore/pull/13"&gt;klando/pgfincore#13&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Contributors&lt;/strong&gt;: Robert Pang (Author)&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;&lt;a href="https://github.com/darold/pgtt/commit/e949a6c81eeaec6bd0b03c25c7428aa5cb68821f"&gt;pgtt: Use-after-free prevention on cached plans&lt;/a&gt;&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Problem&lt;/strong&gt;: When running utility commands via the extended query protocol or within cached contexts (such as PL/pgSQL and SQL functions), &lt;code class="inline"&gt;pgtt&lt;/code&gt; modified cached statement parse trees in-place using short-lived query memory. Once that memory was freed, subsequent executions of the cached plan led to Use-After-Free crashes.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Fix&lt;/strong&gt;: Updated the extension to operate on an isolated, deep copy of the parse tree for cached and read-only statements, ensuring memory safety across repeated executions.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Contributors&lt;/strong&gt;: Sunaina Punyani (Author)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Related reading&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href="https://opensource.googleblog.com/2026/03/google-cloud-investing-in-the-future-of-postgresql.html"&gt;Google Cloud: Investing in the future of PostgreSQL (March 2026)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="https://opensource.googleblog.com/2026/07/google-cloud-postgresql-community-contribution-updates.html"&gt;Google Cloud: PostgreSQL community contribution updates (July 2026)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Community roadmap: Your feedback matters&lt;/h2&gt;

&lt;p&gt;We encourage you to utilize the comments area to propose new capabilities or refinements you wish to see in future iterations, and to identify key areas where the PostgreSQL open source communities should focus their investments.&lt;/p&gt;

&lt;h2&gt;Acknowledgments&lt;/h2&gt;

&lt;p&gt;We would like to celebrate our engineers for their ongoing dedication to open source:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Dilip Kumar&lt;/strong&gt; (PostgreSQL &lt;a href="https://www.postgresql.org/community/contributors/#:~:text=Dilip%20Kumar%20(dilipbalaut%20at%20gmail.com)"&gt;Significant Contributor&lt;/a&gt;): Authoring and reviewing core replication, catalog, memory, and performance patches.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Nitin Motiani&lt;/strong&gt;: Authoring core privilege expansions, collation de-escaping, and indexing constraint fixes.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Robert Pang&lt;/strong&gt;: Authoring promotion timing fixes and hardening &lt;code class="inline"&gt;pgfincore&lt;/code&gt; memory safety.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Aniket Jha&lt;/strong&gt;: Hardening &lt;code class="inline"&gt;plpgsql_check&lt;/code&gt; shared memory lock mechanics.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Sunaina Punyani&lt;/strong&gt;: Resolving memory and execution safety in &lt;code class="inline"&gt;pgtt&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We also extend our sincere gratitude to the wider PostgreSQL open source communities—especially the committers, reviewers, and extension maintainers—for their collaborative reviews and shared commitment to keeping PostgreSQL the world’s most advanced open source database.&lt;/p&gt;</content><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/9077739959573559679" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/9077739959573559679" rel="self" type="application/atom+xml"/><link href="http://opensource.googleblog.com/2026/09/google-cloud-investing-in-the-future-of-postgresql-2026-highlights.html" rel="alternate" title="Google Cloud: Investing in the future of PostgreSQL — 2026 highlights" type="text/html"/><link href="at://did:plc:x6bnzgic7duwjxogg7zb3qas/site.standard.document/bvyowgquw2ifz" rel="site.standard.document"/><author><name>Google Open Source</name><uri>http://www.blogger.com/profile/03718388509216889937</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwzJszSMRbAj7eM_f4aXx0OqZW72VjPDjvgV7ew9WiCUvUgdFtqunL5ySeShN7KD_eCNFlYdJY6gDRMjLmC7CzSriHzAHwEdwyOYdbmN2T6GyLf8mgI3OHcY4e9vpsPe6AE_t5lbw3E5cdV91M78Z83vRFHL3Ny_wiGTDJsrPGkKPZ6cco0wwlWhaLt-8/s72-c/OSS-Logo-Banner.png" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-8698702854482141883.post-1037608601989260125</id><published>2026-09-17T11:30:00.000-07:00</published><updated>2026-09-17T11:30:00.113-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Community"/><category scheme="http://www.blogger.com/atom/ns#" term="Events"/><category scheme="http://www.blogger.com/atom/ns#" term="Google Summer of Code"/><category scheme="http://www.blogger.com/atom/ns#" term="GSoC"/><category scheme="http://www.blogger.com/atom/ns#" term="Mentorship"/><title type="text">Reconnecting with the heart of open source: Highlights from our 2026 GSoC India tour</title><content type="html">&lt;p class="byline"&gt;by &lt;author&gt;Mary Radomile&lt;/author&gt;, &lt;author&gt;Stephanie Taylor&lt;/author&gt; &amp;amp; &lt;author&gt;amanda casari&lt;/author&gt;, OSPO&lt;/p&gt;
&lt;meta name="twitter:image" content="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUGker7QNLW1ck1VJ99-0QfXXnvsVKHl5HdY9aR51FcHY5HvfXUkYTei-odrap3TuvOgu7YAY08-5kBjWPe_Ha8G0c0raldcAjW5fnnFiJRuvWorfAcoojbHQqgPrDAt_lnkIFMq38Ysfu1FGTPwOPPdjERF1tK_yKtXppcHQocUFEeTpY2y9IUjFiLNY/s1600/gsoc_bengaluru.png"&gt;

&lt;img class="metadata" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUGker7QNLW1ck1VJ99-0QfXXnvsVKHl5HdY9aR51FcHY5HvfXUkYTei-odrap3TuvOgu7YAY08-5kBjWPe_Ha8G0c0raldcAjW5fnnFiJRuvWorfAcoojbHQqgPrDAt_lnkIFMq38Ysfu1FGTPwOPPdjERF1tK_yKtXppcHQocUFEeTpY2y9IUjFiLNY/s1600/gsoc_bengaluru.png" alt="Group photo of over a hundred Google Summer of Code alumni, mentors, and organizers wearing blue GSoC t-shirts gathered in front of a stage banner reading Google Summer of Code Alumni CAMP India 2026 in Bengaluru"&gt;

&lt;p&gt;For over twenty years, &lt;a href="https://g.co/gsoc"&gt;Google Summer of Code&lt;/a&gt; (GSoC) has welcomed new developers into open source by pairing them with experienced mentors on real projects. This spirit is especially vibrant in India, which is home to more than 55% of all global GSoC participants over the last decade.&lt;/p&gt;

&lt;p&gt;This July, our team traveled across Bengaluru and Delhi to host a series of developer events and debut our first-ever GSoC Alumni CAMP, bringing together members of India’s vibrant GSoC alumni community. We engaged directly with current and former GSoC Contributors, Mentors, and project maintainers, experiencing firsthand the passion and energy of the Indian developer ecosystem.&lt;/p&gt;

&lt;div style="text-align: center; margin: 24px 0;"&gt;
  &lt;iframe class="BLOG_video_class" allowfullscreen="" youtube-src-id="gkaAmDeN360" width="100%" height="398" src="https://www.youtube.com/embed/gkaAmDeN360"&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;h2&gt;Community stories: Learning to think and lead as an engineer&lt;/h2&gt;

&lt;p&gt;In both Bengaluru and Delhi, a highlight of the trip was hearing directly how open source and GSoC have fundamentally changed how developers think and work.&lt;/p&gt;

&lt;p&gt;For many attendees, having a dedicated open source mentor through GSoC took the fear out of tackling new and intimidating codebases. One former participant told us they almost walked away from a distributed storage project because it felt too overwhelming: &lt;em&gt;"Storage systems felt impossible. But great mentors taught me how to think, not just how to code."&lt;/em&gt; Another echoed that shift in perspective: &lt;em&gt;"Why am I spending so much time thinking rather than coding? Then I realized that building products is actually about thinking more than coding. GSoC taught me to think like an engineer."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;That shift in mindset turns first-time contributors into long-term open source community leaders. We met one developer who submitted their very first pull request in 2023, started mentoring in 2024, and is now a lead maintainer for &lt;a href="https://play.google.com/store/apps/details?id=fr.free.nrw.commons&amp;amp;hl=en_US"&gt;a major open source Android app&lt;/a&gt;. We also saw how new contributors to global projects can spark entire local ecosystems—like the &lt;a href="https://www.meetup.com/bangalore-compilers-meetup-group/"&gt;Indian compiler community&lt;/a&gt;, which started with a few GSoC alumni and has rapidly grown into a 3,500+ member network with dozens of meetups across the country.&lt;/p&gt;

&lt;figure class="wide borderless" style="text-align: center; margin: 24px 0;"&gt;
  &lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUGker7QNLW1ck1VJ99-0QfXXnvsVKHl5HdY9aR51FcHY5HvfXUkYTei-odrap3TuvOgu7YAY08-5kBjWPe_Ha8G0c0raldcAjW5fnnFiJRuvWorfAcoojbHQqgPrDAt_lnkIFMq38Ysfu1FGTPwOPPdjERF1tK_yKtXppcHQocUFEeTpY2y9IUjFiLNY/s1600/gsoc_bengaluru.png"&gt;&lt;img alt="Group photo of over a hundred Google Summer of Code alumni, mentors, and organizers wearing blue GSoC t-shirts gathered in front of a stage banner reading Google Summer of Code Alumni CAMP India 2026 in Bengaluru" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUGker7QNLW1ck1VJ99-0QfXXnvsVKHl5HdY9aR51FcHY5HvfXUkYTei-odrap3TuvOgu7YAY08-5kBjWPe_Ha8G0c0raldcAjW5fnnFiJRuvWorfAcoojbHQqgPrDAt_lnkIFMq38Ysfu1FGTPwOPPdjERF1tK_yKtXppcHQocUFEeTpY2y9IUjFiLNY/s1600/gsoc_bengaluru.png" style="max-width: 100%; height: auto;" /&gt;&lt;/a&gt;
  &lt;figcaption style="font-style: italic; color: #555; margin-top: 8px;"&gt;The Google Summer of Code Alumni CAMP — Bengaluru&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;h2&gt;Open source mentorship in the age of AI&lt;/h2&gt;

&lt;p&gt;Across our sessions and unconference discussions, one recurring conversation resonated above all others: the evolving role of mentorship in an AI-assisted world. The human element of open source is more critical than ever. As one attendee noted:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;em&gt;AI can generate the slides, but the context takes nine years.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We heard over and over from participants—open source maintainer time and attention remains a limited resource. CAMP participants presented multiple examples of where AI is proving effective for generating starter templates, writing tests, or fixing syntax. Even with this, what open source projects fundamentally need hasn't changed: maintainer time, clear architectural vision, and thoughtful code reviews.&lt;/p&gt;

&lt;p&gt;Beyond code quality, the industry agrees that &lt;a href="https://github.blog/open-source/maintainers/rethinking-open-source-mentorship-in-the-ai-era/"&gt;dedicated mentorship is the vital bridge&lt;/a&gt; between temporary contributions and long-term project stewardship. Without structured guidance, newcomers often struggle with unwritten project norms, complex codebase histories, or public review feedback, leading to contributor burnout and abandoned pull requests. Programs like GSoC transform casual interest into a sustainable maintainer pipeline by fostering psychological safety, belonging, and accountable relationships. &lt;strong&gt;By investing directly in maintainer time and human connection, GSoC ensures that open source projects remain secure and resilient for generations to come.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;What’s next?&lt;/h2&gt;

&lt;p&gt;If our trip across Bengaluru and Delhi taught us anything, it’s that the strength of open source has always come from the communities we build together, not the volume of code any one person can ship.&lt;/p&gt;

&lt;p&gt;As developer tools evolve, our main focus for GSoC is preserving the mentorship experience that makes the program special. Manually sifting through low-quality, automated submissions wastes maintainer time and drains the energy of volunteers who signed up to mentor new peers and colleagues. We're ready to tackle these challenges directly by optimizing our program to assist and protect our community of open source maintainers, so &lt;em&gt;they&lt;/em&gt; can focus on leading their open source projects and helping new engineers grow. You can stay updated on GSoC’s program rules and timelines at &lt;a href="https://g.co/gsoc"&gt;g.co/gsoc&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;To everyone who joined us in Bengaluru and Delhi—thank you for your energy, your endless inspiration, and your dedication to open source!&lt;/p&gt;</content><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/1037608601989260125" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/1037608601989260125" rel="self" type="application/atom+xml"/><link href="http://opensource.googleblog.com/2026/09/reconnecting-with-the-heart-of-open-source-highlights-from-our-2026-gsoc-india-tour.html" rel="alternate" title="Reconnecting with the heart of open source: Highlights from our 2026 GSoC India tour" type="text/html"/><link href="at://did:plc:x6bnzgic7duwjxogg7zb3qas/site.standard.document/2wtmnkuorfcux" rel="site.standard.document"/><author><name>Google Open Source</name><uri>http://www.blogger.com/profile/03718388509216889937</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUGker7QNLW1ck1VJ99-0QfXXnvsVKHl5HdY9aR51FcHY5HvfXUkYTei-odrap3TuvOgu7YAY08-5kBjWPe_Ha8G0c0raldcAjW5fnnFiJRuvWorfAcoojbHQqgPrDAt_lnkIFMq38Ysfu1FGTPwOPPdjERF1tK_yKtXppcHQocUFEeTpY2y9IUjFiLNY/s72-c/gsoc_bengaluru.png" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-8698702854482141883.post-9127260709826353523</id><published>2026-09-03T09:00:00.000-07:00</published><updated>2026-09-03T10:59:56.693-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="open data sets"/><category scheme="http://www.blogger.com/atom/ns#" term="Open Source"/><title type="text">How much should you trust your OSS data?</title><content type="html">&lt;p&gt;&amp;nbsp;&lt;span face="Roboto, sans-serif" style="color: #444444; font-size: 12pt; font-style: italic; white-space: pre-wrap;"&gt;by Sophia Vargas, Google Open Source &amp;amp; Andrew Nesbitt, Ecosyste.ms&lt;/span&gt;&lt;/p&gt;&lt;span id="docs-internal-guid-fb4f4943-7fff-22da-18dc-bd9d509a2521"&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Every second, open source contribution quietly shapes the software we rely on, and yet our view of this open ecosystem is surprisingly opaque. Open source development is performed in public spaces — we can see the commits, issues and comments, the APIs and endpoints are free to use — the logs are just sitting there, so why can’t we just collect all of the data?&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-style: italic; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;…&lt;/span&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Said every researcher, everywhere. However in most cases of open source related data, we are only looking at &lt;/span&gt;&lt;a href="https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&amp;amp;arnumber=9463079" style="text-decoration: none;"&gt;&lt;span face="Arial, sans-serif" style="color: #1155cc; font-size: 11pt; font-variant: normal; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;part of the whole&lt;/span&gt;&lt;/a&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;. Why am I writing this post? Because many of us (including many business decision-makers) &lt;/span&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"&gt;are too comfortable with unsubstantiated data. &lt;/span&gt;&lt;a href="https://arxiv.org/abs/2106.15611" style="text-decoration: none;"&gt;&lt;span face="Arial, sans-serif" style="color: #1155cc; font-size: 11pt; font-variant: normal; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;We’ve gotten used to it&lt;/span&gt;&lt;/a&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;. Our models assume that it's &lt;/span&gt;&lt;a href="https://arxiv.org/abs/2203.10384" style="text-decoration: none;"&gt;&lt;span face="Arial, sans-serif" style="color: #1155cc; font-size: 11pt; font-variant: normal; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;smelly&lt;/span&gt;&lt;/a&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt; and we adjust the logic and weights to compromise. When it comes to open source, our confidence is even lower, even though our resulting decisions can&lt;/span&gt;&lt;a href="https://www.youtube.com/watch?v=8Yr2gGsgRsY" style="text-decoration: none;"&gt;&lt;span face="Arial, sans-serif" style="color: #1155cc; font-size: 11pt; font-variant: normal; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt; directly impact individuals&lt;/span&gt;&lt;/a&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt; whom we collectively depend on.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Let’s consider one of my favorite datasets: &lt;/span&gt;&lt;a href="https://www.gharchive.org/" style="text-decoration: none;"&gt;&lt;span face="Arial, sans-serif" style="color: #1155cc; font-size: 11pt; font-variant: normal; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;GHarchive&lt;/span&gt;&lt;/a&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;. Started as a &lt;/span&gt;&lt;a href="https://changelog.com/podcast/144" style="text-decoration: none;"&gt;&lt;span face="Arial, sans-serif" style="color: #1155cc; font-size: 11pt; font-variant: normal; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;hobby project&lt;/span&gt;&lt;/a&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt; in 2011, this crawler has amassed more than 15 years of event data from GitHub. While this source provides a historical record of open source development on GitHub, as a real-time or comprehensive source of metrics, it's unreliable and should not be a source for volume-based metrics.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;In 2025, GHarchive captured 14% fewer events than in 2024, despite steady growth in &lt;/span&gt;&lt;a href="https://innovationgraph.github.com/global-metrics/repositories" style="text-decoration: none;"&gt;&lt;span face="Arial, sans-serif" style="color: #1155cc; font-size: 11pt; font-variant: normal; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;platform adoption&lt;/span&gt;&lt;/a&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;.&amp;nbsp; Since 2025, we estimate that data retention in GHarchive has fallen to ~50% and in 2026 it may be as low as 20% for some event types (see figure below). Prior to 2025, you could make the general assumption that the majority of &lt;/span&gt;&lt;a href="https://docs.github.com/en/rest/using-the-rest-api/github-event-types" style="text-decoration: none;"&gt;&lt;span face="Arial, sans-serif" style="color: #1155cc; font-size: 11pt; font-variant: normal; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;events&lt;/span&gt;&lt;/a&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt; would be represented in this pipeline. Since 2025, we must now assume we may be missing at least half of events and possibly more — not to mention all of the additional activity that’s left out of the event API (see GitHub’s &lt;/span&gt;&lt;a href="https://docs.github.com/en/graphql" style="text-decoration: none;"&gt;&lt;span face="Arial, sans-serif" style="color: #1155cc; font-size: 11pt; font-variant: normal; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;GraphQL&lt;/span&gt;&lt;/a&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt; API.)&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;img height="368" src="https://blogger.googleusercontent.com/img/a/AVvXsEhWI1EZBXgBioSYJ4vwVDAv5EZxIsFj7tna-3C-FSrZ5d-eCgOQIj97eycf_kjPnZW7JfRZyfYdbf6Wai8yIQEotI8pAbCkaxYREItO_MrZeZoNmweU2n42AXxTx4gZdRTThCuL4V6iyEnVU3hPx1BKn14hzP2Ro3rOHt4FL7ZFCH8zTaq_v1N2wPoSmb-X" style="border-color: currentcolor; border-image: none; border-style: none; border-width: medium; border: none;" width="597" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;The &lt;/span&gt;&lt;a href="https://github.com/igrigorik/gharchive.org" style="text-decoration: none;"&gt;&lt;span face="Arial, sans-serif" style="color: #1155cc; font-size: 11pt; font-variant: normal; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;crawler&lt;/span&gt;&lt;/a&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt; logic behind this dataset is simple: give me all the events from the &lt;/span&gt;&lt;a href="https://docs.github.com/en/rest/using-the-rest-api/github-event-types" style="text-decoration: none;"&gt;&lt;span face="Arial, sans-serif" style="color: #1155cc; font-size: 11pt; font-variant: normal; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;GitHub Event&lt;/span&gt;&lt;/a&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt; stream (e.g. opening pull requests, commenting on issues etc). However, the GitHub API has &lt;/span&gt;&lt;a href="https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api" style="text-decoration: none;"&gt;&lt;span face="Arial, sans-serif" style="color: #1155cc; font-size: 11pt; font-variant: normal; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;limitations&lt;/span&gt;&lt;/a&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt; on the number of calls per hour as well as the number of events listed, so for days with a lot of spiky activity, the crawler will miss some. Although we never assumed that this dataset was collecting 100% of events, the current architecture is showing signs of strain. We suspect that this is due, in part, to the rate of &lt;/span&gt;&lt;a href="https://innovationgraph.github.com/global-metrics/repositories" style="text-decoration: none;"&gt;&lt;span face="Arial, sans-serif" style="color: #1155cc; font-size: 11pt; font-variant: normal; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;repository growth&lt;/span&gt;&lt;/a&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt; and adoption of automated tooling on GitHub. In 2011, GitHub announced it reached &lt;/span&gt;&lt;a href="https://en.wikipedia.org/wiki/Timeline_of_GitHub" style="text-decoration: none;"&gt;&lt;span face="Arial, sans-serif" style="color: #1155cc; font-size: 11pt; font-variant: normal; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;2 million public repositories&lt;/span&gt;&lt;/a&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;, and by 2026, that figure surpassed &lt;/span&gt;&lt;a href="https://innovationgraph.github.com/global-metrics/repositories" style="text-decoration: none;"&gt;&lt;span face="Arial, sans-serif" style="color: #1155cc; font-size: 11pt; font-variant: normal; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;400 million.&lt;/span&gt;&lt;/a&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;I want to acknowledge that &lt;/span&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"&gt;building and sharing comprehensive open datasets at scale is hard. &lt;/span&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Have you ever built a pipeline only to discover that the variables changed mid year, the payload for one output is getting truncated, all your joins broke because one side of the dataset is case sensitive … I could go on. And these examples are just ordinary data issues. Building a dataset at the scale of GitHub where “Every second, &lt;/span&gt;&lt;a href="https://github.blog/news-insights/octoverse/octoverse-a-new-developer-joins-github-every-second-as-ai-leads-typescript-to-1/" style="text-decoration: none;"&gt;&lt;span face="Arial, sans-serif" style="color: #1155cc; font-size: 11pt; font-variant: normal; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;more than one new developer on average joined GitHub—over 36 million in the past year&lt;/span&gt;&lt;/a&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;”—you start running into a new set of challenges.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;My own journey with open source related data began when I repeatedly found myself questioning how much we could trust our own &lt;/span&gt;&lt;a href="https://opensource.googleblog.com/2026/08/adapting-open-source-practices-to-an-ai-first-world-a-retrospective-on-2025.html" style="text-decoration: none;"&gt;&lt;span face="Arial, sans-serif" style="color: #1155cc; font-size: 11pt; font-variant: normal; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;metrics&lt;/span&gt;&lt;/a&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;. To expand my understanding of the nuances and the limitations of open source related datasets, I reached out to &lt;/span&gt;&lt;a href="https://nesbitt.io/" style="text-decoration: none;"&gt;&lt;span face="Arial, sans-serif" style="color: #1155cc; font-size: 11pt; font-variant: normal; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;Andrew Nesbitt&lt;/span&gt;&lt;/a&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;, who has spent years digging in data trenches for the benefit of the community. Together we converged on the following issues that we wanted to highlight for the broader community.&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span style="font-size: 20pt; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span style="font-size: 20pt; white-space: pre-wrap;"&gt;Assembling: Assume there will be problems&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;When I asked Andrew &lt;/span&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-style: italic; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;‘can you summarize the challenges you have faced assembling comprehensive datasets?’ —&lt;/span&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"&gt;“I just assume I'm going to have a terrible time anyway, so I start with my best effort and fill in the gaps”. &lt;/span&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;While disappointing, this aligned with most data aggregation methods I’ve reviewed—tools such as &lt;/span&gt;&lt;a href="https://chaoss.github.io/grimoirelab/" style="text-decoration: none;"&gt;&lt;span face="Arial, sans-serif" style="color: #1155cc; font-size: 11pt; font-variant: normal; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;Grimoire labs&lt;/span&gt;&lt;/a&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt; and &lt;/span&gt;&lt;a href="https://ossinsight.io/" style="text-decoration: none;"&gt;&lt;span face="Arial, sans-serif" style="color: #1155cc; font-size: 11pt; font-variant: normal; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;OSS insights&lt;/span&gt;&lt;/a&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt; also require multiple processes for collection, combination and reconciliation. Even with these approaches, many sources have missing, incomplete, or inconsistent information.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"&gt;One source is probably not enough. &lt;/span&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;If you are considering the use of an open source project, you may want to know how many maintainers work on this project, what versions are available, what their dependencies are and any active vulnerabilities or known issues. Each of these queries requires a distinct source—the development history, the dependency graph, the CVE database, etc. &lt;/span&gt;&lt;a href="http://ecosyste.ms" style="text-decoration: none;"&gt;&lt;span face="Arial, sans-serif" style="color: #1155cc; font-size: 11pt; font-variant: normal; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;Ecosyste.ms&lt;/span&gt;&lt;/a&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt; strives to pull this information together into one place, but combining data from 1000+ datasets has its own unique set of challenges.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;For example, &lt;/span&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"&gt;my index is probably not your index. &lt;/span&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;One perennial issue is inconsistent naming conventions across sources. Beyond variable type and format, repository names, versions, packages, tags, licenses, urls, etc. tend to be unique across platforms. Some are case sensitive, there are often duplicates, and anyone can change a name at any time… I’ve been keenly following the adoption of &lt;/span&gt;&lt;a href="https://github.com/package-url" style="text-decoration: none;"&gt;&lt;span face="Arial, sans-serif" style="color: #1155cc; font-size: 11pt; font-variant: normal; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;purl&lt;/span&gt;&lt;/a&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt; and &lt;/span&gt;&lt;a href="https://www.softwareheritage.org/software-hash-identifier-swhid/" style="text-decoration: none;"&gt;&lt;span face="Arial, sans-serif" style="color: #1155cc; font-size: 11pt; font-variant: normal; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;SWHID&lt;/span&gt;&lt;/a&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;, but so far I have not found one name to rule them all.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"&gt;Now we have to keep this up to date: &lt;/span&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;At the moment, there is no consistent way of sharing updates across platforms. Changes to names, APIs, deletions, etc. are more often discovered by errors and breakage than by scouring release notes. To keep Ecosyste.ms up to date, Andrew has written multiple &lt;/span&gt;&lt;a href="https://github.com/ecosyste-ms/repos/blob/main/docs/syncing.md" style="text-decoration: none;"&gt;&lt;span face="Arial, sans-serif" style="color: #1155cc; font-size: 11pt; font-variant: normal; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;syncing processes&lt;/span&gt;&lt;/a&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt; that identify or infer updates that need to be accounted for. I asked Andrew ‘&lt;/span&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-style: italic; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;If you could ask a platform/data source to change one thing, what would it be?’, &lt;/span&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"&gt;“Can I crawl an endpoint that's just NEW stuff?’&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span style="font-size: 20pt; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span style="font-size: 20pt; white-space: pre-wrap;"&gt;Consuming: Design your pipeline for your use case&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Because of LLMs,&lt;/span&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"&gt; “it's now easier for anyone to try to access and build reports”&lt;/span&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;. But those building quick reports are likely not going to go through the pain of being comprehensive. This is where aggregated sources like GHarchive and Ecosyste.ms thrive. As data providers, we’d love if data consumers knew that:&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"&gt;How you collect data matters. &lt;/span&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;If everyone wanted the same dataset, in the same format, at the same time, it would be simple. Depending on how the data is stored—centralized vs distributed and cached, relational vs graph, etc. —queries could be more efficient (in cost and computation) than exports or bulk requests faster than individual requests. This all depends on the topology of the infrastructure and the dataset. In a perfect world, data producers would design their architecture for their top user journeys. However open source related datasets serve a wide variety of user personas from corporations to non-profits, researchers to individual users, maintainers, funders, and many more, with a variety of demands from historical deep dives to realtime feedback. Data producers can’t design for all of these cases, so my challenge to them is to be more open about the best way to access this information.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;At the end of the day, we have to &lt;/span&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"&gt;respect the &lt;/span&gt;&lt;a href="https://www.opensourcestories.org/stories/2023/critical-human-infrastructure/" style="text-decoration: none;"&gt;&lt;span face="Arial, sans-serif" style="color: #1155cc; font-size: 11pt; font-variant: normal; font-weight: 700; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;human infrastructure&lt;/span&gt;&lt;/a&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"&gt;: &lt;/span&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Open source-related datasets are riddled with personally identifiable information (PII). Some individuals may be comfortable sharing their information with fellow contributors, but seeing it aggregated across platforms can be uncomfortable. Any source with PII should be handled with care: anonymize when you can and ensure you are in alignment with policies and regulations. Open source communities are real people so please, consume their data responsibly.&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span style="font-size: 20pt; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span style="font-size: 20pt; white-space: pre-wrap;"&gt;Interpreting: Never stop asking questions&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;While many have moved on from ‘data-driven’ to ‘AI-enabled’, the fact remains that ALL AI SYSTEMS DEPEND ON &lt;/span&gt;&lt;a href="https://hackernoon.com/the-ai-hierarchy-of-needs-18f111fcc007" style="text-decoration: none;"&gt;&lt;span face="Arial, sans-serif" style="color: #1155cc; font-size: 11pt; font-variant: normal; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;DATA&lt;/span&gt;&lt;/a&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;. Our data about open source will continue to be incomplete and imperfect, but by asking questions about our sources, acknowledging the gaps, and considering both the technical and human processes behind open source development, we can refine and improve on how we interpret our insights and models even if they don’t completely reflect reality.&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;</content><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/9127260709826353523" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/9127260709826353523" rel="self" type="application/atom+xml"/><link href="http://opensource.googleblog.com/2026/09/how-much-should-you-trust-your-oss-data.html" rel="alternate" title="How much should you trust your OSS data?" type="text/html"/><link href="at://did:plc:x6bnzgic7duwjxogg7zb3qas/site.standard.document/bxeofcbitcqfn" rel="site.standard.document"/><author><name>KD</name><uri>http://www.blogger.com/profile/01084369274473434450</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/a/AVvXsEhWI1EZBXgBioSYJ4vwVDAv5EZxIsFj7tna-3C-FSrZ5d-eCgOQIj97eycf_kjPnZW7JfRZyfYdbf6Wai8yIQEotI8pAbCkaxYREItO_MrZeZoNmweU2n42AXxTx4gZdRTThCuL4V6iyEnVU3hPx1BKn14hzP2Ro3rOHt4FL7ZFCH8zTaq_v1N2wPoSmb-X=s72-c" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-8698702854482141883.post-4345096551142443451</id><published>2026-08-18T11:30:00.000-07:00</published><updated>2026-08-18T11:30:00.185-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AI"/><category scheme="http://www.blogger.com/atom/ns#" term="CEL"/><category scheme="http://www.blogger.com/atom/ns#" term="Common Expression Language"/><category scheme="http://www.blogger.com/atom/ns#" term="formal verification"/><category scheme="http://www.blogger.com/atom/ns#" term="open source"/><category scheme="http://www.blogger.com/atom/ns#" term="security"/><title type="text">Securing the agentic era: Introducing formal verification for CEL</title><content type="html">&lt;p class="byline"&gt;by &lt;author&gt;Sean Huh&lt;/author&gt;, Common Expression Language Team&lt;/p&gt;

&lt;meta name="twitter:image" content="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuKigzFt1kkyx3eqlthONlcc6yKytKeoDmT2ADbA8GpreYwX_3zW2faeNB1D7F-NImDReaJs0TKdTB-gJjzKxhKpUaEXJef-PU2gIAJEfSrmvoUrLiBcyfqcxBrfYkP2TKUSIsY9SnuFVIAWVr_zFoJhyphenhyphen-pg_7XTlpt1dvs_yCce1obzhNJJkIC2umV8A/s1600/Cel_FullColor_RGB_notype.png"&gt;
&lt;img class="metadata" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuKigzFt1kkyx3eqlthONlcc6yKytKeoDmT2ADbA8GpreYwX_3zW2faeNB1D7F-NImDReaJs0TKdTB-gJjzKxhKpUaEXJef-PU2gIAJEfSrmvoUrLiBcyfqcxBrfYkP2TKUSIsY9SnuFVIAWVr_zFoJhyphenhyphen-pg_7XTlpt1dvs_yCce1obzhNJJkIC2umV8A/s1600/Cel_FullColor_RGB_notype.png" alt="CEL Formal Verification header graphic"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuKigzFt1kkyx3eqlthONlcc6yKytKeoDmT2ADbA8GpreYwX_3zW2faeNB1D7F-NImDReaJs0TKdTB-gJjzKxhKpUaEXJef-PU2gIAJEfSrmvoUrLiBcyfqcxBrfYkP2TKUSIsY9SnuFVIAWVr_zFoJhyphenhyphen-pg_7XTlpt1dvs_yCce1obzhNJJkIC2umV8A/s1600/Cel_FullColor_RGB_notype.png" class="header-image"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuKigzFt1kkyx3eqlthONlcc6yKytKeoDmT2ADbA8GpreYwX_3zW2faeNB1D7F-NImDReaJs0TKdTB-gJjzKxhKpUaEXJef-PU2gIAJEfSrmvoUrLiBcyfqcxBrfYkP2TKUSIsY9SnuFVIAWVr_zFoJhyphenhyphen-pg_7XTlpt1dvs_yCce1obzhNJJkIC2umV8A/s1600/Cel_FullColor_RGB_notype.png" alt="CEL Formal Verification header graphic"/&gt;&lt;/a&gt;

&lt;p&gt;We are rapidly entering an era where AI agents can autonomously draft, refactor, and deploy policies that protect our users and our systems. But this velocity introduces a vital question: &lt;em&gt;How do we trust AI-generated policies?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Unit tests may fail to cover the infinite set of possible inputs that occur in production; thus, an AI agent that overfits its policy to existing tests may fail spectacularly in production. To secure automated policy authoring, we must combine heuristic testing with mathematical proofs.&lt;/p&gt;

&lt;p&gt;We are thrilled to announce the Common Expression Language (&lt;a href="https://cel.dev/"&gt;CEL&lt;/a&gt;) &lt;a href="https://github.com/cel-expr/cel-java/tree/main/verifier"&gt;Formal Verification Framework&lt;/a&gt; is now available. Powered by the &lt;a href="https://github.com/Z3Prover/z3"&gt;Z3 theorem prover&lt;/a&gt;, this framework allows you to prove the correctness of your CEL expressions and policies, serving as the ultimate safety net for the agentic policy.&lt;/p&gt;

&lt;p&gt;Automated reasoning definitively answers questions like:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;“Is there any combination of inputs that allows an unapproved request into production?”&lt;/li&gt;
  &lt;li&gt;“Are we absolutely certain this AI-refactored policy matches the original behavior?”&lt;/li&gt;
  &lt;li&gt;“Can a bad actor manipulate this rule to force an evaluation error?”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Formal verification establishes mathematical certainty across the infinite spectrum of inputs. Proven policies protect your users and system while giving auditors clear proof of compliance.&lt;/p&gt;

&lt;p&gt;To see these capabilities in action, watch our video demonstrating how the CEL Verifier REPL catches subtle logic flaws in seconds:&lt;/p&gt;
&lt;iframe class="BLOG_video_class" allowfullscreen="true" youtube-src-id="pQ80ODOnQAs" width="100%" height="398" src="https://www.youtube.com/embed/pQ80ODOnQAs"&gt;&lt;/iframe&gt;

&lt;h2&gt;Proving rules from the ground up&lt;/h2&gt;

&lt;p&gt;Getting started with formal verification doesn’t require learning complex architectures right away. You can evaluate simple standalone CEL expressions to catch edge cases that tests easily miss.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;(Note: The examples below use our interactive REPL syntax—check out the &lt;a href="https://github.com/cel-expr/cel-java/blob/main/verifier/tools/README.md"&gt;REPL documentation&lt;/a&gt; to follow along!)&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;1. Catching logic bugs in simple expressions (Equivalence)&lt;/h3&gt;

&lt;p&gt;How do you guarantee a refactored rule behaves identically to the original? Suppose we have a policy that allows ports 80 or 443 in production. An agent might factor the &lt;em&gt;is_prod&lt;/em&gt; check like so:&lt;/p&gt;

&lt;pre&gt;&lt;code class="codebox textproto"&gt;equiv
  (is_prod &amp;amp;&amp;amp; port == 80) || (is_prod &amp;amp;&amp;amp; port == 443) 
  &amp;lt;=&amp;gt;
  is_prod &amp;amp;&amp;amp; port == 80 || port == 443&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Because logical AND has a higher operator precedence than OR, the verifier immediately flags &lt;strong&gt;Violated&lt;/strong&gt;, and outputs the exact exploit: in a non-production environment (&lt;em&gt;is_prod = false&lt;/em&gt;), the rule mistakenly allows port 443. Fixing the grouping parentheses returns &lt;strong&gt;Verified&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;2. Enforcing exhaustive guardrails (Validity)&lt;/h3&gt;

&lt;p&gt;This capability scales directly to use cases like Kubernetes Validating Admission Policies. Suppose an engineer writes a guardrail expression that assumes every request will either be on a low port (under 80) or a high port (over 1024):&lt;/p&gt;

&lt;pre&gt;&lt;code class="codebox textproto"&gt;valid request.port &amp;gt; 1024 || request.port &amp;lt;= 80&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;When we check validity (whether an expression holds true for all inputs), the verifier exhaustively searches the entire integer space, flags &lt;strong&gt;Violated&lt;/strong&gt;, and outputs the exact counterexample:&lt;/p&gt;

&lt;pre&gt;&lt;code class="codebox textproto"&gt;[VIOLATED] Condition is not always true. Counterexample input:
  request.port = 81&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;3. Guaranteeing security invariants with CEL Policy&lt;/h3&gt;

&lt;p&gt;While the verifier works perfectly with standalone CEL expressions, complex environments compose multiple rules and variables. Here, the &lt;a href="https://github.com/cel-expr/cel-policy"&gt;CEL policy format&lt;/a&gt; shines. Using &lt;em&gt;assume&lt;/em&gt; and &lt;em&gt;assert&lt;/em&gt; blocks, the verifier proves a mathematical implication: if the assumptions hold, the assertions must also hold.&lt;/p&gt;

&lt;pre&gt;&lt;code class="codebox textproto"&gt;name: workload_admission
rule:
  variables:
    - is_admin: 'request.auth.claims.groups.exists(g, g == "admin")'
  match:
    # A subtle flaw introduced during authoring:
    - condition: 'request.is_privileged &amp;amp;&amp;amp; request.is_prod'
      output: 'true'
    - condition: 'variables.is_admin || request.has_approval'
      output: 'true'
    - output: 'false'
verification:
  invariants:
    - id: universal_no_unapproved_privileged_prod
      assume:
        - 'request.has_approval == false'
        - 'variables.is_admin == false'
      assert:
        - 'rule.result == false'&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The first condition admits privileged workloads into production without checking for approval or admin status. The verifier flags this and provides an example that exploits the issue:&lt;/p&gt;

&lt;pre&gt;&lt;code class="codebox textproto"&gt;Invariant 'universal_no_unapproved_privileged_prod' violation detected. Counterexample input:
  request.is_privileged = true
  request.is_prod = true
  request.has_approval = false
  request.auth.claims.groups = []&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Assertions and assumptions define the boundaries of acceptable agent behavior, allowing developers to configure CI/CD pipelines to validate AI-generated changes simply and securely.&lt;/p&gt;

&lt;h2&gt;Under the hood: High-fidelity mathematical modeling&lt;/h2&gt;

&lt;p&gt;Translating a dynamic language into the &lt;a href="https://smt.st/SAT_SMT_by_example.pdf"&gt;Satisfiability Modulo Theories&lt;/a&gt; (SMT) domain requires immense engineering rigor to prevent the solver from hanging or hallucinating bugs. Our engine provides:&lt;/p&gt;

&lt;h3&gt;Zero false positives via three-pass taint tracking&lt;/h3&gt;

&lt;p&gt;Traditional verification tools are prone to “solver hallucinations”—reporting fake bugs when encountering custom domain-specific functions or external variables they don’t fully understand. To eliminate this noise, if a potential issue relies on an unmapped custom function, the verifier isolates and flags it as &lt;strong&gt;Inconclusive&lt;/strong&gt; rather than breaking your CI pipeline with a false alarm. This guarantees every &lt;strong&gt;Violation&lt;/strong&gt; report is a 100% real, reproducible bug.&lt;/p&gt;

&lt;h3&gt;Deep structural extensionality&lt;/h3&gt;

&lt;p&gt;The Formal Verification Framework offers configurable-depth &lt;strong&gt;bounded-model checking&lt;/strong&gt; to prevent infinite loops within SMT quantifiers. These configurable limits allow you to control the cost of verification when analyzing deep structure equivalence in expressions like &lt;code class="inline"&gt;[[1], [2]] == [[1], [2]]&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;The mandatory bridge of trust&lt;/h2&gt;

&lt;p&gt;In the agentic era, code writes code. Mathematical proof isn’t just a nice-to-have; it is the fundamental bridge of trust developers require to let AI operate autonomously in their most sensitive systems. Get started with the &lt;a href="https://github.com/cel-expr/cel-java/tree/main/verifier"&gt;CEL Formal Verification Framework&lt;/a&gt;, to take the next step toward a more secure agentic future today!&lt;/p&gt;

&lt;p&gt;Let us know what you think—issues, pull requests, and feedback are always welcome!&lt;/p&gt;
</content><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/4345096551142443451" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/4345096551142443451" rel="self" type="application/atom+xml"/><link href="http://opensource.googleblog.com/2026/08/securing-the-agentic-era-introducing-formal-verification-for-cel.html" rel="alternate" title="Securing the agentic era: Introducing formal verification for CEL" type="text/html"/><link href="at://did:plc:x6bnzgic7duwjxogg7zb3qas/site.standard.document/5snb4deytxmhv" rel="site.standard.document"/><author><name>Google Open Source</name><uri>http://www.blogger.com/profile/03718388509216889937</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuKigzFt1kkyx3eqlthONlcc6yKytKeoDmT2ADbA8GpreYwX_3zW2faeNB1D7F-NImDReaJs0TKdTB-gJjzKxhKpUaEXJef-PU2gIAJEfSrmvoUrLiBcyfqcxBrfYkP2TKUSIsY9SnuFVIAWVr_zFoJhyphenhyphen-pg_7XTlpt1dvs_yCce1obzhNJJkIC2umV8A/s72-c/Cel_FullColor_RGB_notype.png" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-8698702854482141883.post-8391837582359223234</id><published>2026-08-11T11:30:00.000-07:00</published><updated>2026-08-11T11:30:00.113-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Chip Design"/><category scheme="http://www.blogger.com/atom/ns#" term="EDA"/><category scheme="http://www.blogger.com/atom/ns#" term="Open Source"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenROAD"/><category scheme="http://www.blogger.com/atom/ns#" term="Semiconductors"/><title type="text">Google joins the OpenROAD Initiative as principal member to accelerate open source silicon innovation</title><content type="html">&lt;p class="byline"&gt;by &lt;author&gt;Ethan Mahintorabi&lt;/author&gt; &amp;amp; &lt;author&gt;Aaron Cunningham&lt;/author&gt;, Hardware Toolchains Team&lt;/p&gt;

&lt;meta name="twitter:image" content="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwzJszSMRbAj7eM_f4aXx0OqZW72VjPDjvgV7ew9WiCUvUgdFtqunL5ySeShN7KD_eCNFlYdJY6gDRMjLmC7CzSriHzAHwEdwyOYdbmN2T6GyLf8mgI3OHcY4e9vpsPe6AE_t5lbw3E5cdV91M78Z83vRFHL3Ny_wiGTDJsrPGkKPZ6cco0wwlWhaLt-8/s1600/OSS-Logo-Banner.png"&gt;
&lt;img class="metadata" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwzJszSMRbAj7eM_f4aXx0OqZW72VjPDjvgV7ew9WiCUvUgdFtqunL5ySeShN7KD_eCNFlYdJY6gDRMjLmC7CzSriHzAHwEdwyOYdbmN2T6GyLf8mgI3OHcY4e9vpsPe6AE_t5lbw3E5cdV91M78Z83vRFHL3Ny_wiGTDJsrPGkKPZ6cco0wwlWhaLt-8/s1600/OSS-Logo-Banner.png"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwzJszSMRbAj7eM_f4aXx0OqZW72VjPDjvgV7ew9WiCUvUgdFtqunL5ySeShN7KD_eCNFlYdJY6gDRMjLmC7CzSriHzAHwEdwyOYdbmN2T6GyLf8mgI3OHcY4e9vpsPe6AE_t5lbw3E5cdV91M78Z83vRFHL3Ny_wiGTDJsrPGkKPZ6cco0wwlWhaLt-8/s1600/OSS-Logo-Banner.png" class="header-image"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwzJszSMRbAj7eM_f4aXx0OqZW72VjPDjvgV7ew9WiCUvUgdFtqunL5ySeShN7KD_eCNFlYdJY6gDRMjLmC7CzSriHzAHwEdwyOYdbmN2T6GyLf8mgI3OHcY4e9vpsPe6AE_t5lbw3E5cdV91M78Z83vRFHL3Ny_wiGTDJsrPGkKPZ6cco0wwlWhaLt-8/s1600/OSS-Logo-Banner.png"/&gt;&lt;/a&gt;

&lt;p&gt;Google is committed to advancing open source silicon innovation. We are excited to share that we have formally joined the OpenROAD Initiative (ORI), Inc. as a principal member. ORI is a nonprofit public benefit corporation dedicated to the open source electronic design automation (EDA) ecosystem. As part of this commitment, Aaron Cunningham has been appointed to the ORI Governing Board to represent Google and help drive the foundation’s strategic direction, financial sustainability, and technical stewardship.&lt;/p&gt;

&lt;h2&gt;Driving long-term open source sustainability&lt;/h2&gt;

&lt;p&gt;The OpenROAD Initiative’s mission is to advance and sustain the open source EDA ecosystem by fostering collaborative innovation across research, education, and industry—transforming ideas into silicon. Google’s membership aligns directly with ORI’s multi-year sustainability goals, supported by the US National Science Foundation’s (NSF) Pathways to Enable Open-Source Ecosystems (POSE) program.&lt;/p&gt;

&lt;p&gt;With Google’s participation and membership commitment, ORI will continue to strengthen, grow, and sustain its open source ecosystem through key vectors:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Neutral Stewardship&lt;/strong&gt;: Fostering transparent governance where no single company has outsized control over the code, ensuring the project remains inspectable, accessible, and community-driven.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Ecosystem Growth&lt;/strong&gt;: Supporting open and reproducible silicon research, developing robust design flows, and hosting global design contests.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Workforce Development&lt;/strong&gt;: Supporting global silicon skilling initiatives by expanding open source chip design curricula and collaborating with academic institutions and industrial training networks.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Technical Strengthening&lt;/strong&gt;: Enhancing continuous integration and deployment (CI/CD) pipelines, expanding PDK enablement, and improving user experience.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Leadership perspectives&lt;/h2&gt;

&lt;p&gt;“The OpenROAD Initiative is built on the vision of making chip design open and accessible to all—building a collaborative ecosystem driven by transparency and shared innovation,” said Andrew Kahng, board member of the OpenROAD Initiative. “Google’s deep commitment to open source software and hardware makes them an ideal partner. By joining at our highest membership tier, Google is helping to ensure that the open source EDA ecosystem has the stable, long-term governance and financial foundation required to grow.”&lt;/p&gt;

&lt;p&gt;“Cutting-edge silicon research requires robust, inspectable, and reproducible toolchains,” said Drew Wingard, Director of Silicon Infrastructure, Tools and Methodology at Google. “OpenROAD has already made an incredible impact across academia and the broader industry, enabling many successful tapeouts. Google is proud to support the OpenROAD Initiative’s mission to scale this open infrastructure for the next generation of developers.”&lt;/p&gt;

&lt;h2&gt;About the OpenROAD Initiative and OpenROAD project&lt;/h2&gt;

&lt;p&gt;The OpenROAD Initiative, Inc. is a California-based 501(c)(3) nonprofit organization that provides governance, stewardship, and coordination for the OpenROAD ecosystem. The OpenROAD Project is an open source, autonomous digital chip design toolchain that democratizes semiconductor design, enabling a complete RTL-to-GDSII flow in less than 24 hours with no human in the loop. Grounded in academic research and referenced in over 500 peer-reviewed publications, OpenROAD has lowered the barriers to hardware innovation, enabling thousands of students, researchers, and startups worldwide to design and manufacture chips.&lt;/p&gt;

&lt;p&gt;To learn more about the OpenROAD Project and install the toolchain, visit the new &lt;a href="https://www.openroad.org"&gt;OpenROAD website&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For more information about membership tiers and the foundation’s governance, visit the OpenROAD Initiative website at &lt;a href="https://www.openroadinitiative.org"&gt;www.openroadinitiative.org&lt;/a&gt; or contact &lt;a href="mailto:membership@openroadinitiative.org"&gt;membership@openroadinitiative.org&lt;/a&gt;.&lt;/p&gt;
</content><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/8391837582359223234" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/8391837582359223234" rel="self" type="application/atom+xml"/><link href="http://opensource.googleblog.com/2026/08/ google-joins-the-openroad-initiative-as-principal-member-to-accelerate-open-source-silicon-innovation.html" rel="alternate" title="Google joins the OpenROAD Initiative as principal member to accelerate open source silicon innovation" type="text/html"/><link href="at://did:plc:x6bnzgic7duwjxogg7zb3qas/site.standard.document/bcxifuayoqqy4" rel="site.standard.document"/><author><name>Google Open Source</name><uri>http://www.blogger.com/profile/03718388509216889937</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwzJszSMRbAj7eM_f4aXx0OqZW72VjPDjvgV7ew9WiCUvUgdFtqunL5ySeShN7KD_eCNFlYdJY6gDRMjLmC7CzSriHzAHwEdwyOYdbmN2T6GyLf8mgI3OHcY4e9vpsPe6AE_t5lbw3E5cdV91M78Z83vRFHL3Ny_wiGTDJsrPGkKPZ6cco0wwlWhaLt-8/s72-c/OSS-Logo-Banner.png" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-8698702854482141883.post-6216025145884457071</id><published>2026-08-03T11:30:00.000-07:00</published><updated>2026-08-03T12:33:48.113-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AI"/><category scheme="http://www.blogger.com/atom/ns#" term="google open source"/><category scheme="http://www.blogger.com/atom/ns#" term="open source"/><category scheme="http://www.blogger.com/atom/ns#" term="report card"/><category scheme="http://www.blogger.com/atom/ns#" term="security"/><title type="text">Adapting open source practices to an AI-first world: A retrospective on 2025</title><content type="html">&lt;p class="byline"&gt;by &lt;author&gt;Sophia Vargas&lt;/author&gt;, Google Open Source&lt;/p&gt;

&lt;meta name="twitter:image" content="https://storage.googleapis.com/gweb-developer-goog-blog-assets/images/image1_yEPzdSr.original.png"&gt;
&lt;img class="metadata" src="https://storage.googleapis.com/gweb-developer-goog-blog-assets/images/image1_yEPzdSr.original.png"&gt;

&lt;p&gt;Even as AI adoption accelerates and transforms the global technology landscape, open source remains foundational to how Alphabet builds, uses, and collaborates on products for billions of users. Our commitment to open source remains broad and consistent, including sharing our work year-over-year, and reflecting on what we've learned.&lt;/p&gt;

&lt;p&gt;In 2025:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Roughly 10% of Alphabet's full-time workforce actively contributed to open source projects. This contribution ratio has remained steady over the past five years, scaling to match our growth.&lt;/li&gt;
  &lt;li&gt;These open source contributions are not just solely focused on Google. Our top projects by unique contributors at Alphabet include community-led projects such as LLVM, vLLM, Envoy, and Rust, as well as Google-initiated projects like Kubernetes, Apache Beam, and gRPC.&lt;/li&gt;
  &lt;li&gt;In addition, Alphabet projects &lt;em&gt;received&lt;/em&gt; commits from more than 20,000 non-Alphabet affiliated user accounts.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Working together on emerging standards&lt;/h2&gt;

&lt;p&gt;Open source communities continue to provide vital collaborative spaces to define emerging standards, ensuring the interoperability and extensibility for the next generation of technologies. In 2025, we worked with more than &lt;a href="https://developers.googleblog.com/en/a2a-a-new-era-of-agent-interoperability/"&gt;50 partners on the Agent2Agent (A2A) protocol&lt;/a&gt; to enable AI agents to communicate with each other, securely exchange information, and coordinate actions on top of various enterprise platforms and applications. Within weeks of our initial announcement, &lt;a href="https://www.linuxfoundation.org/press/linux-foundation-launches-the-agent2agent-protocol-project-to-enable-secure-intelligent-communication-between-ai-agents"&gt;Google donated the A2A project to the Linux Foundation&lt;/a&gt; as part of our long-standing commitment to develop "open, collaborative ecosystem &amp;ndash; offering greater autonomy and multiplying productivity."&lt;/p&gt;

&lt;figure class="wide borderless"&gt;
  &lt;a href="https://storage.googleapis.com/gweb-developer-goog-blog-assets/images/image1_yEPzdSr.original.png"&gt;&lt;img alt="Google Cloud - Partners contributing to the Agent 2 Agent protocol - Accenture, Arize, Articul, ask-ai, Atlassian, BCG, Box, c3.ai, Capgemini, Chronosphere, Cognizant, Cohere, Colibra, Contextual.ai, Cotality, Datadog, and more" src="https://storage.googleapis.com/gweb-developer-goog-blog-assets/images/image1_yEPzdSr.original.png"&gt;&lt;/a&gt;
&lt;/figure&gt;


&lt;h2&gt;Launching tools with transparency&lt;/h2&gt;

&lt;p&gt;Open source licenses provide a framework for anyone to explore, test, fork and expand on our technologies. Over the last 15 years, Google has created more than 15,000 public repositories on GitHub. Today, Google continues to maintain more than 5,000 public repositories on GitHub, and more than 1,500 public repositories on Git-on-Borg. A quick look back to some highlights from our 2025 launches includes:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href="https://blog.google/innovation-and-ai/technology/developers-tools/gemma-3/"&gt;Gemma 3&lt;/a&gt; &amp;ndash; a collection of lightweight &lt;a href="https://opensource.googleblog.com/2024/02/building-open-models-responsibly-gemini-era.html"&gt;open models&lt;/a&gt; built from the same research and technology that powers our Gemini 2.0 models. They are designed to run directly on devices &amp;mdash; from phones and laptops to workstations &amp;mdash; helping developers create AI applications, wherever people need them. Since Gemma&amp;rsquo;s release in 2024, the &lt;a href="https://deepmind.google/models/gemma/gemmaverse/"&gt;Gemmaverse&lt;/a&gt; community has created more than 60,000 Gemma variants. We&amp;rsquo;ve continued work on this collection and in 2026 we released &lt;a href="https://blog.google/innovation-and-ai/technology/developers-tools/gemma-4/"&gt;Gemma 4&lt;/a&gt; under an Apache 2.0 license.&lt;/li&gt;
  &lt;li&gt;&lt;a href="https://developers.googleblog.com/en/agent-development-kit-easy-to-build-multi-agent-applications/"&gt;Agent Development Kit&lt;/a&gt; &amp;ndash; an open-source framework and SDK designed to help developers build, compose, and run both conversational and non-conversational AI agents.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Adjusting our collective security practices&lt;/h2&gt;

&lt;p&gt;As the threat landscape evolves and accelerates in the AI era, we are working on novel solutions to mitigate vulnerabilities at scale and remove some of the burden from overloaded maintainers. In 2025, we introduced several critical security initiatives to support upstream open source projects:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href="https://deepmind.google/blog/introducing-codemender-an-ai-agent-for-code-security/"&gt;&lt;strong&gt;CodeMender&lt;/strong&gt;&lt;/a&gt;: An agent designed to be both reactive, instantly patching new vulnerabilities, and proactive, rewriting and securing existing code and eliminating entire classes of vulnerabilities in the process. In its first six months, we were able to upstream 72 security fixes to open source projects, including some as large as 4.5 million lines of code.&lt;/li&gt;
  &lt;li&gt;&lt;a href="https://blog.google/security/introducing-oss-rebuild-open-source/"&gt;&lt;strong&gt;OSS Rebuild&lt;/strong&gt;&lt;/a&gt;: A security initiative to prevent software supply chain attacks by verifying build provenance. It automates package rebuilding and semantically compares results to upstream artifacts to detect tampered code on registries like PyPI, npm, and &lt;a href="http://Crates.io"&gt;Crates.io&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;a href="https://blog.google/security/announcing-osv-scanner-v2-vulnerability/"&gt;&lt;strong&gt;OSV-Scalibr&lt;/strong&gt;&lt;/a&gt;: (Software Composition Analysis Library) the &lt;a href="https://github.com/google/osv-scalibr"&gt;core engine&lt;/a&gt; for vulnerability scanning used internally and in OSV-Scanner.&lt;/li&gt;
  &lt;li&gt;&lt;a href="https://cloud.google.com/blog/products/identity-security/securing-open-source-credentials-at-scale?e=0"&gt;&lt;strong&gt;Credential Scanning on deps.dev&lt;/strong&gt;&lt;/a&gt;: A service (using &lt;a href="https://opensource.googleblog.com/2025/07/stop-leaked-credentials-in-their-tracks-with-veles-our-new-open-source-secret-scanner.html"&gt;Veles&lt;/a&gt;) that actively scans open-source packages on &lt;a href="http://deps.dev/"&gt;deps.dev&lt;/a&gt; for leaked GCP credentials to prevent account compromise.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Working together to sustain the contributor community&lt;/h2&gt;

&lt;p&gt;Beyond security contributions, we remain committed to providing financial support directly to projects and maintainers. In 2025, the Open Source Programs Office (OSPO) directed $2M in sponsorships and investments to more than 40 open source projects.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://opensource.googleblog.com/2025/08/google-summer-of-code-2025-contributor-statistics.html"&gt;Google Summer of Code celebrated its 21st year&lt;/a&gt; of enabling open source organizations to find, mentor, and onboard new contributors, directly supporting 1,280 individuals to contribute to 185 organizations. Over its lifetime, the global program has connected more than 23,000 participants from 125 countries with over 1,000 open source organizations globally. Moving forward, we recognize the need to evolve our program structures to ensure they continue to effectively support maintainers in the AI era.&lt;/p&gt;

&lt;h2&gt;Evolving the way we work in open spaces&lt;/h2&gt;

&lt;p&gt;Respecting community norms and practices is fundamental to establishing and maintaining trust in open source communities. To ensure we remain supportive members of your community, we encourage projects to document preferred practices and policies in the wake of new technologies. As AI changes the way we work, we are continually evaluating how best to &lt;a href="https://opensource.googleblog.com/2026/06/community-feedback-how-can-corporations-improve-support-for-open-source-maintainers.html"&gt;evolve the way we engage&lt;/a&gt; in open spaces to preserve, prepare and bolster the communities we depend on.&lt;/p&gt;

&lt;p&gt;We are deeply grateful for the many individuals and organizations that have worked with us to create global technologies from which &lt;em&gt;everyone&lt;/em&gt; can benefit. You can continue to learn more about our open source initiatives, ongoing programs, and new projects at &lt;a href="https://opensource.google"&gt;opensource.google&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;Appendix: About this data&lt;/h2&gt;

&lt;p&gt;This report features metrics provided by many teams and programs across Alphabet. In regards to the code and code-adjacent activities data, we wanted to share more details about the derivation of those metrics.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Data sources:&lt;/strong&gt; These data represent the activities of Alphabet employees on public repositories hosted on GitHub and our internal production Git service &lt;a href="https://opensource.google/documentation/reference/glossary#git-on-borg"&gt;Git-on-Borg&lt;/a&gt;. These sources represent a subset of open source activity currently tracked by Google OSPO.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Business and personal:&lt;/strong&gt; Activity on GitHub reflects a mixture of Alphabet projects, third-party projects, experimental efforts, and personal projects. Our metrics report on all of the above unless otherwise specified.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Alphabet contributors:&lt;/strong&gt; Please note that unless additional detail is specified, activity counts attributed to Alphabet open source contributors will include our full-time employees as well as our extended Alphabet community (temps, vendors, contractors, and interns). In 2025, full time employees at Alphabet represented more than 95% of our open source contributors.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;GitHub Accounts:&lt;/strong&gt; For counts of GitHub accounts not affiliated with Alphabet, we cannot assume that one account is equivalent to one person, as multiple accounts could be tied to one individual or bot account.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Active counts:&lt;/strong&gt; Where possible, we will show &amp;lsquo;active users&amp;rsquo; defined by logged activity (excluding &amp;lsquo;WatchEvent&amp;rsquo;) within a specified timeframe (a month, year, etc.) and &amp;lsquo;active repositories&amp;rsquo; and &amp;lsquo;active projects&amp;rsquo; as those that have enough activity to meet our internal active-project criteria and have not been archived.&lt;/li&gt;
&lt;/ul&gt;

</content><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/6216025145884457071" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/6216025145884457071" rel="self" type="application/atom+xml"/><link href="http://opensource.googleblog.com/2026/08/adapting-open-source-practices-to-an-ai-first-world-a-retrospective-on-2025.html" rel="alternate" title="Adapting open source practices to an AI-first world: A retrospective on 2025" type="text/html"/><link href="at://did:plc:x6bnzgic7duwjxogg7zb3qas/site.standard.document/7gky3xyrphi5j" rel="site.standard.document"/><author><name>Google Open Source</name><uri>http://www.blogger.com/profile/03718388509216889937</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author></entry><entry><id>tag:blogger.com,1999:blog-8698702854482141883.post-3791165294719071427</id><published>2026-07-16T11:30:00.000-07:00</published><updated>2026-07-16T20:11:43.890-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="events"/><category scheme="http://www.blogger.com/atom/ns#" term="news"/><category scheme="http://www.blogger.com/atom/ns#" term="open source"/><category scheme="http://www.blogger.com/atom/ns#" term="twios"/><title type="text">This Week in Open Source for July 16, 2026</title><content type="html">&lt;meta name="twitter:image" content="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizuKHbBriafpnCVl8A7gazsybuVNKqwyYE1n5-RfAYhu6i5bN55iTw0LE_S0KLGWBJU9ERHgsnd9lZ3J94PhlE5hpZ5YIeBHH8PjS2yuRciaN7VgqLUISB9Ofpqst0n6tawyH6etvfFro4lqZv2X8EomVGJUTL8CSaHp0XyK3LxbJIhwi6ENKX620R4ME/s1600/header1.png"&gt;
&lt;img class="metadata" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizuKHbBriafpnCVl8A7gazsybuVNKqwyYE1n5-RfAYhu6i5bN55iTw0LE_S0KLGWBJU9ERHgsnd9lZ3J94PhlE5hpZ5YIeBHH8PjS2yuRciaN7VgqLUISB9Ofpqst0n6tawyH6etvfFro4lqZv2X8EomVGJUTL8CSaHp0XyK3LxbJIhwi6ENKX620R4ME/s1600/header1.png"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizuKHbBriafpnCVl8A7gazsybuVNKqwyYE1n5-RfAYhu6i5bN55iTw0LE_S0KLGWBJU9ERHgsnd9lZ3J94PhlE5hpZ5YIeBHH8PjS2yuRciaN7VgqLUISB9Ofpqst0n6tawyH6etvfFro4lqZv2X8EomVGJUTL8CSaHp0XyK3LxbJIhwi6ENKX620R4ME/s1600/header1.png" class="header-image"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizuKHbBriafpnCVl8A7gazsybuVNKqwyYE1n5-RfAYhu6i5bN55iTw0LE_S0KLGWBJU9ERHgsnd9lZ3J94PhlE5hpZ5YIeBHH8PjS2yuRciaN7VgqLUISB9Ofpqst0n6tawyH6etvfFro4lqZv2X8EomVGJUTL8CSaHp0XyK3LxbJIhwi6ENKX620R4ME/s1600/header1.png"/&gt;&lt;/a&gt;
&lt;link rel="site.standard.document" href="at://did:plc:x6bnzgic7duwjxogg7zb3qas/site.standard.document/3mqspv6zwru2t"/&gt;

&lt;p class="byline"&gt;by &lt;author&gt;Daryl Ducharme&lt;/author&gt;, Open Source Programs Office&lt;/p&gt;

&lt;h2&gt;This Week in Open Source for July 16, 2026&lt;/h2&gt;
&lt;p&gt;A look around the world of open source&lt;/p&gt;

&lt;p&gt;We’re diving into another week of open source news and discussions. As the ecosystem continues to evolve, we're seeing more conversations around the intersection of AI workflows, security at scale, and the infrastructure that supports the open web.&lt;/p&gt;

&lt;p&gt;This week, we’re highlighting a few "Open Source Reads" that tackle some of the biggest questions facing our ecosystem today—from the complex ethics of AI-generated workflows to the future of federated social networks. We hope these links provide valuable context as we work together to sustain the critical infrastructure we all rely on.&lt;/p&gt;

&lt;h2&gt;Upcoming Events&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://events.linuxfoundation.org/open-source-days/"&gt;ASWF Open Source Days&lt;/a&gt; (July 19–20) — Los Angeles, CA. Hosted by the &lt;a href="https://www.aswf.io/"&gt;Academy Software Foundation&lt;/a&gt;, focusing on open source software in visual effects (VFX) and animation.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-japan/"&gt;KubeCon + CloudNativeCon Japan 2026&lt;/a&gt; (July 28–30) — Yokohama, Japan. The Cloud Native Computing Foundation's flagship conference in Japan.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.blackhat.com/"&gt;Black Hat&lt;/a&gt; &amp;amp; &lt;a href="https://defcon.org/"&gt;DEF CON 2026&lt;/a&gt; (August 1–9) — Las Vegas, NV. While primarily cybersecurity, both heavily feature open source hacking tools. The Open Source Security Foundation (OpenSSF) also has a major presence here.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://2026.fossy.ca/"&gt;FOSSY&lt;/a&gt; (August 6–9) — Vancouver, Canada. A highly community-focused open source conference emphasizing grassroots participation and collaboration.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://asia.communityovercode.org/"&gt;Community over Code Asia&lt;/a&gt; (August 7–9) — Beijing, China. The Asian edition of the Apache Software Foundation's (ASF) community-first conference.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://events.linuxfoundation.org/open-source-summit-korea/"&gt;Open Source Summit Korea&lt;/a&gt; (August 11–12) — Seoul, South Korea. Hosted by the Linux Foundation, bringing together open source maintainers and enterprises.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.lfasiallc.com/kubecon-cloudnativecon-openinfra-summit-pytorch-conference-china/"&gt;KubeCon + CloudNativeCon + OpenInfra Summit + PyTorch Conference China&lt;/a&gt; (September 7–9) — Shanghai, China. A massive collaborative mega-event uniting open infrastructure, cloud, and AI communities.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.lfopensource.cn/kubecon-cloudnativecon-openinfra-summit-pytorch-conference-china/co-located-events/ospology-ospo-summit/"&gt;OSPOlogy + OSPO Summit&lt;/a&gt; (September 7) — Shanghai, China. Focused on Open Source Program Offices (OSPOs), governance, and corporate open source sustainability.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Open Source Reads and Links&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;[Blog] &lt;a href="https://drensin.medium.com/elephants-goldfish-and-the-new-golden-age-of-software-engineering-c33641a48874"&gt;Elephants, Goldfish and the New Golden Age of Software Engineering&lt;/a&gt; - This isn't directly open source, but with the open source ecosystem trying to find good AI workflows I thought the Elephant-Goldfish model was an interesting take. It makes the distinction between using AI as a toy and using it as a tool.&lt;/li&gt;
&lt;li&gt;[Article] &lt;a href="https://unu.edu/article/open-source-ai-and-the-choice-before-us"&gt;Open-source AI and the Choice Before Us&lt;/a&gt; - The communities with minimal influence on AI development will likely be the most affected by it. This article looks at how strong rules and institutions are needed to guide AI's safe and fair use. The future of AI depends on whether we build systems that include everyone or just deepen existing divides.&lt;/li&gt;
&lt;li&gt;[Article] &lt;a href="https://www.endorlabs.com/learn/mythos-zero-day-patches-project-akrites"&gt;Open source carries the world. Patching it at Mythos-scale can't fall to maintainers alone.&lt;/a&gt; - The past year has shown that AI is speeding up the discovery of vulnerabilities in open source software. Endor Labs is offering a solution to utilize AI to create patching stop gaps for users of the libraries so that maintainers and contributors have the time to create good quality fixes to these vulnerabilities.&lt;/li&gt;
&lt;li&gt;[Blog] &lt;a href="https://bnewbold.leaflet.pub/3mph4hzvbdc2v"&gt;The AT-URI Syntax Mess&lt;/a&gt; - I am very excited about the open social web, especially things happening around the AT protocol. Early misunderstanding led to the current AT URI syntax being invalid. This article looks at the possible ways forward.&lt;/li&gt;
&lt;li&gt;[Article] &lt;a href="https://www.eff.org/deeplinks/2026/04/open-social-web-needs-section-230-survive"&gt;The Open Social Web Needs Section 230 to Survive&lt;/a&gt; - The open web has always been a promise of free speech. When walled garden social media got involved it created some questions around whether free speech applies to the content served by the corporations running those networks. However, the open social web is not run by corporations. It can be, and it can also be run by individuals federating instances or running their own PDS. So, how do we maintain the free speech promise of the internet with this in mind?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Which of these stories will you be chatting about at your next meetup or conference? Let us know! Share with us on our &lt;a href="https://x.com/GoogleOSS"&gt;@GoogleOSS&lt;/a&gt; X account or our &lt;a href="https://bsky.app/profile/opensource.google"&gt;@opensource.google&lt;/a&gt; Bluesky account.&lt;/p&gt;
</content><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/3791165294719071427" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/8698702854482141883/posts/default/3791165294719071427" rel="self" type="application/atom+xml"/><link href="http://opensource.googleblog.com/2026/07/this-week-in-open-source-for-july-16-2026.html" rel="alternate" title="This Week in Open Source for July 16, 2026" type="text/html"/><link href="at://did:plc:x6bnzgic7duwjxogg7zb3qas/site.standard.document/5dbbgrz4cdxa5" rel="site.standard.document"/><author><name>Google Open Source</name><uri>http://www.blogger.com/profile/03718388509216889937</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizuKHbBriafpnCVl8A7gazsybuVNKqwyYE1n5-RfAYhu6i5bN55iTw0LE_S0KLGWBJU9ERHgsnd9lZ3J94PhlE5hpZ5YIeBHH8PjS2yuRciaN7VgqLUISB9Ofpqst0n6tawyH6etvfFro4lqZv2X8EomVGJUTL8CSaHp0XyK3LxbJIhwi6ENKX620R4ME/s72-c/header1.png" width="72"/></entry></feed>