1 2 3 4 5 6 7 8 9 10<!doctype html> 11<html 12 lang="en" 13 dir="ltr"> 14 <head> 15 <meta name="google-signin-client-id" content="157101835696-ooapojlodmuabs2do2vuhhnf90bccmoi.apps.googleusercontent.com"><meta name="google-signin-scope" 16 content="profile email https://www.googleapis.com/auth/developerprofiles https://www.googleapis.com/auth/developerprofiles.award https://www.googleapis.com/auth/devprofiles.full_control.firstparty"><meta property="og:site_name" content="Google Open Source"> 17 <meta property="og:type" content="website"><meta name="theme-color" content="#12b5cb"><meta charset="utf-8"> 18 <meta content="IE=Edge" http-equiv="X-UA-Compatible"> 19 <meta name="viewport" content="width=device-width, initial-scale=1"> 20 21 22 <link rel="manifest" href="/_pwa/opensource/manifest.json" 23 crossorigin="use-credentials"> 24 <link rel="preconnect" href="//www.gstatic.com" crossorigin> 25 <link rel="preconnect" href="//fonts.googleapis.com" crossorigin> 26 <link rel="preconnect" href="//www.google-analytics.com" crossorigin><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Google+Sans:400,500,700|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap"> 27 <link rel="stylesheet" 28 href="//fonts.googleapis.com/css2?family=Material+Icons&family=Material+Symbols+Outlined&display=block"><link rel="stylesheet" href="https://www.gstatic.com/devrel-devsite/prod/vfdb441d2e08dbd9d3e48d8cd72b242388a87bcf7626bf5fb9df50c2bdd4a70fd/opensource/css/app.css"> 29 <link rel="shortcut icon" href="https://www.gstatic.com/devrel-devsite/prod/vfdb441d2e08dbd9d3e48d8cd72b242388a87bcf7626bf5fb9df50c2bdd4a70fd/opensource/images/favicon.png"> 30 <link rel="apple-touch-icon" href="https://www.gstatic.com/devrel-devsite/prod/vfdb441d2e08dbd9d3e48d8cd72b242388a87bcf7626bf5fb9df50c2bdd4a70fd/opensource/images/touchicon-180.png"><link rel="canonical" href="https://opensource.google/about"><link rel="search" type="application/opensearchdescription+xml" 31 title="Google Open Source" href="https://opensource.google/s/opensearch.xml"> 32 <link rel="alternate" hreflang="en" 33 href="https://opensource.google/about" /><link rel="alternate" hreflang="x-default" href="https://opensource.google/about" /><link rel="alternate" hreflang="ar" 34 href="https://opensource.google/about?hl=ar" /><link rel="alternate" hreflang="zh-Hans" 35 href="https://opensource.google/about?hl=zh-cn" /><link rel="alternate" hreflang="id" 36 href="https://opensource.google/about?hl=id" /><link rel="alternate" hreflang="it" 37 href="https://opensource.google/about?hl=it" /><link rel="alternate" hreflang="ja" 38 href="https://opensource.google/about?hl=ja" /><link rel="alternate" hreflang="ko" 39 href="https://opensource.google/about?hl=ko" /><link rel="alternate" hreflang="pt-BR" 40 href="https://opensource.google/about?hl=pt-br" /><link rel="alternate" hreflang="pt" 41 href="https://opensource.google/about?hl=pt" /><link rel="alternate" hreflang="es" 42 href="https://opensource.google/about?hl=es" /><link rel="alternate" hreflang="es-419" 43 href="https://opensource.google/about?hl=es-419" /><link rel="alternate" hreflang="tr" 44 href="https://opensource.google/about?hl=tr" /><title>About | Google Open Source</title> 45 46<meta property="og:title" content="About | Google Open Source"><meta property="og:url" content="https://opensource.google/about"><meta property="og:locale" content="en">
46<script type="application/ld+json"> 47 { 48 "@context": "https://schema.org", 49 "@type": "Article", 50 51 "headline": "About" 52 } 53</script>
53 54 </head> 55 <body class="color-scheme--light" 56 template="landing" 57 theme="cyan" 58 type="article" 59 60 61 62 layout="full" 63 64 65 66 67 68 69 pending> 70 71 <devsite-progress type="indeterminate" id="app-progress"></devsite-progress> 72 73 74 <a href="#main-content" class="skip-link button"> 75 76 Skip to main content 77 </a> 78 <section class="devsite-wrapper"> 79 <devsite-cookie-notification-bar></devsite-cookie-notification-bar> 80 <devsite-header role="banner"> 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104<div class="devsite-header--inner" data-nosnippet> 105 <div class="devsite-top-logo-row-wrapper-wrapper"> 106 <div class="devsite-top-logo-row-wrapper"> 107 <div class="devsite-top-logo-row"> 108 <button type="button" id="devsite-hamburger-menu" 109 class="devsite-header-icon-button button-flat material-icons gc-analytics-event" 110 data-category="Site-Wide Custom Events" 111 data-label="Navigation menu button" 112 visually-hidden 113 aria-label="Open menu"> 114 </button> 115 116<div class="devsite-product-name-wrapper"> 117 118 <a href="/" class="devsite-site-logo-link gc-analytics-event" 119 data-category="Site-Wide Custom Events" data-label="Site logo" track-type="globalNav" 120 track-name="googleOpenSource" track-metadata-position="nav" 121 track-metadata-eventDetail="nav"> 122 123 <picture> 124 125 <img src="https://www.gstatic.com/devrel-devsite/prod/vfdb441d2e08dbd9d3e48d8cd72b242388a87bcf7626bf5fb9df50c2bdd4a70fd/opensource/images/lockup.svg" class="devsite-site-logo" alt="Google Open Source"> 126 </picture> 127 128</a> 129 130 131 132</div> 133 <div class="devsite-top-logo-row-middle"> 134 <div class="devsite-header-upper-tabs"> 135 136 137 138 <devsite-tabs class="upper-tabs"> 139 140 <nav class="devsite-tabs-wrapper" aria-label="Upper tabs"> 141 142 143 <tab > 144 145 <a href="https://opensource.google/events" 146 class="devsite-tabs-content gc-analytics-event " 147 track-metadata-eventdetail="https://opensource.google/events" 148 149 track-type="nav" 150 track-metadata-position="nav - events" 151 track-metadata-module="primary nav" 152 153 154 155 data-category="Site-Wide Custom Events" 156 157 data-label="Tab: Events" 158 159 track-name="events" 160 161 > 162 Events 163 164 </a> 165 166 167 </tab> 168 169 170 171 <tab > 172 173 <a href="https://opensource.google/projects" 174 class="devsite-tabs-content gc-analytics-event " 175 track-metadata-eventdetail="https://opensource.google/projects" 176 177 track-type="nav" 178 track-metadata-position="nav - projects" 179 track-metadata-module="primary nav" 180 181 182 183 data-category="Site-Wide Custom Events" 184 185 data-label="Tab: Projects" 186 187 track-name="projects" 188 189 > 190 Projects 191 192 </a> 193 194 195 </tab> 196 197 198 199 <tab class="devsite-dropdown 200 201 202 203 "> 204 205 <a href="https://opensource.google/programs-and-services" 206 class="devsite-tabs-content gc-analytics-event " 207 track-metadata-eventdetail="https://opensource.google/programs-and-services" 208 209 track-type="nav" 210 track-metadata-position="nav - programs and services" 211 track-metadata-module="primary nav" 212 213 214 215 data-category="Site-Wide Custom Events" 216 217 data-label="Tab: Programs and services" 218 219 track-name="programs and services" 220 221 > 222 Programs and services 223 224 </a> 225 226 <button 227 aria-haspopup="menu" 228 aria-expanded="false" 229 aria-label="Dropdown menu for Programs and services" 230 track-type="nav" 231 track-metadata-eventdetail="https://opensource.google/programs-and-services" 232 track-metadata-position="nav - programs and services" 233 track-metadata-module="primary nav" 234 235 236 data-category="Site-Wide Custom Events" 237 238 data-label="Tab: Programs and services" 239 240 track-name="programs and services" 241 242 243 class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></button> 244 245 246 <div class="devsite-tabs-dropdown" role="menu" aria-label="submenu" hidden> 247 <div class="devsite-tabs-dropdown-content"> 248 249 250 <div class="devsite-tabs-dropdown-column 251 "> 252 253 <ul class="devsite-tabs-dropdown-section 254 "> 255 256 257 258 <li class="devsite-nav-item"> 259 <a href="https://opensource.google/organizations-we-support" 260 261 track-type="nav" 262 track-metadata-eventdetail="https://opensource.google/organizations-we-support" 263 track-metadata-position="nav - programs and services" 264 track-metadata-module="tertiary nav" 265 266 tooltip 267 > 268 269 <div class="devsite-nav-item-title"> 270 Organizations we support 271 </div> 272 273 </a> 274 </li> 275 276 </ul> 277 278 </div> 279 280 </div> 281 </div> 282</tab> 283 284 285 286 <tab > 287 288 <a href="https://opensource.google/documentation/reference" 289 class="devsite-tabs-content gc-analytics-event " 290 track-metadata-eventdetail="https://opensource.google/documentation/reference" 291 292 track-type="nav" 293 track-metadata-position="nav - documentation" 294 track-metadata-module="primary nav" 295 296 297 298 data-category="Site-Wide Custom Events" 299 300 data-label="Tab: Documentation" 301 302 track-name="documentation" 303 304 > 305 Documentation 306 307 </a> 308 309 310 </tab> 311 312 313 314 <tab class="devsite-active"> 315 316 <a href="https://opensource.google/about" 317 class="devsite-tabs-content gc-analytics-event " 318 track-metadata-eventdetail="https://opensource.google/about" 319 320 track-type="nav" 321 track-metadata-position="nav - about" 322 track-metadata-module="primary nav" 323 aria-label="About, selected" 324 325 326 data-category="Site-Wide Custom Events" 327 328 data-label="Tab: About" 329 330 track-name="about" 331 332 > 333 About 334 335 </a> 336 337 338 </tab> 339 340 341 342 <tab > 343 344 <a href="//opensource.googleblog.com" 345 class="devsite-tabs-content gc-analytics-event " 346 track-metadata-eventdetail="//opensource.googleblog.com" 347 348 track-type="nav" 349 track-metadata-position="nav - blog" 350 track-metadata-module="primary nav" 351 352 353 354 data-category="Site-Wide Custom Events" 355 356 data-label="Tab: Blog" 357 358 track-name="blog" 359 360 > 361 Blog 362 363 </a> 364 365 366 </tab> 367 368 369 </nav> 370 371 </devsite-tabs> 372 373 374 </div> 375 376<devsite-search 377 enable-signin 378 enable-search 379 enable-suggestions 380 enable-query-completion 381 382 enable-search-summaries 383 project-name="Google Open Source" 384 tenant-name="Google Open Source" 385 386 387 388 389 390 > 391 <form class="devsite-search-form" action="https://opensource.google/s/results" method="GET"> 392 <div class="devsite-search-container"> 393 <button type="button" 394 search-open 395 class="devsite-search-button devsite-header-icon-button button-flat material-icons" 396 397 aria-label="Open search"></button> 398 <div class="devsite-searchbox"> 399 <input 400 aria-activedescendant="" 401 aria-autocomplete="list" 402 403 aria-label="Search" 404 aria-expanded="false" 405 aria-haspopup="listbox"
406 autocomplete="off" 407 class="devsite-search-field devsite-search-query" 408 name="q" 409 410 placeholder="Search" 411 role="combobox" 412 type="text" 413 value="" 414 > 415 <div class="devsite-search-image material-icons" aria-hidden="true"> 416 417 <svg class="devsite-search-ai-image" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 418 <g clip-path="url(#clip0_6641_386)"> 419 <path d="M19.6 21L13.3 14.7C12.8 15.1 12.225 15.4167 11.575 15.65C10.925 15.8833 10.2333 16 9.5 16C7.68333 16 6.14167 15.375 4.875 14.125C3.625 12.8583 3 11.3167 3 9.5C3 7.68333 3.625 6.15 4.875 4.9C6.14167 3.63333 7.68333 3 9.5 3C10.0167 3 10.5167 3.05833 11 3.175C11.4833 3.275 11.9417 3.43333 12.375 3.65L10.825 5.2C10.6083 5.13333 10.3917 5.08333 10.175 5.05C9.95833 5.01667 9.73333 5 9.5 5C8.25 5 7.18333 5.44167 6.3 6.325C5.43333 7.19167 5 8.25 5 9.5C5 10.75 5.43333 11.8167 6.3 12.7C7.18333 13.5667 8.25 14 9.5 14C10.6667 14 11.6667 13.625 12.5 12.875C13.35 12.1083 13.8417 11.15 13.975 10H15.975C15.925 10.6333 15.7833 11.2333 15.55 11.8C15.3333 12.3667 15.05 12.8667 14.7 13.3L21 19.6L19.6 21ZM17.5 12C17.5 10.4667 16.9667 9.16667 15.9 8.1C14.8333 7.03333 13.5333 6.5 12 6.5C13.5333 6.5 14.8333 5.96667 15.9 4.9C16.9667 3.83333 17.5 2.53333 17.5 0.999999C17.5 2.53333 18.0333 3.83333 19.1 4.9C20.1667 5.96667 21.4667 6.5 23 6.5C21.4667 6.5 20.1667 7.03333 19.1 8.1C18.0333 9.16667 17.5 10.4667 17.5 12Z" fill="#5F6368"/> 420 </g> 421 <defs> 422 <clipPath id="clip0_6641_386"> 423 <rect width="24" height="24" fill="white"/> 424 </clipPath> 425 </defs> 426 </svg> 427 428 </div> 429 <div class="devsite-search-shortcut-icon-container" aria-hidden="true"> 430 <kbd class="devsite-search-shortcut-icon">/</kbd> 431 </div> 432 </div> 433 </div> 434 </form> 435 <button type="button" 436 search-close 437 class="devsite-search-button devsite-header-icon-button button-flat material-icons" 438 439 aria-label="Close search"></button> 440</devsite-search> 441 442 </div> 443 444 445 446 447 448 449 450 451 452 453 454 455<devsite-language-selector> 456 <ul role="presentation"> 457 458 459 <li role="presentation"> 460 <a role="menuitem" lang="en" 461 >English</a> 462 </li> 463 464 <li role="presentation"> 465 <a role="menuitem" lang="es" 466 >Español</a> 467 </li> 468 469 <li role="presentation"> 470 <a role="menuitem" lang="es_419" 471 >Español â América Latina</a> 472 </li> 473 474 <li role="presentation"> 475 <a role="menuitem" lang="id" 476 >Indonesia</a> 477 </li> 478 479 <li role="presentation"> 480 <a role="menuitem" lang="it" 481 >Italiano</a> 482 </li> 483 484 <li role="presentation"> 485 <a role="menuitem" lang="pt" 486 >Português</a> 487 </li> 488 489 <li role="presentation"> 490 <a role="menuitem" lang="pt_br" 491 >Português â Brasil</a> 492 </li> 493 494 <li role="presentation"> 495 <a role="menuitem" lang="tr" 496 >Türkçe</a> 497 </li> 498 499 <li role="presentation"> 500 <a role="menuitem" lang="ar" 501 >Ø§ÙØ¹Ø±Ø¨ÙÙØ©</a> 502 </li> 503 504 <li role="presentation"> 505 <a role="menuitem" lang="zh_cn" 506 >䏿 â ç®ä½</a> 507 </li> 508 509 <li role="presentation"> 510 <a role="menuitem" lang="ja" 511 >æ¥æ¬èª</a> 512 </li> 513 514 <li role="presentation"> 515 <a role="menuitem" lang="ko" 516 >íêµì´</a> 517 </li> 518 519 </ul> 520</devsite-language-selector> 521 522 523 524 525 526 527 528 <devsite-user 529 530 531 enable-profiles 532 533 534 id="devsite-user"> 535 536 537 <span class="button devsite-top-button" aria-hidden="true" visually-hidden>Sign in</span> 538 539 </devsite-user> 540 541 542 543 </div> 544 </div> 545 </div> 546 547 548 549 <div class="devsite-collapsible-section 550 551 devsite-header-no-lower-tabs 552 "> 553 <div class="devsite-header-background"> 554 555 556 </div> 557 </div> 558 559</div> 560 561 562 563 564 565 566</devsite-header> 567 <devsite-book-nav scrollbars hidden> 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591<div class="devsite-book-nav-filter" 592 hidden> 593 <span class="filter-list-icon material-icons" aria-hidden="true"></span> 594 <input type="text" 595 placeholder="Filter" 596 597 aria-label="Type to filter" 598 role="searchbox"> 599 600 <span class="filter-clear-button hidden" 601 data-title="Clear filter" 602 aria-label="Clear filter" 603 role="button" 604 tabindex="0"></span> 605</div> 606 607<nav class="devsite-book-nav devsite-nav nocontent" data-nosnippet 608 aria-label="Side menu"> 609 <div class="devsite-mobile-header"> 610 <button type="button" 611 id="devsite-close-nav" 612 class="devsite-header-icon-button button-flat material-icons gc-analytics-event" 613 data-category="Site-Wide Custom Events" 614 data-label="Close navigation" 615 aria-label="Close navigation"> 616 </button> 617 <div class="devsite-product-name-wrapper"> 618 619 <a href="/" class="devsite-site-logo-link gc-analytics-event" 620 data-category="Site-Wide Custom Events" data-label="Site logo" track-type="globalNav" 621 track-name="googleOpenSource" track-metadata-position="nav" 622 track-metadata-eventDetail="nav"> 623 624 <picture> 625
626 <img src="https://www.gstatic.com/devrel-devsite/prod/vfdb441d2e08dbd9d3e48d8cd72b242388a87bcf7626bf5fb9df50c2bdd4a70fd/opensource/images/lockup.svg" class="devsite-site-logo" alt="Google Open Source"> 627 </picture> 628 629</a> 630 631 632</div> 633 </div> 634 635 <div class="devsite-book-nav-wrapper"> 636 <div class="devsite-mobile-nav-top"> 637 638 <ul class="devsite-nav-list"> 639 640 <li class="devsite-nav-item"> 641 642 643 <a href="/events" 644 645 class="devsite-nav-title gc-analytics-event 646 647 " 648 649 650 651 652 data-category="Site-Wide Custom Events" 653 654 data-label="Tab: Events" 655 656 track-name="events" 657 658 659 data-category="Site-Wide Custom Events" 660 data-label="Responsive Tab: Events" 661 track-type="globalNav" 662 track-metadata-eventDetail="globalMenu" 663 track-metadata-position="nav"> 664 665 <span class="devsite-nav-text" tooltip > 666 Events 667 </span> 668 669 670 </a> 671 672 673 674 675 </li> 676 677 <li class="devsite-nav-item"> 678 679 680 <a href="/projects" 681 682 class="devsite-nav-title gc-analytics-event 683 684 " 685 686 687 688 689 data-category="Site-Wide Custom Events" 690 691 data-label="Tab: Projects" 692 693 track-name="projects" 694 695 696 data-category="Site-Wide Custom Events" 697 data-label="Responsive Tab: Projects" 698 track-type="globalNav" 699 track-metadata-eventDetail="globalMenu" 700 track-metadata-position="nav"> 701 702 <span class="devsite-nav-text" tooltip > 703 Projects 704 </span> 705 706 707 </a> 708 709 710 711 712 </li> 713 714 <li class="devsite-nav-item"> 715 716 717 <a href="/programs-and-services" 718 719 class="devsite-nav-title gc-analytics-event 720 721 " 722 723 724 725 726 data-category="Site-Wide Custom Events" 727 728 data-label="Tab: Programs and services" 729 730 track-name="programs and services" 731 732 733 data-category="Site-Wide Custom Events" 734 data-label="Responsive Tab: Programs and services" 735 track-type="globalNav" 736 track-metadata-eventDetail="globalMenu" 737 track-metadata-position="nav"> 738 739 <span class="devsite-nav-text" tooltip > 740 Programs and services 741 </span> 742 743 744 </a> 745 746 747 748 <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu 749 "> 750 751<li class="devsite-nav-item"> 752 753 754 <span 755 756 class="devsite-nav-title" 757 tooltip 758 759 760 761 data-category="Site-Wide Custom Events" 762 763 data-label="Tab: Programs and services" 764 765 track-name="programs and services" 766 767 > 768 769 <span class="devsite-nav-text" tooltip menu="Programs and services"> 770 More 771 </span> 772 773 <span class="devsite-nav-icon material-icons" data-icon="forward" 774 menu="Programs and services"> 775 </span> 776 777 778 </span> 779 780 781</li> 782 783 </ul> 784 785 786 </li> 787 788 <li class="devsite-nav-item"> 789 790 791 <a href="/documentation/reference" 792 793 class="devsite-nav-title gc-analytics-event 794 795 " 796 797 798 799 800 data-category="Site-Wide Custom Events" 801 802 data-label="Tab: Documentation" 803 804 track-name="documentation" 805 806 807 data-category="Site-Wide Custom Events" 808 data-label="Responsive Tab: Documentation" 809 track-type="globalNav" 810 track-metadata-eventDetail="globalMenu" 811 track-metadata-position="nav"> 812 813 <span class="devsite-nav-text" tooltip > 814 Documentation 815 </span> 816 817 818 </a> 819 820 821 822 823 </li> 824 825 <li class="devsite-nav-item"> 826 827 828 <a href="/about" 829 830 class="devsite-nav-title gc-analytics-event 831 832 devsite-nav-active" 833 834 835 836 837 data-category="Site-Wide Custom Events" 838 839 data-label="Tab: About" 840 841 track-name="about" 842 843 844 data-category="Site-Wide Custom Events" 845 data-label="Responsive Tab: About" 846 track-type="globalNav" 847 track-metadata-eventDetail="globalMenu" 848 track-metadata-position="nav"> 849 850 <span class="devsite-nav-text" tooltip > 851 About 852 </span> 853 854 855 </a> 856 857 858 859 860 </li> 861 862 <li class="devsite-nav-item"> 863 864 865 <a href="//opensource.googleblog.com" 866 867 class="devsite-nav-title gc-analytics-event 868 869 " 870 871 872 873 874 data-category="Site-Wide Custom Events" 875 876 data-label="Tab: Blog" 877 878 track-name="blog" 879 880 881 data-category="Site-Wide Custom Events" 882 data-label="Responsive Tab: Blog" 883 track-type="globalNav" 884 track-metadata-eventDetail="globalMenu" 885 track-metadata-position="nav"> 886 887 <span class="devsite-nav-text" tooltip > 888 Blog 889 </span> 890 891 892 </a> 893 894 895 896 897 </li> 898 899 900 901 </ul> 902 903 </div> 904 905 <div class="devsite-mobile-nav-bottom"> 906 907 908 909 910 911 912 913 914 915 <ul class="devsite-nav-list" menu="Programs and services" 916 aria-label="Side menu" hidden> 917 918 919 920 921 922<li class="devsite-nav-item"> 923 924 925 <a href="/organizations-we-support" 926 927 class="devsite-nav-title gc-analytics-event 928 929 " 930 931 932 933 data-category="Site-Wide Custom Events" 934 data-label="Responsive Tab: Organizations we support" 935 track-type="navMenu" 936 track-metadata-eventDetail="globalMenu" 937 track-metadata-position="nav"> 938 939 <span class="devsite-nav-text" tooltip > 940 Organizations we support 941 </span> 942 943 944 </a> 945 946 947</li> 948 949 950 951 952 </ul> 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 </div> 968 969 </div> 970</nav> 971 972 </devsite-book-nav> 973 974 <section id="gc-wrapper">
975 <main role="main" id="main-content" class="devsite-main-content" 976 977 978 979 > 980 <div class="devsite-sidebar"> 981 <div class="devsite-sidebar-content"> 982 983 <devsite-toc class="devsite-nav" 984 role="navigation" 985 aria-label="On this page" 986 depth="2" 987 scrollbars 988 data-nosnippet 989 disabled></devsite-toc> 990 <devsite-recommendations-sidebar class="nocontent devsite-nav" data-nosnippet> 991 </devsite-recommendations-sidebar> 992 </div> 993 </div> 994 <devsite-content> 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007<article class="devsite-article"><style> 1008 /* Styles inlined from /styles/styles.css */ 1009.hero .hero-bold { 1010 font-weight: 500; 1011} 1012 1013.benefits-row [class^=devsite-][icon-position=top] > div { 1014 margin: 0 auto; 1015} 1016 1017.projects-description p, 1018.featured-events-description p, 1019.featured-blogs-description p, 1020.os-project-hero p, 1021.os-desc-left p, 1022.os-hero p { 1023 max-width: 708px; 1024} 1025 1026.end-padding-medium { 1027 padding-bottom: 64px; 1028 padding-top: 0; 1029} 1030 1031.os-subheader-46.devsite-landing-row h2 { 1032 font-size: 46px; 1033 line-height: 40px; 1034} 1035 1036.os-project-hero[class^=devsite-] [class^=devsite-] [class^=devsite-] h3 { 1037 font: 400 56px / 68px Google Sans; 1038 margin-bottom: 0; 1039} 1040 1041.os-project-hero [class^=devsite-][size=xlarge], 1042.os-project-hero [class^=devsite-][size=xlarge] img { 1043 height: 60px; 1044 width: 221px; 1045} 1046 1047.os-no-padding-b { 1048 padding-bottom: 0; 1049} 1050 1051.os-project-hero .button { 1052 font: 700 16px / 24px Roboto; 1053} 1054 1055.os-project-hero.no-padding { 1056 padding-bottom: 0; 1057 padding-top: 0 1058} 1059 1060.os-project-columns-top .devsite-landing-row-group { 1061 grid: auto-flow / 3fr 1fr; 1062} 1063 1064 1065.os-project-columns-bottom .devsite-landing-row-group { 1066 grid: auto-flow / repeat(3, 1fr); 1067} 1068 1069.os-project-columns .os-divider h3 { 1070 padding-top: 40px; 1071} 1072 1073.os-project-columns .button { 1074 padding: 0; 1075} 1076 1077.os-project-columns-bottom { 1078 padding: 16px 24px; 1079} 1080 1081.os-divider { 1082 border-top: 1px solid #9aa0a6; 1083} 1084 1085.os-project-source { 1086 border-radius: 8px; 1087} 1088 1089.os-project-source [class^=devsite-] a:first-child { 1090 margin-left: 8px; 1091} 1092 1093.os-project-source .devsite-landing-row-item-list-item-buttons a { 1094 display: block; 1095 text-align: start; 1096} 1097 1098.os-project-source h4 { 1099 border-bottom: 1px solid #9aa0a6; 1100 font: 400 18px / 32px Google Sans; 1101 margin-top: 8px; 1102 padding-top: 8px; 1103} 1104 1105.os-all-projects .os-margin-bottom-zero { 1106 margin-bottom: 0; 1107} 1108 1109.os-margin-top-zero { 1110 margin-top:0; 1111} 1112 1113/* Override core 'row-reverse' to left-align buttons in dynamic content cards. */ 1114.os-featured-blogs .devsite-card-buttons { 1115 flex-direction: row; 1116} 1117 1118 1119[dynamic-card-style="card"] ul li, .os-project-card span:not(a) { 1120 border: 1px solid; 1121 border-radius: 5px; 1122 padding: 6px 8px 4px; 1123 background: none; 1124} 1125 1126 1127.os-project-hero.os-android-bg { 1128 margin-bottom: 96px; 1129 padding-bottom: 0; 1130 padding-top: 0; 1131} 1132 1133.os-project-hero.bg-yellow[background] { 1134 background: #fff7dd; 1135} 1136 1137.os-project-hero.bg-green-warm[background] { 1138 background: #dfffea; 1139} 1140 1141.os-project-hero.bg-blue-cool[background]{ 1142 background: #e1eaff; 1143} 1144 1145.os-project-hero.bg-red-warm[background]{ 1146 background: #ffdfee; 1147} 1148 1149 1150 1151 </style> 1152 1153 1154 1155 1156 1157 1158 <div class="devsite-article-meta nocontent" role="navigation" data-nosnippet> 1159 1160 1161 <ul class="devsite-breadcrumb-list" 1162 1163 aria-label="Breadcrumb"> 1164 1165 <li class="devsite-breadcrumb-item 1166 "> 1167 1168 1169 1170 1171 1172 <a href="https://opensource.google/" 1173 1174 class="devsite-breadcrumb-link gc-analytics-event" 1175 1176 data-category="Site-Wide Custom Events" 1177 1178 data-label="Breadcrumbs" 1179 1180 data-value="1" 1181 1182 track-type="globalNav" 1183 1184 track-name="breadcrumb" 1185 1186 track-metadata-position="1" 1187 1188 track-metadata-eventdetail="Google Open Source" 1189 1190 > 1191 1192 Google Open Source 1193 1194 </a> 1195 1196 1197 1198 </li> 1199 1200 <li class="devsite-breadcrumb-item 1201 "> 1202 1203 1204 <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> 1205 1206 1207 1208 1209 1210 <a href="https://opensource.google/about" 1211 1212 class="devsite-breadcrumb-link gc-analytics-event" 1213 1214 data-category="Site-Wide Custom Events" 1215 1216 data-label="Breadcrumbs" 1217 1218 data-value="2" 1219 1220 track-type="globalNav" 1221 1222 track-name="breadcrumb" 1223 1224 track-metadata-position="2" 1225 1226 track-metadata-eventdetail="" 1227 1228 > 1229 1230 About 1231 1232 </a> 1233 1234 1235 1236 </li> 1237 1238</ul> 1239 1240 </div> 1241 <devsite-actions hidden data-nosnippet><devsite-feature-tooltip 1242 ack-key="AckCollectionsBookmarkTooltipDismiss" 1243 analytics-category="Site-Wide Custom Events" 1244 analytics-action-show="Callout Profile displayed" 1245 analytics-action-close="Callout Profile dismissed" 1246 analytics-label="Create Collection Callout" 1247 class="devsite-page-bookmark-tooltip nocontent" 1248 data-nosnippet
1249 dismiss-button="true" 1250 id="devsite-collections-dropdown" 1251 1252 dismiss-button-text="Dismiss" 1253 1254 1255 close-button-text="Got it"> 1256 1257 1258 1259 <devsite-bookmark></devsite-bookmark> 1260 1261 1262 <span slot="popout-heading"> 1263 1264 Stay organized with collections 1265 </span> 1266 <span slot="popout-contents"> 1267 1268 Save and categorize content based on your preferences. 1269 </span> 1270 </devsite-feature-tooltip></devsite-actions> 1271 1272 1273 1274 1275 <devsite-toc class="devsite-nav" 1276 depth="2" 1277 devsite-toc-embedded 1278 disabled> 1279 </devsite-toc> 1280 1281 1282 <div class="devsite-article-body clearfix 1283 "> 1284 1285 1286 1287 <section class="devsite-landing-row devsite-landing-row-1-up devsite-landing-row-67 devsite-landing-row-hero devsite-landing-row-no-image-background devsite-landing-row-padding-large hero os-custom-desc os-hero" 1288 1289 background="grey" 1290 1291 1292 1293 header-position="top" 1294 > 1295 <div class="devsite-landing-row-inner"> 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 <div class="devsite-landing-row-group"> 1306 1307 <div class="devsite-landing-row-item" 1308 1309 1310 1311 description-position="bottom" 1312 > 1313 1314 1315 1316<div class="devsite-landing-row-item-media 1317 "> 1318 1319 <figure class="devsite-landing-row-item-image"> 1320 1321 1322 1323 <picture> 1324 1325 <img alt="" 1326 1327 src="https://opensource.google/static/images/about/os-anim-about.gif" 1328 srcset="https://opensource.google/static/images/about/os-anim-about.gif" 1329 1330 1331 sizes="(max-width: 600px) 100vw, (max-width: 840px) 50vw, 464px" 1332 1333 1334 fetchpriority="high"> 1335 </picture> 1336 1337 1338</figure> 1339 1340</div> 1341 1342 1343 1344 <div class="devsite-landing-row-item-description" 1345 > 1346 1347 1348 1349 <div class="devsite-landing-row-item-body"> 1350 1351 1352 1353 <h3 id="about-google-open-source" 1354 data-text="About Google Open Source" 1355 class="hide-from-toc no-link" 1356 tabindex="0"> 1357 1358 1359 About Google Open Source 1360 1361 1362 </h3> 1363 1364 1365 1366 <div class="devsite-landing-row-item-description-content"> 1367 Open source is at the heart of Googleâitâs what weâre built on and at the core of everything we do. 1368 </div> 1369 1370 1371 1372 1373 1374 </div> 1375 </div> 1376 1377 1378 1379</div> 1380 1381 </div> 1382 1383 1384 1385 </div> 1386 </section> 1387 1388 <section class="devsite-landing-row devsite-landing-row-1-up devsite-landing-row-50 os-about-history os-custom-desc" 1389 1390 1391 1392 header-position="top" 1393 > 1394 <div class="devsite-landing-row-inner"> 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 <div class="devsite-landing-row-group"> 1405 1406 <div class="devsite-landing-row-item" 1407 1408 1409 1410 description-position="bottom" 1411 > 1412 1413 1414 1415<div class="devsite-landing-row-item-media 1416 1417 devsite-landing-row-item-media-left 1418 "> 1419 1420 <figure class="devsite-landing-row-item-image"> 1421 1422 1423 1424 <picture> 1425 1426 <img alt="" 1427 1428 src="https://opensource.google/static/images/about/OSPO-
1428about.png" 1429 srcset="https://opensource.google/static/images/about/OSPO-about_36.png 36w,https://opensource.google/static/images/about/OSPO-about_48.png 48w,https://opensource.google/static/images/about/OSPO-about_72.png 72w,https://opensource.google/static/images/about/OSPO-about_96.png 96w,https://opensource.google/static/images/about/OSPO-about_480.png 480w,https://opensource.google/static/images/about/OSPO-about_720.png 720w,https://opensource.google/static/images/about/OSPO-about_856.png 856w,https://opensource.google/static/images/about/OSPO-about_960.png 960w,https://opensource.google/static/images/about/OSPO-about_1440.png 1440w,https://opensource.google/static/images/about/OSPO-about_1920.png 1920w,https://opensource.google/static/images/about/OSPO-about_2880.png 2880w" 1430 1431 1432 sizes="(max-width: 600px) 100vw, (max-width: 840px) 50vw, 708px" 1433 1434 loading="lazy" 1435 > 1436 </picture> 1437 1438 1439</figure> 1440 1441</div> 1442 1443 1444 1445 <div class="devsite-landing-row-item-description" 1446 > 1447 1448 1449 1450 <div class="devsite-landing-row-item-body"> 1451 1452 1453 1454 <h3 id="history-of-ospo" 1455 data-text="History of OSPO" 1456 class="hide-from-toc no-link" 1457 tabindex="0"> 1458 1459 1460 History of OSPO 1461 1462 1463 </h3> 1464 1465 1466 1467 <div class="devsite-landing-row-item-description-content"> 1468 The Google Open Source Programs Office dates back to 2004, making it one of the first OSPOs in the industry. 1469 </div> 1470 1471 1472 1473 <ul class="devsite-landing-row-item-list"> 1474 1475 <li class="devsite-landing-row-item-list-item"> 1476 1477 1478 <div class="devsite-landing-row-item-list-item-content" 1479 1480 icon-position="left" 1481 > 1482 1483 1484 1485 1486 <div class="devsite-landing-row-item-list-item-icon-container" 1487 1488 1489 1490 size="small" 1491 > 1492 1493 <picture> 1494 1495 <img class="devsite-landing-row-item-list-item-icon" 1496 alt="" 1497 src="https://opensource.google/static/images/about/os-about-circle.svg" 1498 srcset="https://opensource.google/static/images/about/os-about-circle.svg" 1499 sizes="48px" 1500 loading="lazy" 1501 > 1502 </picture> 1503 1504 </div> 1505 1506 1507 1508 1509 <div class="devsite-landing-row-item-list-item-description"> 1510 1511 <h4 id="making-open-source-more-open" 1512 data-text="Making open source more open" 1513 class=" no-link" 1514 tabindex="0"> 1515 1516 1517 Making open source more open 1518 1519 1520 </h4> 1521 1522 1523 1524 <div class="devsite-landing-row-item-list-item-description-content"> 1525 At first, OSPO focused on enabling Google to build on open source technologies and share Google-developed technology under open licenses. With the launch of Google Summer of Code in 2005, OSPO expanded to support open source mentorship and reduce barriers to open source participation. Today, OSPO runs multiple programs dedicated to improving the open source ecosystem as a whole, including the <a href="https://developers.google.com/season-of-docs">Season of Docs</a> program, multiple efforts dedicated to improving <a href="https://github.com/google/oss-fuzz#readme">open source security</a>, <a href="https://opensource.googleblog.com/2020/11/googles-initiative-for-more-inclusive.html">respectful language guidance</a>, code of conduct enforcement training, and more. 1526 </div> 1527 1528 1529 1530 </div> 1531 </div> 1532 1533 1534</li> 1535 1536 <li class="devsite-landing-row-item-list-item"> 1537 1538 1539 <div class="devsite-landing-row-item-list-item-content" 1540 1541 icon-position="left" 1542 > 1543 1544 1545 1546 1547 <div class="devsite-landing-row-item-list-item-icon-container" 1548 1549 1550 1551 size="small" 1552 > 1553 1554 <picture> 1555 1556 <img class="devsite-landing-row-item-list-item-icon" 1557 alt="" 1558 src="https://opensource.google/static/images/about/os-about-triangle.svg" 1559 srcset="https://opensource.google/static/images/about/os-about-triangle.svg" 1560 sizes="48px" 1561 loading="lazy" 1562 > 1563 </picture> 1564 1565 </div> 1566 1567 1568 1569 1570 <div class="devsite-landing-row-item-list-item-description"> 1571 1572 <h4 id="sharing-with-the-world" 1573 data-text="Sharing with the world" 1574 class=" no-link" 1575 tabindex="0"> 1576 1577 1578 Sharing with the world 1579 1580 1581 </h4> 1582 1583 1584 1585 <div class="devsite-landing-row-item-list-item-description-content"> 1586 A key part of OSPO's mission is helping Google-led projects thrive and grow. Some of Googleâs most notable open source projects were released in 2008, including <a href="/projects/android">Android</a>âproviding an operating system for phones internationally, Chromiumâwhich our Chrome browser runs on, and Goâan efficie
1586nt programming language which <a href="https://opensource.googleblog.com/2021/04/actuating-google-production-how-googles-sre-team-uses-go.html">we build on internally</a>. Google <a href="https://www.cncf.io/blog/2018/11/05/beginners-guide-cncf-landscape/">partnered with the Linux Foundation</a> to create the Cloud Native Computing Foundation in 2018, which now hosts major projects such as Kubernetes. In 2022, Google donated IstioMesh to the CNCF and applied for Kubeflow to become an incubating project as well. 1587 </div> 1588 1589 1590 1591 </div> 1592 </div> 1593 1594 1595</li> 1596 1597 <li class="devsite-landing-row-item-list-item"> 1598 1599 1600 <div class="devsite-landing-row-item-list-item-content" 1601 1602 icon-position="left" 1603 > 1604 1605 1606 1607 1608 <div class="devsite-landing-row-item-list-item-icon-container" 1609 1610 1611 1612 size="small" 1613 > 1614 1615 <picture> 1616 1617 <img class="devsite-landing-row-item-list-item-icon" 1618 alt="" 1619 src="https://opensource.google/static/images/about/os-about-square.svg" 1620 srcset="https://opensource.google/static/images/about/os-about-square.svg" 1621 sizes="48px" 1622 loading="lazy" 1623 > 1624 </picture> 1625 1626 </div> 1627 1628 1629 1630 1631 <div class="devsite-landing-row-item-list-item-description"> 1632 1633 <h4 id="changing-as-open-source-changes" 1634 data-text="Changing as open source changes" 1635 class=" no-link" 1636 tabindex="0"> 1637 1638 1639 Changing as open source changes 1640 1641 1642 </h4> 1643 1644 1645 1646 <div class="devsite-landing-row-item-list-item-description-content"> 1647 Many things have changed in open source since Googleâs OSPO began in 2004âbut one thing that remains the same is Googleâs commitment to supporting open source projects, communities, and maintainers across the entire open source ecosystem. 1648 </div> 1649 1650 1651 1652 </div> 1653 </div> 1654 1655 1656</li> 1657 1658 </ul> 1659 1660 1661 1662 </div> 1663 </div> 1664 1665 1666 1667</div> 1668 1669 </div> 1670 1671 1672 1673 </div> 1674 </section> 1675 1676 <section class="devsite-landing-row devsite-landing-row-1-up devsite-landing-row-header-centered" 1677 1678 background="grey" 1679 1680 1681 1682 header-position="top" 1683 > 1684 <div class="devsite-landing-row-inner"> 1685 1686 1687 1688 <header class="devsite-landing-row-header" 1689 > 1690 1691 1692 1693 1694 <div class="devsite-landing-row-header-text"> 1695 1696 1697 <h2 id="ospo-by-the-numbers" 1698 data-text="OSPO by the numbers" 1699 1700 tabindex="0"> 1701 1702 1703 OSPO by the numbers 1704 1705 1706 </h2> 1707 1708 1709 1710 </div> 1711 1712 1713 1714 </header> 1715 1716 1717 1718 1719 1720 1721 1722 1723 </div> 1724 </section> 1725 1726 <section class="devsite-landing-row devsite-landing-row-1-up devsite-landing-row-100 devsite-landing-row-no-image-background" 1727 1728 1729 1730 header-position="top" 1731 > 1732 <div class="devsite-landing-row-inner"> 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 <div class="devsite-landing-row-group"> 1743 1744 <div class="devsite-landing-row-item devsite-landing-row-item-no-description" 1745 1746 1747 1748 description-position="bottom" 1749 > 1750 1751 1752 1753<div class="devsite-landing-row-item-media 1754 "> 1755 1756 <figure class="devsite-landing-row-item-image"> 1757 1758 1759 1760 <picture> 1761 1762 <img alt="" 1763 1764 src="https://opensource.google/static/images/about/os-about-vis-1.svg" 1765 srcset="https://opensource.google/static/images/about/os-about-vis-1.svg" 1766 1767 1768 sizes="(max-width: 840px) 100vw, 1440px" 1769 1770 loading="lazy" 1771 > 1772 </picture> 1773 1774 1775</figure> 1776 1777</div> 1778 1779 1780 1781 1782 1783</div> 1784 1785 </div> 1786 1787 1788 1789 </div> 1790 </section> 1791 1792 <section class="devsite-landing-row devsite-landing-row-1-up devsite-landing-row-100 devsite-landing-row-no-image-background" 1793 1794 1795 1796 header-position="top" 1797 > 1798 <div class="devsite-landing-row-inner"> 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 <div class="devsite-landing-row-group"> 1809 1810 <div class="devsite-landing-row-item devsite-landing-row-item-no-description" 1811 1812 1813 1814 description-position="bottom" 1815 > 1816 1817 1818 1819<div class="devsite-landing-row-item-media 1820 "> 1821 1822 <figure class="devsite-landing-row-item-image"> 1823 1824 1825 1826 <picture> 1827 1828 <img alt="" 1829 1830 src="https://opensource.google/static/images/about/os-about-vis-3.svg" 1831 srcset="https://opensource.google/static/images/about/os-about-vis-3.svg" 1832 1833
1834 sizes="(max-width: 840px) 100vw, 1440px" 1835 1836 loading="lazy" 1837 > 1838 </picture> 1839 1840 1841</figure> 1842 1843</div> 1844 1845 1846 1847 1848 1849</div> 1850 1851 </div> 1852 1853 1854 1855 </div> 1856 </section> 1857 1858 <section class="devsite-landing-row devsite-landing-row-1-up devsite-landing-row-100 devsite-landing-row-no-image-background" 1859 1860 1861 1862 header-position="top" 1863 > 1864 <div class="devsite-landing-row-inner"> 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 <div class="devsite-landing-row-group"> 1875 1876 <div class="devsite-landing-row-item devsite-landing-row-item-no-description" 1877 1878 1879 1880 description-position="bottom" 1881 > 1882 1883 1884 1885<div class="devsite-landing-row-item-media 1886 "> 1887 1888 <figure class="devsite-landing-row-item-image"> 1889 1890 1891 1892 <picture> 1893 1894 <img alt="" 1895 1896 src="https://opensource.google/static/images/about/os-about-vis-4.svg" 1897 srcset="https://opensource.google/static/images/about/os-about-vis-4.svg" 1898 1899 1900 sizes="(max-width: 840px) 100vw, 1440px" 1901 1902 loading="lazy" 1903 > 1904 </picture> 1905 1906 1907</figure> 1908 1909</div> 1910 1911 1912 1913 1914 1915</div> 1916 1917 </div> 1918 1919 1920 1921 </div> 1922 </section> 1923 1924 <section class="devsite-landing-row devsite-landing-row-1-up devsite-landing-row-padding-medium" 1925 1926 1927 1928 header-position="top" 1929 > 1930 <div class="devsite-landing-row-inner"> 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 </div> 1942 </section> 1943 1944 <section class="devsite-landing-row devsite-landing-row-1-up devsite-landing-row-cta" 1945 1946 background="google-green" 1947 1948 1949 1950 header-position="top" 1951 > 1952 <div class="devsite-landing-row-inner"> 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 <div class="devsite-landing-row-group"> 1963 1964 <div class="devsite-landing-row-item devsite-landing-row-item-no-media" 1965 1966 1967 1968 description-position="bottom" 1969 > 1970 1971 1972 1973 1974 1975 <div class="devsite-landing-row-item-description" 1976 > 1977 1978 1979 1980 <div class="devsite-landing-row-item-body"> 1981 1982 1983 1984 <h3 id="interested-in-ossospo-roles" 1985 data-text="Interested in OSS/OSPO roles?" 1986 class="hide-from-toc no-link" 1987 tabindex="0"> 1988 1989 <a href="https://careers.google.com/jobs/results/?q=open%20source"> 1990 1991 Interested in OSS/OSPO roles? 1992 1993 </a> 1994 1995 </h3> 1996 1997 1998 1999 2000 2001 2002 2003 <div class="devsite-landing-row-item-buttons"> 2004 2005 2006 2007 <a href="https://careers.google.com/jobs/results/?q=open%20source" 2008 2009 class="button button-primary 2010 " 2011 2012 2013 >View careers</a> 2014 2015</div> 2016 2017 </div> 2018 </div> 2019 2020 2021 2022</div> 2023 2024 </div> 2025 2026 2027 2028 </div> 2029 </section> 2030 2031 2032 2033 2034</div> 2035 2036 2037 2038 <div class="devsite-floating-action-buttons"></div></article> 2039 2040 2041 2042<devsite-notification 2043> 2044</devsite-notification> 2045 2046 2047 2048<div class="devsite-content-data"> 2049 2050 2051 <template class="devsite-content-data-template"> 2052 [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],[],[],[]] 2053 </template> 2054 2055</div> 2056 2057 </devsite-content> 2058 </main> 2059 <devsite-footer-promos class="devsite-footer"> 2060 2061 2062 2063 </devsite-footer-promos> 2064 <devsite-footer-linkboxes class="devsite-footer"> 2065 2066 2067<nav class="devsite-footer-linkboxes nocontent" 2068 aria-label="Footer links" 2069 data-nosnippet> 2070 2071</nav> 2072 2073 </devsite-footer-linkboxes> 2074 <devsite-footer-utility class="devsite-footer"> 2075 2076 2077 2078<div class="devsite-footer-utility nocontent" data-nosnippet> 2079 2080 2081 <nav class="devsite-footer-sites" aria-label="Other Google Developers websites"> 2082 <a href="https://developers.google.com/" 2083 class="devsite-footer-sites-logo-link gc-analytics-event" 2084 data-category="Site-Wide Custom Events" 2085 data-label="Footer Google Developers Link"> 2086 <picture> 2087 2088 <img class="devsite-footer-sites-logo"
2089 src="https://www.gstatic.com/devrel-devsite/prod/vfdb441d2e08dbd9d3e48d8cd72b242388a87bcf7626bf5fb9df50c2bdd4a70fd/opensource/images/lockup-google-for-developers.svg" 2090 loading="lazy" 2091 alt="Google Developers"> 2092 </picture> 2093 </a> 2094 <ul class="devsite-footer-sites-list"> 2095 2096 <li class="devsite-footer-sites-item"> 2097 <a href="//www.youtube.com/googleopensource" 2098 class="devsite-footer-sites-link 2099 gc-analytics-event" 2100 data-category="Site-Wide Custom Events" 2101 2102 data-label="Footer YouTube Link" 2103 2104 > 2105 YouTube 2106 </a> 2107 </li> 2108 2109 <li class="devsite-footer-sites-item"> 2110 <a href="//x.com/GoogleOSS" 2111 class="devsite-footer-sites-link 2112 gc-analytics-event" 2113 data-category="Site-Wide Custom Events" 2114 2115 data-label="Footer X Link" 2116 2117 > 2118 X 2119 </a> 2120 </li> 2121 2122 <li class="devsite-footer-sites-item"> 2123 <a href="https://www.linkedin.com/showcase/googledevelopers/" 2124 class="devsite-footer-sites-link 2125 gc-analytics-event" 2126 data-category="Site-Wide Custom Events" 2127 2128 data-label="Footer LinkedIn Link" 2129 2130 > 2131 LinkedIn 2132 </a> 2133 </li> 2134 2135 </ul> 2136 </nav> 2137 2138 2139 2140 <nav class="devsite-footer-utility-links" aria-label="Utility links"> 2141 2142 <ul class="devsite-footer-utility-list"> 2143 2144 <li class="devsite-footer-utility-item 2145 "> 2146 2147 2148 <a class="devsite-footer-utility-link gc-analytics-event" 2149 href="//policies.google.com/terms" 2150 data-category="Site-Wide Custom Events" 2151 data-label="Footer Terms link" 2152 > 2153 Terms 2154 </a> 2155 2156 </li> 2157 2158 <li class="devsite-footer-utility-item 2159 "> 2160 2161 2162 <a class="devsite-footer-utility-link gc-analytics-event" 2163 href="//policies.google.com/privacy" 2164 data-category="Site-Wide Custom Events" 2165 data-label="Footer Privacy link" 2166 > 2167 Privacy 2168 </a> 2169 2170 </li> 2171 2172 <li class="devsite-footer-utility-item 2173 glue-cookie-notification-bar-control"> 2174 2175 2176 <a class="devsite-footer-utility-link gc-analytics-event" 2177 href="#" 2178 data-category="Site-Wide Custom Events" 2179 data-label="Footer Manage cookies link" 2180 2181 aria-hidden="true" 2182 > 2183 Manage cookies 2184 </a> 2185 2186 </li> 2187 2188 </ul> 2189 2190 2191<devsite-language-selector> 2192 <ul role="presentation"> 2193 2194 2195 <li role="presentation"> 2196 <a role="menuitem" lang="en" 2197 >English</a> 2198 </li> 2199 2200 <li role="presentation"> 2201 <a role="menuitem" lang="es" 2202 >Español</a> 2203 </li> 2204 2205 <li role="presentation"> 2206 <a role="menuitem" lang="es_419" 2207 >Español â América Latina</a> 2208 </li> 2209 2210 <li role="presentation"> 2211 <a role="menuitem" lang="id" 2212 >Indonesia</a> 2213 </li> 2214 2215 <li role="presentation"> 2216 <a role="menuitem" lang="it" 2217 >Italiano</a> 2218 </li> 2219 2220 <li role="presentation"> 2221 <a role="menuitem" lang="pt" 2222 >Português</a> 2223 </li> 2224 2225 <li role="presentation"> 2226 <a role="menuitem" lang="pt_br" 2227 >Português â Brasil</a> 2228 </li> 2229 2230 <li role="presentation"> 2231 <a role="menuitem" lang="tr" 2232 >Türkçe</a> 2233 </li> 2234 2235 <li role="presentation"> 2236 <a role="menuitem" lang="ar" 2237 >Ø§ÙØ¹Ø±Ø¨ÙÙØ©</a> 2238 </li> 2239 2240 <li role="presentation"> 2241 <a role="menuitem" lang="zh_cn" 2242 >䏿 â ç®ä½</a> 2243 </li> 2244 2245 <li role="presentation"> 2246 <a role="menuitem" lang="ja" 2247 >æ¥æ¬èª</a> 2248 </li> 2249 2250 <li role="presentation"> 2251 <a role="menuitem" lang="ko" 2252 >íêµì´</a> 2253 </li> 2254 2255 </ul> 2256</devsite-language-selector> 2257 2258 </nav> 2259</div> 2260 2261 </devsite-footer-utility> 2262 <devsite-panel> 2263 2264 </devsite-panel> 2265 2266 </section> 2267 </section> 2268 <devsite-sitemask></devsite-sitemask> 2269 <devsite-snackbar></devsite-snackbar> 2270 <devsite-tooltip ></devsite-tooltip> 2271 <devsite-heading-link></devsite-heading-link> 2272 <devsite-analytics> 2273 2274
2274<script type="application/json" analytics>[{"dimensions": {"dimension5": false, "dimension4": "en", "dimension3": "en", "dimension2": false, "dimension1": "Signed out"}, "gaid": "UA-53341410-8", "metrics": {}, "purpose": 0}]</script>
vendor: 1 bytes, line 2274
2274
2275<script type="application/json" tag-management>{"at": "True", "ga4": [{"id": "G-Q7VJ8CW5GK", "purpose": 0}], "ga4p": [{"id": "G-Q7VJ8CW5GK", "purpose": 0}], "gtm": [], "parameters": {"internalUser": "False", "language": {"machineTranslated": "False", "requested": "en", "served": "en"}, "pageType": "article", "projectName": "Google Open Source", "signedIn": "False", "tenant": "opensource", "recommendations": {"sourcePage": "", "sourceType": 0, "sourceRank": 0, "sourceIdenticalDescriptions": 0, "sourceTitleWords": 0, "sourceDescriptionWords": 0, "experiment": ""}, "experiment": {"ids": ""}}}</script>
2275 2276 2277 </devsite-analytics> 2278 2279 <devsite-badger></devsite-badger> 2280 2281 2282 2283
2284<script nonce="3P006dKlF/g1pe4qSL4xGbgobh9ExO"> 2285 2286 (function(d,e,v,s,i,t,E){d['GoogleDevelopersObject']=i; 2287 t=e.createElement(v);t.async=1;t.src=s;E=e.getElementsByTagName(v)[0]; 2288 E.parentNode.insertBefore(t,E);})(window, document, 'script', 2289 'https://www.gstatic.com/devrel-devsite/prod/vfdb441d2e08dbd9d3e48d8cd72b242388a87bcf7626bf5fb9df50c2bdd4a70fd/opensource/js/app_loader.js', '[42,"en",null,"/js/devsite_app_module.js","https://www.gstatic.com/devrel-devsite/prod/vfdb441d2e08dbd9d3e48d8cd72b242388a87bcf7626bf5fb9df50c2bdd4a70fd","https://www.gstatic.com/devrel-devsite/prod/vfdb441d2e08dbd9d3e48d8cd72b242388a87bcf7626bf5fb9df50c2bdd4a70fd/opensource","https://opensource-dot-devsite-v2-prod-3p.appspot.com",1,null,["/_pwa/opensource/manifest.json","https://www.gstatic.com/devrel-devsite/prod/vfdb441d2e08dbd9d3e48d8cd72b242388a87bcf7626bf5fb9df50c2bdd4a70fd/images/video-placeholder.svg","https://www.gstatic.com/devrel-devsite/prod/vfdb441d2e08dbd9d3e48d8cd72b242388a87bcf7626bf5fb9df50c2bdd4a70fd/opensource/images/favicon.png","https://www.gstatic.com/devrel-devsite/prod/vfdb441d2e08dbd9d3e48d8cd72b242388a87bcf7626bf5fb9df50c2bdd4a70fd/opensource/images/lockup.svg","https://fonts.googleapis.com/css?family=Google+Sans:400,500,700|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap"],1,null,[1,6,8,12,14,17,21,25,50,52,63,70,75,76,80,87,91,92,93,97,98,100,101,102,103,104,105,107,108,109,110,112,113,116,117,118,120,122,124,125,126,127,129,130,131,132,133,134,135,136,138,140,141,147,148,149,151,152,156,157,158,159,161,163,164,168,169,170,179,180,182,183,186,191,193,196],"AIzaSyCNm9YxQumEXwGJgTDjxoxXK6m1F-9720Q","AIzaSyCc76DZePGtoyUjqKrLdsMGk_ry7sljLbY","opensource.google","AIzaSyB9bqgQ2t11WJsOX8qNsCQ6U-w91mmqF-I","AIzaSyAdYnStPdzjcJJtQ0mvIaeaMKj7_t6J_Fg",null,null,null,["Search__enable_dynamic_content_confidential_banner","Cloud__enable_cloudx_experiment_ids","DevPro__enable_embed_profile_creation","Profiles__enable_purchase_prompts","MiscFeatureFlags__developers_footer_dark_image","EngEduTelemetry__enable_engedu_telemetry","DevPro__enable_developer_subscriptions","BookNav__enable_tenant_cache_key","SignIn__enable_l1_signup_flow","DevPro__enable_google_one_card","Profiles__enable_playlist_community_acl","DevPro__enable_credits_banner","CloudShell__cloud_code_overflow_menu","MiscFeatureFlags__enable_project_variables","Search__enable_suggestions_from_borg","DevPro__enable_code_assist","Profiles__enable_dashboard_curated_recommendations","MiscFeatureFlags__remove_cross_domain_tracking_params","Profiles__require_profile_eligibility_for_signin","Profiles__enable_page_saving","DevPro__enable_free_benefits","MiscFeatureFlags__enable_firebase_utm","AIStudioInteractionsToggle__interactions_are_default","MiscFeatureFlags__enable_variable_operator_index_yaml","MiscFeatureFlags__enable_variable_operator","Search__enable_page_map","Profiles__enable_completecodelab_endpoint","Concierge__enable_pushui","MiscFeatureFlags__developers_footer_image","Profiles__enable_stripe_subscription_management","Profiles__enable_developer_profiles_callout","Profiles__enable_release_notes_notifications","MiscFeatureFlags__enable_explain_this_code","MiscFeatureFlags__enable_explicit_template_dependencies","Search__enable_ai_search_summaries_for_all","DevPro__enable_enterprise","MiscFeatureFlags__enable_view_transitions","Cloud__enable_free_trial_server_call","Profiles__enable_user_type","MiscFeatureFlags__enable_framebox_badge_methods","CloudShell__cloud_shell_button","DevPro__remove_eu_tax_intake_form","Cloud__enable_cloud_dlp_service","Profiles__enable_public_developer_profiles","OnSwitch__enable","DevPro__enable_nvidia_credits_card","Cloud__enable_legacy_calculator_redirect","Profiles__enable_developer_profile_benefits_ui_redesign","Search__enable_ai_eligibility_checks","Cloud__cache_serialized_dynamic_content","Experiments__reqs_query_experiments","DevPro__enable_g1_ineligible_redirect","Profiles__enable_developer_profile_pages_as_content","DevPro__enable_firebase_workspaces_card","MiscFeatureFlags__enable_appearance_cookies","DevPro__enable_google_payments_buyflow","Profiles__enable_complete_playlist_endpoint","DevPro__enable_devpro_offers","DevPro__enable_cloud_innovators_plus","MiscFeatureFlags__gdp_dashboard_reskin_enabled","Concierge__enable_remove_info_panel_tags","TpcFeatures__proxy_prod_host","Profiles__enable_recognition_badges","Cloud__enable_cloud_shell","DevPro__enable_vertex_credit_card","DevPro__enable_devsite_c
2289aptcha","Profiles__enable_targeted_hero","Profiles__enable_join_program_group_endpoint","DevPro__enable_g1_integration","Analytics__enable_clearcut_logging","Profiles__enable_profile_collections","Profiles__enable_completequiz_endpoint","Profiles__enable_awarding_url","MiscFeatureFlags__fix_lower_breadcrumbs","Profiles__enable_callout_notifications","TpcFeatures__enable_unmirrored_page_left_nav","Analytics__enable_devpro_interaction_logging","Cloud__enable_cloud_shell_fte_user_flow","Cloud__fast_free_trial","Profiles__enable_auto_apply_credits","Concierge__enable_actions_menu"],null,null,"AIzaSyA58TaKli1DculwmAmbpzLVGuWc8eCQgQc","https://developerscontentserving-pa.googleapis.com","AIzaSyDWBU60w0P9hEkr29kkksYs8Z7gvZ8u_wc","https://developerscontentsearch-pa.googleapis.com",2,4,null,"https://developerprofiles-pa.googleapis.com",[42,"opensource","Google Open Source","opensource.google",null,"opensource-dot-devsite-v2-prod-3p.appspot.com",null,null,[null,1,null,null,null,null,null,null,null,null,null,[1],null,null,null,null,null,null,[1],null,null,null,null,[1,null,1],null,null,null,null,null,null,[1]],null,[58,null,null,null,null,null,"/images/lockup.svg",null,null,null,null,1,null,null,null,null,null,null,null,null,null,1,null,null,null,"/images/lockup-dark-theme.svg",[]],[],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],[1,1]],[[["UA-53341410-8"],["UA-53341410-20"],null,null,["UA-53341410-19"],null,null,[["G-Q7VJ8CW5GK"],null,null,[["G-Q7VJ8CW5GK",1]]],[["UA-53341410-8",1]],null,[["UA-53341410-19",1]],null,1],[[1,1],[2,2],[3,4],[4,5],[5,8]]],null,4],null,null,1,null,"https://developerscontentinsights-pa.googleapis.com","AIzaSyC11xEGtFhkmSh_iF6l_itbxnFz2GrIBOg","AIzaSyAXJ10nRF73mmdSDINgkCNX5bbd2KPcWm8","https://developers.googleapis.com",null,null,"AIzaSyCjP0KOnHfv8mwe38sfzZJMOnqE3HvrD4A",null,null,"https://developers.googleapis.com"]') 2290 2291</script>
2291 2292 2293 <devsite-a11y-announce></devsite-a11y-announce> 2294 </body> 2295</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.