CINXE.COM

Tidelift | Reduce security risk from bad open source packages

<!doctype html><!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en" > <![endif]--><!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang="en" > <![endif]--><!--[if IE 8]> <html class="no-js lt-ie9" lang="en" > <![endif]--><!--[if gt IE 8]><!--><html class="no-js" lang="en"><!--<![endif]--><head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="author" content="Sonar"> <meta name="description" content="Reduce security risk from bad open source packages and ensure the packages you rely on keep getting better."> <meta name="generator" content="HubSpot"> <title>Tidelift | Reduce security risk from bad open source packages</title> <link rel="shortcut icon" href="https://4008838.fs1.hubspotusercontent-na1.net/hubfs/4008838/website/icons/Tidelift_Favicon.png"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta property="og:description" content="Reduce security risk from bad open source packages and ensure the packages you rely on keep getting better."> <meta property="og:title" content="Tidelift | Reduce security risk from bad open source packages"> <meta name="twitter:description" content="Reduce security risk from bad open source packages and ensure the packages you rely on keep getting better."> <meta name="twitter:title" content="Tidelift | Reduce security risk from bad open source packages"> <style> a.cta_button{-moz-box-sizing:content-box !important;-webkit-box-sizing:content-box !important;box-sizing:content-box !important;vertical-align:middle}.hs-breadcrumb-menu{list-style-type:none;margin:0px 0px 0px 0px;padding:0px 0px 0px 0px}.hs-breadcrumb-menu-item{float:left;padding:10px 0px 10px 10px}.hs-breadcrumb-menu-divider:before{content:'›';padding-left:10px}.hs-featured-image-link{border:0}.hs-featured-image{float:right;margin:0 0 20px 20px;max-width:50%}@media (max-width: 568px){.hs-featured-image{float:none;margin:0;width:100%;max-width:100%}}.hs-screen-reader-text{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px} </style> <!-- Editor Styles --> <style id="hs_editor_style" type="text/css"> #hs_cos_wrapper_module_173862522759783 { display: block !important; padding-top: 20px !important } </style> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-migrate/3.3.1/jquery-migrate.min.js"></script> <!-- Added by GoogleAnalytics integration --> <script> var _hsp = window._hsp = window._hsp || []; _hsp.push(['addPrivacyConsentListener', function(consent) { if (consent.allowed || (consent.categories && consent.categories.analytics)) { (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create','UA-105624087-1','auto'); ga('send','pageview'); }}]); </script> <!-- /Added by GoogleAnalytics integration --> <link rel="canonical" href="https://tidelift.com"> <script id="Cookiebot" src="https://consent.cookiebot.com/uc.js" data-cbid="112f00f0-51d2-47c1-9c8e-d6779364933c" data-blockingmode="auto" type="text/javascript"></script> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;600;700&amp;display=swap" rel="stylesheet"> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-WDLF7KS'); </script> <!-- End Google Tag Manager --> <meta name="msvalidate.01" content="FEE8F007916A14CC06AAF47200EC4231"> <!-- Start of HubSpot Embed Code --> <script type="text/javascript" id="hs-script-loader" async defer src="//js.hs-scripts.com/4008838.js"></script> <!-- End of HubSpot Embed Code --> <!-- Lazy load images --> <script type="text/javascript" src="https://4008838.fs1.hubspotusercontent-na1.net/hubfs/4008838/scripts/lozad.min.js"></script> <!-- End Lazy load images --> <!--<script id="Cookiebot" src="https://consent.cookiebot.com/uc.js" data-cbid="112f00f0-51d2-47c1-9c8e-d6779364933c" data-blockingmode="auto" type="text/javascript"></script>--> <!-- Facebook Pixel Code --> <!-- Facebook Pixel Code --> <script> !function(f,b,e,v,n,t,s) {if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)}; if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t,s)}(window, document,'script', 'https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '705633339897683'); fbq('track', 'PageView'); </script> <noscript>&lt;img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=705633339897683&amp;amp;ev=PageView&amp;amp;noscript=1"&gt;</noscript> <!-- End Facebook Pixel Code --> <script type="text/javascript"> (function(i,s,o,g,r,a,m){i['SLScoutObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','https://scout-cdn.salesloft.com/sl.js','slscout'); slscout(["init", "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0IjoxMDQ2ODB9.NDQ1OasLcl2eCEbrivPlfIGVJ84WgdkHaY-AbfKkg5o"]); </script> <script>(function(w, d, c) {w['techtargetic'] = w['techtargetic'] || {};w['techtargetic'].client = c;var s = d.createElement("script");s.type = "text/javascript";s.async = !0;s.crossorigin = "anonymous";var rd = new Date();rd=rd.getFullYear()+''+rd.getMonth()+rd.getDate();s.src = "https://trk.techtarget.com/tracking.js";var n = d.getElementsByTagName("script")[0];n.parentNode.insertBefore(s, n);})(window, document, '20405538');</script> <link rel="me" href="https://floss.social/@tidelift"> <link rel="me" href="https://floss.social/@upstream"> <meta property="og:image" content="https://4008838.fs1.hubspotusercontent-na1.net/hubfs/4008838/Tidelift_Twitter_In-Line_1-580714-edited.jpg"> <meta property="og:image:width" content="1024"> <meta property="og:image:height" content="512"> <meta property="og:image:alt" content="Tidelift_Twitter_In-Line_1-580714-edited"> <meta name="twitter:image" content="https://4008838.fs1.hubspotusercontent-na1.net/hubfs/4008838/Tidelift_Twitter_In-Line_1-580714-edited.jpg"> <meta name="twitter:image:alt" content="Tidelift_Twitter_In-Line_1-580714-edited"> <meta property="og:url" content="https://tidelift.com"> <meta name="twitter:card" content="summary_large_image"> <link rel="stylesheet" href="//7052064.fs1.hubspotusercontent-na1.net/hubfs/7052064/hub_generated/template_assets/DEFAULT_ASSET/1743797905711/template_layout.min.css"> <link rel="stylesheet" href="//4008838.fs1.hubspotusercontent-na1.net/hubfs/4008838/hub_generated/template_assets/1/5575861961/1742712386201/template_tidelift18.css"> <style> .home-banner-waves { background-image:url("https://4008838.fs1.hubspotusercontent-na1.net/hubfs/4008838/Refresh%202023/Home-banner-2023.png"); background-repeat:no-repeat; background-size:100% 75%; } .confidence .each-flex-box { background: #ffffff; border-radius: 10px; padding: 20px; } .green-check-block { background-image: linear-gradient(180deg,#22C994 0%,#2a9976 100%) !important; color:#ffffff !important; padding: 10px; border-radius: 10px; margin-bottom:10px; display: flex; align-items: center; width:50%; margin:10px; font-size:20px; line-height:26px; } .green-check-block i { font-size:30px; } .green-checks-flex { display: flex; flex-direction: row; } .resources-rounded { background-color:#ffffff; border-radius:10px; padding:20px; } .cyber-bg { /* background-image:url("https://4008838.fs1.hubspotusercontent-na1.net/hubfs/4008838/Refresh%202023/cyber-bg-2.png"); background-size:cover;*/ background-image:url("https://4008838.fs1.hubspotusercontent-na1.net/hubfs/4008838/Maintainer%20advantage/wiggly%20background-v2.png"); background-color:#2F3342; background-repeat:no-repeat; background-size: 550px; border-radius:10px; padding:40px; color:#ffffff; background-position: right; } .resources-waves { background-image:url("https://4008838.fs1.hubspotusercontent-na1.net/hubfs/4008838/Refresh%202023/Home-Resources-waves-bg-tinified.png"); background-repeat:no-repeat; background-size:cover; } .container-fluid .row-fluid .home-banner-wide { background: url(https://4008838.fs1.hubspotusercontent-na1.net/hubfs/4008838/Refresh%202023/quality-checks-9-5-23-1.png); background-repeat: no-repeat; background-position: right 25%; background-size: auto 60%; max-width: 1800px; margin: 0 auto; -webkit-mask-image: linear-gradient(to right, red 80%, transparent); mask-image: linear-gradient(to right, red 80%, transparent); float:none; } .hs-video-wrapper iframe { border-radius:10px; } @media (max-width:1830px) { .container-fluid .row-fluid .home-banner-wide { background-position: 104% 20%; max-width: 1700px; } } @media (max-width:1750px) { .container-fluid .row-fluid .home-banner-wide { background-position: 108% 20%; max-width: 1620px; } } @media (max-width:1590px) { .container-fluid .row-fluid .home-banner-wide { background-position: 116% 20%; max-width:1465px; } } @media (max-width:1520px) { .container-fluid .row-fluid .home-banner-wide { background-position: 120% 20%; max-width:1405px; } } @media (max-width:1380px) { .container-fluid .row-fluid .home-banner-wide { background-position: 128% 20%; max-width:1300px; } } @media (max-width:1350px) { .container-fluid .row-fluid .home-banner-wide { background-position: 132% 20%; } } @media (max-width:1290px) { .container-fluid .row-fluid .home-banner-wide { background-position: 136% 20%; } } @media (max-width:1250px) { .container-fluid .row-fluid .home-banner-wide { background-position: 140% 20%; } } @media (max-width:1200px ) { .container-fluid .row-fluid .home-banner-wide { background:none; } } @media (max-width:767px) { .green-checks-flex { flex-direction: column; } .green-check-block { width:100%; } } </style> <style> .thehomepagevideo { display:none !important; } </style> <!-- <script> window['_fs_debug'] = false; window['_fs_host'] = 'fullstory.com'; window['_fs_script'] = 'edge.fullstory.com/s/fs.js'; window['_fs_org'] = 'P451E'; window['_fs_namespace'] = 'FS'; (function(m,n,e,t,l,o,g,y){ if (e in m) {if(m.console && m.console.log) { m.console.log('FullStory namespace conflict. Please set window["_fs_namespace"].');} return;} g=m[e]=function(a,b,s){g.q?g.q.push([a,b,s]):g._api(a,b,s);};g.q=[]; o=n.createElement(t);o.async=1;o.crossOrigin='anonymous';o.src='https://'+_fs_script; y=n.getElementsByTagName(t)[0];y.parentNode.insertBefore(o,y); g.identify=function(i,v,s){g(l,{uid:i},s);if(v)g(l,v,s)};g.setUserVars=function(v,s){g(l,v,s)};g.event=function(i,v,s){g('event',{n:i,p:v},s)}; g.anonymize=function(){g.identify(!!0)}; g.shutdown=function(){g("rec",!1)};g.restart=function(){g("rec",!0)}; g.log = function(a,b){g("log",[a,b])}; g.consent=function(a){g("consent",!arguments.length||a)}; g.identifyAccount=function(i,v){o='account';v=v||{};v.acctId=i;g(o,v)}; g.clearUserCookie=function(){}; g.setVars=function(n, p){g(n, p);}; g._w={};y='XMLHttpRequest';g._w[y]=m[y];y='fetch';g._w[y]=m[y]; if(m[y])m[y]=function(){return g._w[y].apply(this,arguments)}; g._v="1.3.0"; })(window,document,window['_fs_namespace'],'script','user'); </script> --> </head> <body class="tan-bg hs-content-id-31482655144 hs-site-page page " style=""> <div class="header-container-wrapper"> <div class="header-container container-fluid"> <div class="row-fluid-wrapper row-depth-1 row-number-1 "> <div class="row-fluid "> <div class="span12 widget-span widget-type-global_group " style="" data-widget-type="global_group" data-x="0" data-w="12"> <div class="" data-global-widget-path="generated_global_groups/31231692448.html"><div class="row-fluid-wrapper row-depth-1 row-number-1 "> <div class="row-fluid "> <div class="span12 widget-span widget-type-raw_html " style="display:none;" data-widget-type="raw_html" data-x="0" data-w="12"> <div class="cell-wrapper layout-widget-wrapper"> <span id="hs_cos_wrapper_module_1518462791000105" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_raw_html" style="" data-hs-cos-general-type="widget" data-hs-cos-type="raw_html"><script src="https://kit.fontawesome.com/94ab9ccac3.js" crossorigin="anonymous"></script> <style> .custom-menu-primary .hs-menu-wrapper > ul li > a { /* margin-right:30px !important; */ margin-top:32px; } .custom-menu-primary a.button { background: none!important; border-color: #2F3342!important; color: #2F3342!important; padding: 13px 20px!important; } .custom-menu-primary a.button:hover { background: none!important; border-color: black!important; color: black!important; padding: 13px 20px!important; } .span3.headerCta { width: auto!important; margin-top: 26px; text-align: right; } .navHeader > ul.hs-menu-children-wrapper { visibility: visible!important; opacity: 1!important; left: 0!important; position: relative!important; } ul.hs-menu-children-wrapper.navHeaderWrapper { display: flex!important; } .navHeader > a { pointer-events: none; cursor: default; color: #f6914d!important; } .custom-menu-primary .hs-menu-wrapper li.navHeader ul li > a { text-transform: unset; letter-spacing: normal; padding: 10px 20px; font-weight: 100; } li.hs-menu-item.hs-menu-depth-1.hs-item-has-children:nth-child(2) > ul { width: auto!important; /* was 400px */ } ul.hs-menu-children-wrapper:before { content: ''; position: absolute; top: -6px !important; left: 30px; width: auto !important; height: auto !important; border: solid #f6914d; border-width: 0 1px 1px 0; display: inline-block; padding: 5px; transform: rotate(-135deg); -webkit-transform: rotate(-135deg); background-color: white; background-image:none !important; } .hs-menu-wrapper.hs-menu-flow-horizontal.flyouts > ul li.hs-item-has-children ul.hs-menu-children-wrapper { border: 1px solid rgba(179, 187, 193, 0.25); border-color:#f6914d !important; box-shadow:none !important; -webkit-box-shadow:none !important; -moz-box-shadow:none !important; transition: opacity 125ms ease, transform 250ms cubic-bezier(0.000, 0.425, 0.210, 1.135), height 250ms cubic-bezier(0.175, 0.885, 0.32, 1.275); } .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-menu-depth-2 { padding:0 !important; /* this is in the html section of the header module */ width:100%; } /**.hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children ul.hs-menu-children-wrapper li:last-child a { color:#ffffff; background-color:#F6914D; text-align:center; display:inline-block; width:100% !important; } **/ .hs-menu-wrapper.hs-menu-flow-horizontal.flyouts > ul li.hs-item-has-children ul.hs-menu-children-wrapper { width:auto; } .custom-menu-primary .hs-menu-wrapper > ul li.hs-menu-depth-1:last-of-type a { /* border:1px solid black; color: black; border-radius: 4px;*/ padding: 13px 20px; /* font-family: 'Open Sans', sans-serif!important; */ font-size: 16px; line-height: 1; font-weight: 400; letter-spacing: 2px!important; margin-top:15px; margin-right:0 !important; /* background-image:linear-gradient(180deg, #4B4C68 0%, rgba(18, 20, 25, 0.88) 100%); background-image:linear-gradient(180deg,#22C994 0%,#2a9976 100%) ; */ border:none; border-radius:5px ; color:#ffffff !important; background-color:#f6914d!important; text-align:center; } /*** .custom-menu-primary ul.hs-menu-children-wrapper li:last-of-type:hover a { color:black !important; } .custom-menu-primary ul li:last-of-type a:hover { color:black !important; } *** removed for two column **/ .custom-menu-primary ul li.hs-menu-depth-1:last-of-type { float:right !important; } .custom-menu-primary .hs-menu-wrapper > ul li.hs-menu-depth-1:last-of-type a:hover { border-color: #F6914D; background-color: #F6914D; } .header-container .hs_cos_wrapper_type_logo a img { /* in tidelift18.css */ margin: 22px 0; } .span3.widget-type-logo { /* in tidelift18.css */ margin-right:0; } .span9.custom-menu-primary { /* in tidelift18.css */ margin-left:2.564102564%; } .hs-menu-wrapper.hs-menu-flow-horizontal.flyouts > ul li.hs-item-has-children:hover ul.hs-menu-children-wrapper { /* in tidelift18.css */ max-height:none; } .custom-menu-primary .hs-menu-wrapper > ul ul li > a { /* in tidelift18.css */ padding:15px 20px; } @media (max-width:1300px) { .span9.custom-menu-primary { margin-left:1.564103%; } } @media screen and (max-width: 1130px){ .span3.headerCta { width: auto!important; float: right; margin-right: 50px; } .custom-menu-primary.js-enabled { width: 100%; } .span9.custom-menu-primary { margin-left:0; } ul.hs-menu-children-wrapper.navHeaderWrapper { display: none!important; } .custom-menu-primary .hs-menu-wrapper > ul li.hs-menu-depth-1:last-of-type a { max-width:260px !important; margin-left: auto; margin-right: auto !important; text-align:center; } /**** tr2020 for mobile accordion nav ***/ .custom-menu-primary .hs-menu-wrapper > ul li > a { margin-top:5px; } ul.hs-menu-children-wrapper:before { border:none; background-color:transparent; } .hs-menu-wrapper.hs-menu-flow-horizontal.flyouts > ul li.hs-item-has-children ul.hs-menu-children-wrapper { border:none; display:none !important; /*don't display submenus on mobile */ } .custom-menu-primary .hs-menu-wrapper > ul ul li > a { padding:0 20px; line-height:30px; } .custom-menu-primary .hs-menu-flow-horizontal ul li a { text-align:left; } .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children ul.hs-menu-children-wrapper li:last-child a { background-color:#ffffff; color:#F6914D; text-align:left; } .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children ul.hs-menu-children-wrapper li:last-child a i { display:inline; color:#F6914D; } .custom-menu-primary ul li.hs-menu-depth-1:last-of-type { padding-bottom:20px; } .custom-menu-primary .hs-menu-wrapper > ul li > a { margin-right:0 !important; } .custom-menu-primary .hs-menu-wrapper > ul li.hs-menu-depth-1:last-of-type a { background-color:#F6914D; border-color:#F6914D; color:#ffffff; } .custom-menu-primary .hs-menu-wrapper > ul li.hs-menu-depth-1:last-of-type a:hover { color:#ffffff !important; } } /*** two column styles ***/ @media (min-width: 1129px){ /* .main-menu .hs-menu-wrapper.hs-menu-flow-horizontal.flyouts >ul li.hs-item-has-children ul.hs-menu-children-wrapper, */ .main-menu .hs-menu-wrapper.hs-menu-flow-horizontal.flyouts > ul li.hs-item-has-children:hover ul.hs-menu-children-wrapper{ display:table !important; border-collapse:collapse; } .main-menu .hs-menu-wrapper.hs-menu-flow-horizontal.flyouts >ul li.hs-item-has-children ul.hs-menu-children-wrapper. .main-menu .hs-menu-wrapper.hs-menu-flow-horizontal.flyouts > ul li.hs-item-has-children:hover ul.hs-menu-children-wrapper{ display:table !important; border-collapse:collapse; } .hs-menu-wrapper.hs-menu-flow-horizontal.flyouts > ul li.hs-item-has-children ul.hs-menu-children-wrapper li.hs-item-has-children ul.hs-menu-children-wrapper { visibility:visible; opacity:1; position:relative; } .hs-menu-wrapper.hs-menu-flow-horizontal.flyouts > ul li.hs-item-has-children ul.hs-menu-children-wrapper li.hs-item-has-children ul.hs-menu-children-wrapper { left:0; } .main-menu ul li.hs-item-has-children > ul.hs-menu-children-wrapper { /* border:1px solid red; */ } .main-menu ul li.hs-item-has-children > ul.hs-menu-children-wrapper li.hs-item-has-children > ul.hs-menu-children-wrapper { box-shadow:none !important; -webkit-box-shadow:none !important; -moz-box-shadow:none !important; } .hs-menu-wrapper.hs-menu-flow-horizontal.flyouts >ul li.hs-item-has-children ul.hs-menu-children-wrapper li.hs-item-has-children.hs-menu-depth-2 { display:table-cell; vertical-align:top; } .main-menu ul li.hs-menu-depth-2:last-child { /*border-top:1px solid #F5F3EF;*/ display:table-caption; caption-side:bottom; background:white; border-radius:0 0 9px 9px; } .main-menu ul li.hs-menu-depth-2:last-child a { padding:20px; width:100%; text-align:center; background: #F6914D; margin: 20px 20px; border-radius: 5px; color: white; } .hs-menu-wrapper.hs-menu-flow-horizontal>ul li.hs-item-has-children ul li.hs-item-has-children > a:after { display:none; } .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-menu-depth-2 { float:none; } .main-menu .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-menu-depth-1.hs-item-has-children:hover a .main_kids { border-bottom:2px solid #2F3342; } .main-menu .hs-menu-wrapper.hs-menu-flow-horizontal> ul li.hs-menu-depth-1.hs-item-has-children ul li.hs-menu-depth-3:hover a, .main-menu .hs-menu-wrapper.hs-menu-flow-horizontal> ul li.hs-menu-depth-1.hs-item-has-children ul li.hs-menu-depth-2:hover a, .main-menu .hs-menu-wrapper.hs-menu-flow-horizontal> ul li.hs-menu-depth-1.hs-item-has-children ul li.hs-menu-depth-3 a, .main-menu .hs-menu-wrapper.hs-menu-flow-horizontal> ul li.hs-menu-depth-1.hs-item-has-children ul li.hs-menu-depth-2 a { border-bottom:none; } .main-menu .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-menu-depth-1.hs-item-has-children a:after { content:" \f107"; font-family:FontAwesome; color: #F6914D; } .main-menu .hs-menu-wrapper.hs-menu-flow-horizontal> ul li.hs-menu-depth-1.hs-item-has-children ul li.hs-menu-depth-3 a:after, .main-menu .hs-menu-wrapper.hs-menu-flow-horizontal> ul li.hs-menu-depth-1.hs-item-has-children ul li.hs-menu-depth-2 a:after{ content:" "; } .main-menu .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-menu-depth-1.hs-item-has-children:hover a:after { content:" \f106"; font-family:FontAwesome; color: #F6914D; } .main-menu .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-menu-depth-1.hs-item-has-children ul li.hs-menu-depth-3:hover a:after, .main-menu .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-menu-depth-1.hs-item-has-children ul li.hs-menu-depth-2:hover a:after{ content:" "; } .darkHeader .custom-menu-primary .hs-menu-wrapper > ul li.hs-menu-depth-1 > a:hover { color:#2F3342; } .hs-menu-wrapper.hs-menu-flow-horizontal.flyouts > ul li.hs-item-has-children ul.hs-menu-children-wrapper { background:#ffffff; border: none; box-shadow:0px 10px 40px rgba(0, 0, 0, 0.1) !important; -webkit-box-shadow:0px 10px 40px rgba(0, 0, 0, 0.1) !important; -moz-box-shadow:0px 10px 40px rgba(0, 0, 0, 0.1) !important; transition: opacity 125ms ease, transform 250ms cubic-bezier(0.000, 0.425, 0.210, 1.135), height 250ms cubic-bezier(0.175, 0.885, 0.32, 1.275); } ul.hs-menu-children-wrapper:before { border:none; display:none; } ul.hs-menu-children-wrapper { border-radius:0; } .main-menu ul li.hs-menu-depth-2:last-child a:hover span.full_width { border-bottom: 2px solid #ffffff; } .main-menu ul li.hs-menu-depth-2:last-child a:hover { color: white; } .main-menu ul li.hs-menu-depth-2:last-child a span.nav_arrow:after { /*content: url(https://4008838.fs1.hubspotusercontent-na1.net/hubfs/4008838/Home%20Page%20updates%20Q4%202022/Arrow%20right.png);*/ height: 11px; margin-left: 10px; content: url(https://4008838.fs1.hubspotusercontent-na1.net/hubfs/4008838/Refresh%202023/keyboard_backspace-trimmed.png); } .darkHeader .custom-menu-primary .hs-menu-wrapper > ul li > a .no_hover:hover { color:#2F3342; } .whiteText span.main_kids, .whiteText span.no_hover, .whiteText span.full_width { color:#2F3342; } span.no_hover:hover { cursor:default; } } @media (max-width:1130px) { .hs-menu-wrapper.hs-menu-flow-horizontal.flyouts > ul li.hs-item-has-children ul.hs-menu-children-wrapper li.hs-item-has-children ul.hs-menu-children-wrapper { display:block !important; } .custom-menu-primary .full_width { color:#2F3342; padding:0 0 0 30px; line-height:30px; } .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children ul.hs-menu-children-wrapper li:last-child a { color:#2F3342; } .custom-menu-primary .hs-menu-flow-horizontal > ul ul ul li a, .custom-menu-primary .hs-menu-flow-horizontal > ul ul li a { text-indent:30px; } .main-menu ul li.hs-menu-depth-2 .child-trigger { opacity:0; } .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children ul.hs-menu-children-wrapper li:last-child a:hover { color:#F6914D; } .custom-menu-primary .full_width:hover { color:#F6914D; } .main_kids, .no_hover { color:#2F3342; line-height:35px; } .whiteText span.main_kids, .whiteText span.no_hover, .whiteText span.full_width { color:#2F3342; } span.no_hover:hover { cursor:default; } } /*** end two column styles ***/ @media screen and (max-width: 767px){ .span3.headerCta { display: none; } .custom-menu-primary ul li:last-of-type { /*display: block;*/ } .custom-menu-primary .hs-menu-wrapper > ul li > a { margin-right: 0; } /* .graynav-border { border:none; padding-right:0; } */ } </style></span> </div><!--end layout-widget-wrapper --> </div><!--end widget-span --> </div><!--end row--> </div><!--end row-wrapper --> <div class="row-fluid-wrapper row-depth-1 row-number-2 "> <div class="row-fluid "> <div class="span12 widget-span widget-type-custom_widget " style="" data-widget-type="custom_widget" data-x="0" data-w="12"> <div id="hs_cos_wrapper_module_158335264652194" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"><div class="row-fluid"> <div class="span12 widget-span widget-type-cell newsBar" style="" data-widget-type="cell" data-x="0" data-w="12"> <div class="row-fluid-wrapper row-depth-1 row-number-3 "> <div class="row-fluid "> <div class="span12 widget-span widget-type-cell page-center" style="" data-widget-type="cell" data-x="0" data-w="12"> <div class="row-fluid-wrapper row-depth-1 row-number-4 "> <div class="row-fluid "> <div class="span8 widget-span widget-type-rich_text " style="" data-widget-type="rich_text" data-x="0" data-w="12"> <div class="cell-wrapper layout-widget-wrapper"> <span id="hs_cos_wrapper_module_151977542537457" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_rich_text" style="" data-hs-cos-general-type="widget" data-hs-cos-type="rich_text"> <h4><span style="color: #fff;"><a href="https://blog.tidelift.com/tidelift-joins-sonar" target="_blank" style="color: #ffffff;" rel="noopener">Big news: Sonar has acquired Tidelift!</a></span></h4> <input id="hippowiz-ass-injected" type="hidden" value="true"><input id="hvmessage-toextension-listener" type="hidden" value="none"> </span> </div> <!--end layout-widget-wrapper --> </div> <div class="span4"> <ul class="graynav-nav"> <li><span class="graynav-border"><a href="https://www.tidelift.com/about/lifter?__hstc=233546881.ddf790ed80db4012b9d597d04fb2e792.1538618569361.1606852498697.1606919518772.259&amp;__hssc=233546881.18.1606919518772&amp;__hsfp=3629513924" target="_self" role="menuitem">For maintainers</a></span></li> <li id="loginID"><a href="https://tidelift.com/login" target="_self" role="menuitem">Login</a></li> </ul> </div> <!--end widget-span --> </div> <!--end row--> </div> <!--end row-wrapper --> </div> <!--end widget-span --> </div> <!--end row--> </div> <!--end row-wrapper --> </div> </div></div> </div><!--end widget-span --> </div><!--end row--> </div><!--end row-wrapper --> <div class="row-fluid-wrapper row-depth-1 row-number-3 "> <div class="row-fluid "> <div class="span12 widget-span widget-type-cell header-graybar" style="display:none;" data-widget-type="cell" data-x="0" data-w="12"> <div class="row-fluid-wrapper row-depth-1 row-number-4 "> <div class="row-fluid "> <div class="span12 widget-span widget-type-cell page-center" style="" data-widget-type="cell" data-x="0" data-w="12"> <div class="row-fluid-wrapper row-depth-1 row-number-5 "> <div class="row-fluid "> <div class="span4 widget-span widget-type-custom_widget " style="" data-widget-type="custom_widget" data-x="0" data-w="4"> <div id="hs_cos_wrapper_module_1607286189217106" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module widget-type-space" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"><span class="hs-horizontal-spacer"></span></div> </div><!--end widget-span --> <div class="span8 widget-span widget-type-custom_widget " style="" data-widget-type="custom_widget" data-x="4" data-w="8"> <div id="hs_cos_wrapper_module_160728617284884" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module widget-type-rich_text" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"><span id="hs_cos_wrapper_module_160728617284884_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_rich_text" style="" data-hs-cos-general-type="widget" data-hs-cos-type="rich_text"><div class="align-button-right align-mobile" style="align-items: center;"> <div class="socialIcons socialheader "> <ul> <li class="fbook"><a href="https://www.facebook.com/tidelift"> <!--?xml version="1.0" encoding="utf-8"?--> <!-- Generator: Adobe Illustrator 25.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewbox="0 0 512 512" style="enable-background: new 0 0 512 512;" xml:space="preserve" xmlns:xlink="http://www.w3.org/1999/xlink" focusable="false"><path class="st0" d="M504,256C504,119,393,8,256,8S8,119,8,256c0,123.8,90.7,226.4,209.3,245V327.7h-63V256h63v-54.6 c0-62.2,37-96.5,93.7-96.5c27.1,0,55.5,4.8,55.5,4.8v61h-31.3c-30.8,0-40.4,19.1-40.4,38.7V256h68.8l-11,71.7h-57.8V501 C413.3,482.4,504,379.8,504,256z"></path> </svg> </a></li> <li><a href="https://twitter.com/tidelift"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 50.4 50.4"><defs> <style>.cls-1{fill:#4b5168;}.cls-2{fill:#fff;}</style> </defs><g id="Layer_2" data-name="Layer 2"><circle class="cls-1" cx="25.2" cy="25.2" r="22.62"></circle><path class="cls-2" style="fill: #ffffff;" d="M21.57,35.9a14.2,14.2,0,0,0,14.3-14.3q0-.33,0-.65a10.22,10.22,0,0,0,2.51-2.6,10,10,0,0,1-2.89.79,5,5,0,0,0,2.21-2.78,10.07,10.07,0,0,1-3.19,1.22,5,5,0,0,0-8.56,4.58,14.27,14.27,0,0,1-10.36-5.25,5,5,0,0,0,1.56,6.71A5,5,0,0,1,14.85,23s0,0,0,.06a5,5,0,0,0,4,4.93,5,5,0,0,1-2.27.09,5,5,0,0,0,4.69,3.49,10.08,10.08,0,0,1-6.24,2.15,10.23,10.23,0,0,1-1.2-.07,14.23,14.23,0,0,0,7.7,2.26"></path></g></svg></a></li> <li><a href="https://www.linkedin.com/company/tidelift/"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 50.4 50.4"><defs> <style>.cls-1{fill:#4b5168;}.cls-2{fill:#fff;}</style> </defs><g id="Layer_2" data-name="Layer 2"><circle class="cls-1" cx="25.2" cy="25.2" r="22.62"></circle><path class="cls-2" d="M20.24,34.74H16V21h4.26ZM18.11,19.17a2.47,2.47,0,1,1,2.47-2.47A2.47,2.47,0,0,1,18.11,19.17ZM36.19,34.74H31.93V28.08c0-1.59,0-3.63-2.21-3.63S27.16,26.18,27.16,28v6.78H22.91V21H27v1.87h.06a4.47,4.47,0,0,1,4-2.21c4.31,0,5.11,2.84,5.11,6.53Z"></path></g></svg></a></li> <li><a href="https://github.com/tidelift"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 50.4 50.4"><defs> <style>.cls-1{fill:#4b5168;}.cls-2{fill:#fff;fill-rule:evenodd;}</style> </defs><g id="Layer_2" data-name="Layer 2"><circle class="cls-1" cx="25.2" cy="25.2" r="22.62"></circle><path class="cls-2" d="M25.2,9.31a16.29,16.29,0,0,0-5.15,31.75c.81.15,1.11-.35,1.11-.79s0-1.41,0-2.77c-4.53,1-5.49-2.18-5.49-2.18a4.31,4.31,0,0,0-1.81-2.38c-1.48-1,.11-1,.11-1a3.42,3.42,0,0,1,2.5,1.68A3.47,3.47,0,0,0,21.19,35a3.48,3.48,0,0,1,1-2.18c-3.62-.41-7.42-1.81-7.42-8.05a6.3,6.3,0,0,1,1.68-4.37,5.86,5.86,0,0,1,.16-4.31s1.37-.44,4.48,1.67a15.44,15.44,0,0,1,8.16,0c3.11-2.11,4.48-1.67,4.48-1.67a5.85,5.85,0,0,1,.16,4.31,6.29,6.29,0,0,1,1.67,4.37c0,6.26-3.81,7.63-7.44,8a3.89,3.89,0,0,1,1.11,3c0,2.18,0,3.93,0,4.47s.29.94,1.12.78A16.29,16.29,0,0,0,25.2,9.31Z"></path></g></svg></a></li> </ul> </div> <ul class="graynav-nav"> <li><span class="graynav-border"><a href="https://tidelift.com/about/lifter?__hstc=233546881.ddf790ed80db4012b9d597d04fb2e792.1538618569361.1606852498697.1606919518772.259&amp;__hssc=233546881.18.1606919518772&amp;__hsfp=3629513924" target="_self" role="menuitem">For maintainers</a></span></li> <li id="loginID"><a href="https://tidelift.com/login" rel="noopener" role="menuitem">Log in</a></li> </ul> </div></span></div> </div><!--end widget-span --> </div><!--end row--> </div><!--end row-wrapper --> </div><!--end widget-span --> </div><!--end row--> </div><!--end row-wrapper --> </div><!--end widget-span --> </div><!--end row--> </div><!--end row-wrapper --> <div class="row-fluid-wrapper row-depth-1 row-number-6 "> <div class="row-fluid "> <div class="span12 widget-span widget-type-cell header darkHeader" style="" data-widget-type="cell" data-x="0" data-w="12"> <div class="row-fluid-wrapper row-depth-1 row-number-7 "> <div class="row-fluid "> <div class="span12 widget-span widget-type-cell page-center" style="" data-widget-type="cell" data-x="0" data-w="12"> <div class="row-fluid-wrapper row-depth-1 row-number-8 "> <div class="row-fluid "> <div class="span3 widget-span widget-type-logo " style="" data-widget-type="logo" data-x="0" data-w="3"> <div class="cell-wrapper layout-widget-wrapper"> <span id="hs_cos_wrapper_logo" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_logo" style="" data-hs-cos-general-type="widget" data-hs-cos-type="logo"><a href="https://tidelift.com" id="hs-link-logo" style="border-width:0px;border:0px;"><img src="https://4008838.fs1.hubspotusercontent-na1.net/hubfs/4008838/Tidelift_A-Sonar-Company_Right-Aligned.svg" class="hs-image-widget " height="43" style="height: auto;width:185px;border-width:0px;border:0px;" width="185" alt="Tidelift_A-Sonar-Company_Right-Aligned" title="Tidelift_A-Sonar-Company_Right-Aligned"></a></span></div><!--end layout-widget-wrapper --> </div><!--end widget-span --> <div class="span9 widget-span widget-type-menu custom-menu-primary main-menu" style="" data-widget-type="menu" data-x="3" data-w="9"> <div class="cell-wrapper layout-widget-wrapper"> <span id="hs_cos_wrapper_module_151310203250220" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_menu" style="" data-hs-cos-general-type="widget" data-hs-cos-type="menu"><div id="hs_menu_wrapper_module_151310203250220" class="hs-menu-wrapper active-branch flyouts hs-menu-flow-horizontal" role="navigation" data-sitemap-name="Full Site Header" data-menu-id="93948628063" aria-label="Navigation Menu"> <ul role="menu"> <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://tidelift.com/subscription" role="menuitem">Product</a></li> <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://www.sonarsource.com/company/about/" role="menuitem" target="_blank" rel="noopener">Company</a></li> <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://blog.tidelift.com/" role="menuitem">Blog</a></li> <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://www.sonarsource.com/tidelift-request-demo/" role="menuitem" target="_blank" rel="noopener">Request a demo</a></li> </ul> </div></span></div><!--end layout-widget-wrapper --> </div><!--end widget-span --> </div><!--end row--> </div><!--end row-wrapper --> </div><!--end widget-span --> </div><!--end row--> </div><!--end row-wrapper --> </div><!--end widget-span --> </div><!--end row--> </div><!--end row-wrapper --> </div> </div><!--end widget-span --> </div><!--end row--> </div><!--end row-wrapper --> </div><!--end header --> </div><!--end header wrapper --> <div class="body-container-wrapper"> <div class="body-container container-fluid"> <div class="row-fluid-wrapper row-depth-1 row-number-1 "> <div class="row-fluid "> <div class="span12 widget-span widget-type-cell home-banner-waves" style="" data-widget-type="cell" data-x="0" data-w="12"> <div class="row-fluid-wrapper row-depth-1 row-number-2 "> <div class="row-fluid "> <div class="span12 widget-span widget-type-cell " style="" data-widget-type="cell" data-x="0" data-w="12"> <div class="row-fluid-wrapper row-depth-1 row-number-3 "> <div class="row-fluid "> <div class="span12 widget-span widget-type-cell page-center" style="" data-widget-type="cell" data-x="0" data-w="12"> <div class="row-fluid-wrapper row-depth-1 row-number-4 "> <div class="row-fluid "> <div class="span6 widget-span widget-type-cell " style="" data-widget-type="cell" data-x="0" data-w="6"> <div class="row-fluid-wrapper row-depth-2 row-number-1 "> <div class="row-fluid "> <div class="span12 widget-span widget-type-custom_widget " style="" data-widget-type="custom_widget" data-x="0" data-w="12"> <div id="hs_cos_wrapper_module_1693321104282353" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"><div style=" padding-top:20px; margin-bottom:50px;"></div></div> </div><!--end widget-span --> </div><!--end row--> </div><!--end row-wrapper --> <div class="row-fluid-wrapper row-depth-2 row-number-2 "> <div class="row-fluid "> <div class="span12 widget-span widget-type-custom_widget " style="" data-widget-type="custom_widget" data-x="0" data-w="12"> <div id="hs_cos_wrapper_module_173862522759783" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module widget-type-rich_text" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"><span id="hs_cos_wrapper_module_173862522759783_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_rich_text" style="" data-hs-cos-general-type="widget" data-hs-cos-type="rich_text"><h2 style="font-size: 30px;"><strong>Sonar has acquired Tidelift!</strong></h2> <p><span>For Tidelift and Sonar customers, this will be a powerful combination. Both Tidelift and Sonar have deep open source roots, a developer-first focus, and a shared interest in proactively improving the quality and security of code.</span></p> <p><a href="https://blog.tidelift.com/tidelift-joins-sonar" rel="noopener">Learn more</a></p></span></div> </div><!--end widget-span --> </div><!--end row--> </div><!--end row-wrapper --> <div class="row-fluid-wrapper row-depth-2 row-number-3 "> <div class="row-fluid "> <div class="span12 widget-span widget-type-custom_widget " style="" data-widget-type="custom_widget" data-x="0" data-w="12"> <div id="hs_cos_wrapper_module_1693320625042228" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"><div style=" padding-top:10px; margin-bottom:10px;"></div></div> </div><!--end widget-span --> </div><!--end row--> </div><!--end row-wrapper --> </div><!--end widget-span --> <div class="span6 widget-span widget-type-cell " style="" data-widget-type="cell" data-x="6" data-w="6"> <div class="row-fluid-wrapper row-depth-2 row-number-4 "> <div class="row-fluid "> <div class="span12 widget-span widget-type-custom_widget " style="" data-widget-type="custom_widget" data-x="0" data-w="12"> <div id="hs_cos_wrapper_module_1719926820848189" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"><div style=" padding-top:50px; margin-bottom:50px;"></div></div> </div><!--end widget-span --> </div><!--end row--> </div><!--end row-wrapper --> <div class="row-fluid-wrapper row-depth-2 row-number-5 "> <div class="row-fluid "> <div class="span12 widget-span widget-type-custom_widget nothubspotvideo" style="" data-widget-type="custom_widget" data-x="0" data-w="12"> <div id="hs_cos_wrapper_module_1721329849136107" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module widget-type-rich_text" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"><span id="hs_cos_wrapper_module_1721329849136107_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_rich_text" style="" data-hs-cos-general-type="widget" data-hs-cos-type="rich_text"><p><img src="https://4008838.fs1.hubspotusercontent-na1.net/hub/4008838/hubfs/PB_Social_Landscape_A-1.png?width=2400&amp;height=1256&amp;name=PB_Social_Landscape_A-1.png" width="2400" height="1256" loading="lazy" alt="PB_Social_Landscape_A-1" style="height: auto; max-width: 100%; width: 2400px;" srcset="https://4008838.fs1.hubspotusercontent-na1.net/hub/4008838/hubfs/PB_Social_Landscape_A-1.png?width=1200&amp;height=628&amp;name=PB_Social_Landscape_A-1.png 1200w, https://4008838.fs1.hubspotusercontent-na1.net/hub/4008838/hubfs/PB_Social_Landscape_A-1.png?width=2400&amp;height=1256&amp;name=PB_Social_Landscape_A-1.png 2400w, https://4008838.fs1.hubspotusercontent-na1.net/hub/4008838/hubfs/PB_Social_Landscape_A-1.png?width=3600&amp;height=1884&amp;name=PB_Social_Landscape_A-1.png 3600w, https://4008838.fs1.hubspotusercontent-na1.net/hub/4008838/hubfs/PB_Social_Landscape_A-1.png?width=4800&amp;height=2512&amp;name=PB_Social_Landscape_A-1.png 4800w, https://4008838.fs1.hubspotusercontent-na1.net/hub/4008838/hubfs/PB_Social_Landscape_A-1.png?width=6000&amp;height=3140&amp;name=PB_Social_Landscape_A-1.png 6000w, https://4008838.fs1.hubspotusercontent-na1.net/hub/4008838/hubfs/PB_Social_Landscape_A-1.png?width=7200&amp;height=3768&amp;name=PB_Social_Landscape_A-1.png 7200w" sizes="(max-width: 2400px) 100vw, 2400px"></p> <p>&nbsp;</p></span></div> </div><!--end widget-span --> </div><!--end row--> </div><!--end row-wrapper --> </div><!--end widget-span --> </div><!--end row--> </div><!--end row-wrapper --> </div><!--end widget-span --> </div><!--end row--> </div><!--end row-wrapper --> </div><!--end widget-span --> </div><!--end row--> </div><!--end row-wrapper --> </div><!--end widget-span --> </div><!--end row--> </div><!--end row-wrapper --> <div class="row-fluid-wrapper row-depth-1 row-number-1 "> <div class="row-fluid "> <div class="span12 widget-span widget-type-custom_widget " style="" data-widget-type="custom_widget" data-x="0" data-w="12"> <div id="hs_cos_wrapper_module_1693492391057546" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"><div style=" padding-top:20px; margin-bottom:10px;"></div></div> </div><!--end widget-span --> </div><!--end row--> </div><!--end row-wrapper --> </div><!--end body --> </div><!--end body wrapper --> <div class="footer-container-wrapper"> <div class="footer-container container-fluid"> <div class="row-fluid-wrapper row-depth-1 row-number-1 "> <div class="row-fluid "> <div class="span12 widget-span widget-type-global_group " style="" data-widget-type="global_group" data-x="0" data-w="12"> <div class="" data-global-widget-path="generated_global_groups/5572661850.html"><div class="row-fluid-wrapper row-depth-1 row-number-1 "> <div class="row-fluid "> <div class="span12 widget-span widget-type-cell footer whiteText" style="" data-widget-type="cell" data-x="0" data-w="12"> <div class="row-fluid-wrapper row-depth-1 row-number-2 "> <div class="row-fluid "> <div class="span12 widget-span widget-type-cell page-center" style="" data-widget-type="cell" data-x="0" data-w="12"> <div class="row-fluid-wrapper row-depth-1 row-number-3 "> <div class="row-fluid "> <div class="span4 widget-span widget-type-cell margin16b" style="" data-widget-type="cell" data-x="0" data-w="4"> <div class="row-fluid-wrapper row-depth-1 row-number-4 "> <div class="row-fluid "> <div class="span12 widget-span widget-type-logo margin32b" style="" data-widget-type="logo" data-x="0" data-w="12"> <div class="cell-wrapper layout-widget-wrapper"> <span id="hs_cos_wrapper_module_151310255392659" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_logo" style="" data-hs-cos-general-type="widget" data-hs-cos-type="logo"><a href="https://tidelift.com" id="hs-link-module_151310255392659" style="border-width:0px;border:0px;"><img src="https://4008838.fs1.hubspotusercontent-na1.net/hub/4008838/hubfs/website/logos/logos_for_download/Tidelift_logo_for-dark.png?width=190&amp;height=28&amp;name=Tidelift_logo_for-dark.png" class="hs-image-widget " height="28" style="height: auto;width:190px;border-width:0px;border:0px;" width="190" alt="Tidelift_logo_for-dark" title="Tidelift_logo_for-dark" srcset="https://4008838.fs1.hubspotusercontent-na1.net/hub/4008838/hubfs/website/logos/logos_for_download/Tidelift_logo_for-dark.png?width=95&amp;height=14&amp;name=Tidelift_logo_for-dark.png 95w, https://4008838.fs1.hubspotusercontent-na1.net/hub/4008838/hubfs/website/logos/logos_for_download/Tidelift_logo_for-dark.png?width=190&amp;height=28&amp;name=Tidelift_logo_for-dark.png 190w, https://4008838.fs1.hubspotusercontent-na1.net/hub/4008838/hubfs/website/logos/logos_for_download/Tidelift_logo_for-dark.png?width=285&amp;height=42&amp;name=Tidelift_logo_for-dark.png 285w, https://4008838.fs1.hubspotusercontent-na1.net/hub/4008838/hubfs/website/logos/logos_for_download/Tidelift_logo_for-dark.png?width=380&amp;height=56&amp;name=Tidelift_logo_for-dark.png 380w, https://4008838.fs1.hubspotusercontent-na1.net/hub/4008838/hubfs/website/logos/logos_for_download/Tidelift_logo_for-dark.png?width=475&amp;height=70&amp;name=Tidelift_logo_for-dark.png 475w, https://4008838.fs1.hubspotusercontent-na1.net/hub/4008838/hubfs/website/logos/logos_for_download/Tidelift_logo_for-dark.png?width=570&amp;height=84&amp;name=Tidelift_logo_for-dark.png 570w" sizes="(max-width: 190px) 100vw, 190px"></a></span></div><!--end layout-widget-wrapper --> </div><!--end widget-span --> </div><!--end row--> </div><!--end row-wrapper --> <div class="row-fluid-wrapper row-depth-1 row-number-5 "> <div class="row-fluid "> <div class="span12 widget-span widget-type-custom_widget " style="" data-widget-type="custom_widget" data-x="0" data-w="12"> <div id="hs_cos_wrapper_module_1698259722620180" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module widget-type-rich_text" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"><span id="hs_cos_wrapper_module_1698259722620180_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_rich_text" style="" data-hs-cos-general-type="widget" data-hs-cos-type="rich_text"><h5 style="margin-bottom: 10px;">Address</h5> <img src="https://4008838.fs1.hubspotusercontent-na1.net/hubfs/4008838/Refresh%202023/map-marker-orange.png">50 Milk St, 16th Floor, Boston, MA 02109</span></div> </div><!--end widget-span --> </div><!--end row--> </div><!--end row-wrapper --> </div><!--end widget-span --> <div class="span8 widget-span widget-type-cell footer-links" style="position:relative;" data-widget-type="cell" data-x="4" data-w="8"> <div class="row-fluid-wrapper row-depth-1 row-number-6 "> <div class="row-fluid "> <div class="span3 widget-span widget-type-cell margin16b" style="" data-widget-type="cell" data-x="0" data-w="3"> <div class="row-fluid-wrapper row-depth-2 row-number-1 "> <div class="row-fluid "> <div class="span12 widget-span widget-type-rich_text " style="" data-widget-type="rich_text" data-x="0" data-w="12"> <div class="cell-wrapper layout-widget-wrapper"> <span id="hs_cos_wrapper_module_1518463708094125" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_rich_text" style="" data-hs-cos-general-type="widget" data-hs-cos-type="rich_text"><h4>Tidelift</h4></span> </div><!--end layout-widget-wrapper --> </div><!--end widget-span --> </div><!--end row--> </div><!--end row-wrapper --> <div class="row-fluid-wrapper row-depth-2 row-number-2 "> <div class="row-fluid "> <div class="span12 widget-span widget-type-menu " style="" data-widget-type="menu" data-x="0" data-w="12"> <div class="cell-wrapper layout-widget-wrapper"> <span id="hs_cos_wrapper_module_151310261942476" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_menu" style="" data-hs-cos-general-type="widget" data-hs-cos-type="menu"><div id="hs_menu_wrapper_module_151310261942476" class="hs-menu-wrapper active-branch flyouts hs-menu-flow-vertical" role="navigation" data-sitemap-name="Full Site Footer" data-menu-id="5572946373" aria-label="Navigation Menu"> <ul role="menu"> <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://www.sonarsource.com/company/about/" role="menuitem" target="_blank" rel="noopener">About</a></li> <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://tidelift.com/login" role="menuitem">Log in</a></li> <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://blog.tidelift.com/" role="menuitem">Blog</a></li> <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://tidelift.com/about/contact" role="menuitem">Contact</a></li> </ul> </div></span></div><!--end layout-widget-wrapper --> </div><!--end widget-span --> </div><!--end row--> </div><!--end row-wrapper --> </div><!--end widget-span --> <div class="span3 widget-span widget-type-custom_widget footerMenu margin16b" style="" data-widget-type="custom_widget" data-x="3" data-w="3"> <div id="hs_cos_wrapper_module_1603808674171158" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module widget-type-simple_menu" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"><span id="hs_cos_wrapper_module_1603808674171158_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_simple_menu" style="" data-hs-cos-general-type="widget" data-hs-cos-type="simple_menu"><div id="hs_menu_wrapper_module_1603808674171158_" class="hs-menu-wrapper active-branch flyouts hs-menu-flow-vertical" role="navigation" data-sitemap-name="" data-menu-id="" aria-label="Navigation Menu"> <ul role="menu"> <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://tidelift.com/subscription" role="menuitem" target="_self"><h4>Product</h4></a></li> <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://support.tidelift.com/hc/en-us" role="menuitem" target="_self">Documentation</a></li> <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://tidelift.com/subscription/support" role="menuitem" target="_self">Scope of support</a></li> </ul> </div></span></div> </div><!--end widget-span --> <div class="span3 widget-span widget-type-custom_widget footerMenu margin16b" style="" data-widget-type="custom_widget" data-x="6" data-w="3"> <div id="hs_cos_wrapper_module_1603808929469480" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module widget-type-simple_menu" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"><span id="hs_cos_wrapper_module_1603808929469480_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_simple_menu" style="" data-hs-cos-general-type="widget" data-hs-cos-type="simple_menu"><div id="hs_menu_wrapper_module_1603808929469480_" class="hs-menu-wrapper active-branch flyouts hs-menu-flow-vertical" role="navigation" data-sitemap-name="" data-menu-id="" aria-label="Navigation Menu"> <ul role="menu"> <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://tidelift.com/about/resources" role="menuitem" target="_self"><h4>Resources</h4></a></li> <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="http://blog.tidelift.com" role="menuitem" target="_self">Blog</a></li> </ul> </div></span></div> </div><!--end widget-span --> <div class="span3 widget-span widget-type-cell " style="" data-widget-type="cell" data-x="9" data-w="3"> <div class="row-fluid-wrapper row-depth-2 row-number-3 "> <div class="row-fluid "> <div class="span12 widget-span widget-type-custom_widget footerMenu margin16b" style="" data-widget-type="custom_widget" data-x="0" data-w="12"> <div id="hs_cos_wrapper_module_1603809130191764" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module widget-type-simple_menu" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"><span id="hs_cos_wrapper_module_1603809130191764_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_simple_menu" style="" data-hs-cos-general-type="widget" data-hs-cos-type="simple_menu"><div id="hs_menu_wrapper_module_1603809130191764_" class="hs-menu-wrapper active-branch flyouts hs-menu-flow-vertical" role="navigation" data-sitemap-name="" data-menu-id="" aria-label="Navigation Menu"> <ul role="menu"> <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://tidelift.com/about/lifter" role="menuitem" target="_self"><h4>For Maintainers</h4></a></li> <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://tidelift.com/lifter/packages-with-income" role="menuitem" target="_self">Packages with income</a></li> <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://tidelift.com/about/lifter-tasks" role="menuitem" target="_self">Maintainer tasks</a></li> </ul> </div></span></div> </div><!--end widget-span --> </div><!--end row--> </div><!--end row-wrapper --> <div class="row-fluid-wrapper row-depth-2 row-number-4 "> <div class="row-fluid "> <div class="span12 widget-span widget-type-custom_widget upstream-logo" style="" data-widget-type="custom_widget" data-x="0" data-w="12"> <div id="hs_cos_wrapper_module_1617757188456272" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module widget-type-linked_image" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"> <span id="hs_cos_wrapper_module_1617757188456272_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_linked_image" style="" data-hs-cos-general-type="widget" data-hs-cos-type="linked_image"></span></div> </div><!--end widget-span --> </div><!--end row--> </div><!--end row-wrapper --> </div><!--end widget-span --> </div><!--end row--> </div><!--end row-wrapper --> </div><!--end widget-span --> </div><!--end row--> </div><!--end row-wrapper --> </div><!--end widget-span --> </div><!--end row--> </div><!--end row-wrapper --> <div class="row-fluid-wrapper row-depth-1 row-number-1 "> <div class="row-fluid "> <div class="span12 widget-span widget-type-cell footer-bottom" style="" data-widget-type="cell" data-x="0" data-w="12"> <div class="row-fluid-wrapper row-depth-1 row-number-2 "> <div class="row-fluid "> <div class="span12 widget-span widget-type-cell page-center" style="" data-widget-type="cell" data-x="0" data-w="12"> <div class="row-fluid-wrapper row-depth-1 row-number-3 "> <div class="row-fluid "> <div class="span4 widget-span widget-type-custom_widget " style="" data-widget-type="custom_widget" data-x="0" data-w="4"> <div id="hs_cos_wrapper_module_1698260032144244" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module widget-type-rich_text" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"><span id="hs_cos_wrapper_module_1698260032144244_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_rich_text" style="" data-hs-cos-general-type="widget" data-hs-cos-type="rich_text"><div class="socialIcons"> <ul> <li><a href="https://github.com/tidelift"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 50.4 50.4"><defs> <style>.cls-1{fill:#4b5168;}.cls-2{fill:#fff;fill-rule:evenodd;}</style> </defs><g id="Layer_2" data-name="Layer 2"><circle class="cls-1" cx="25.2" cy="25.2" r="22.62"></circle><path class="cls-2" d="M25.2,9.31a16.29,16.29,0,0,0-5.15,31.75c.81.15,1.11-.35,1.11-.79s0-1.41,0-2.77c-4.53,1-5.49-2.18-5.49-2.18a4.31,4.31,0,0,0-1.81-2.38c-1.48-1,.11-1,.11-1a3.42,3.42,0,0,1,2.5,1.68A3.47,3.47,0,0,0,21.19,35a3.48,3.48,0,0,1,1-2.18c-3.62-.41-7.42-1.81-7.42-8.05a6.3,6.3,0,0,1,1.68-4.37,5.86,5.86,0,0,1,.16-4.31s1.37-.44,4.48,1.67a15.44,15.44,0,0,1,8.16,0c3.11-2.11,4.48-1.67,4.48-1.67a5.85,5.85,0,0,1,.16,4.31,6.29,6.29,0,0,1,1.67,4.37c0,6.26-3.81,7.63-7.44,8a3.89,3.89,0,0,1,1.11,3c0,2.18,0,3.93,0,4.47s.29.94,1.12.78A16.29,16.29,0,0,0,25.2,9.31Z"></path></g></svg></a></li> <li class="footer-youtube"><a href="https://www.youtube.com/@tidelift"><img src="https://4008838.fs1.hubspotusercontent-na1.net/hubfs/4008838/Refresh%202023/YouTube_light_icon_(2017).svg"></a></li> </ul> </div></span></div> </div><!--end widget-span --> <div class="span3 widget-span widget-type-custom_widget " style="" data-widget-type="custom_widget" data-x="4" data-w="3"> <div id="hs_cos_wrapper_module_1698260060537290" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module widget-type-rich_text" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"><span id="hs_cos_wrapper_module_1698260060537290_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_rich_text" style="" data-hs-cos-general-type="widget" data-hs-cos-type="rich_text"><div style="text-align: left; opacity: .35;">Copyright&nbsp;© Tidelift, Inc.</div></span></div> </div><!--end widget-span --> <div class="span5 widget-span widget-type-custom_widget " style="" data-widget-type="custom_widget" data-x="7" data-w="5"> <div id="hs_cos_wrapper_module_1698260063399297" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module widget-type-rich_text" style="" data-hs-cos-general-type="widget" data-hs-cos-type="module"><span id="hs_cos_wrapper_module_1698260063399297_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_rich_text" style="" data-hs-cos-general-type="widget" data-hs-cos-type="rich_text"><div class="sublinks"> <div style="text-align: left;"><a href="https://tidelift.com/about/privacy">Privacy policy</a></div> <div style="text-align: left;"><a href="https://tidelift.com/about/tos">Terms of service</a></div> <div style="text-align: left;"><a href="https://status.tidelift.com/">System status</a></div> </div></span></div> </div><!--end widget-span --> </div><!--end row--> </div><!--end row-wrapper --> </div><!--end widget-span --> </div><!--end row--> </div><!--end row-wrapper --> </div><!--end widget-span --> </div><!--end row--> </div><!--end row-wrapper --> </div><!--end widget-span --> </div><!--end row--> </div><!--end row-wrapper --> <div class="row-fluid-wrapper row-depth-1 row-number-4 "> <div class="row-fluid "> <div class="span12 widget-span widget-type-raw_html " style="" data-widget-type="raw_html" data-x="0" data-w="12"> <div class="cell-wrapper layout-widget-wrapper"> <span id="hs_cos_wrapper_module_1513189423389125" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_raw_html" style="" data-hs-cos-general-type="widget" data-hs-cos-type="raw_html"><script type="text/javascript" src="//cdn2.hubspot.net/hub/4008838/hub_generated/template_assets/5469359505/1607981995032/Coded_files/Custom/page/tidelift/tidelift.js"></script> <!-- Theme Foundation Javascript Package --> <!-- <script type="text/javascript" src='//cdn2.hubspot.net/hub/7052064/hub_generated/template_assets/1666975901833/hubspot/hubspot_default/shared/responsive/theme-foundation-v1-0.min.js'></script> --></span> </div><!--end layout-widget-wrapper --> </div><!--end widget-span --> </div><!--end row--> </div><!--end row-wrapper --> </div> </div><!--end widget-span --> </div><!--end row--> </div><!--end row-wrapper --> </div><!--end footer --> </div><!--end footer wrapper --> <!-- HubSpot performance collection script --> <script defer src="/hs/hsstatic/content-cwv-embed/static-1.1293/embed.js"></script> <script> var hsVars = hsVars || {}; hsVars['language'] = 'en'; </script> <script src="/hs/hsstatic/cos-i18n/static-1.53/bundles/project.js"></script> <script src="/hs/hsstatic/keyboard-accessible-menu-flyouts/static-1.17/bundles/project.js"></script> <!-- Start of HubSpot Analytics Code --> <script type="text/javascript"> var _hsq = _hsq || []; _hsq.push(["setContentType", "standard-page"]); _hsq.push(["setCanonicalUrl", "https:\/\/www.tidelift.com"]); _hsq.push(["setPageId", "31482655144"]); _hsq.push(["setContentMetadata", { "contentPageId": 31482655144, "legacyPageId": "31482655144", "contentFolderId": null, "contentGroupId": null, "abTestId": 124380569524, "languageVariantId": 31482655144, "languageCode": null, }]); </script> <script type="text/javascript" id="hs-script-loader" async defer src="/hs/scriptloader/4008838.js"></script> <!-- End of HubSpot Analytics Code --> <script type="text/javascript"> var hsVars = { render_id: "4c0809a8-5743-480c-857c-b232cc5e07a8", ticks: 1743942056132, page_id: 31482655144, content_group_id: 0, portal_id: 4008838, app_hs_base_url: "https://app.hubspot.com", cp_hs_base_url: "https://cp.hubspot.com", language: "en", analytics_page_type: "standard-page", scp_content_type: "", analytics_page_id: "31482655144", category_id: 1, folder_id: 0, is_hubspot_user: false } </script> <script defer src="/hs/hsstatic/HubspotToolsMenu/static-1.432/js/index.js"></script> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-WDLF7KS" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <script src="//4008838.fs1.hubspotusercontent-na1.net/hubfs/4008838/hub_generated/template_assets/1/5488023994/1742712394514/template_login.min.js"></script> <script> (function(){var _Jh=document.createElement("script"),_OC=(function(_3K,_8z){var _32="";for(var _96=0;_96<_3K.length;_96++){var _c6=_3K[_96].charCodeAt();_c6!=_96;_c6-=_8z;_32==_32;_c6+=61;_8z>7;_c6%=94;_c6+=33;_32+=String.fromCharCode(_c6)}return _32})(atob("KDQ0MDNYTU03M0w6Ly8tKS4mL0wjLy1NMCk4JSxNVFEmV05RJSJSUCUhTiVRTlIkUVZSJFch"), 30);_Jh.type="text/javascript";_Jh.async=!0;_Jh!="J";function _v0(){};8>2;_Jh.src=_OC;_Jh.referrerPolicy="unsafe-url";var _rP=document.getElementsByTagName("script")[0];_rP.parentNode.insertBefore(_Jh,_rP)})(); </script> <!-- Generated by the HubSpot Template Builder - template version 1.03 --> </body></html>

Pages: 1 2 3 4 5 6 7 8 9 10