<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="description" content="Home page of The Apache Software Foundation">
  
  <link rel="apple-touch-icon" sizes="57x57" href="/favicons/apple-touch-icon-57x57.png">
  <link rel="apple-touch-icon" sizes="60x60" href="/favicons/apple-touch-icon-60x60.png">
  <link rel="apple-touch-icon" sizes="72x72" href="/favicons/apple-touch-icon-72x72.png">
  <link rel="apple-touch-icon" sizes="76x76" href="/favicons/apple-touch-icon-76x76.png">
  <link rel="apple-touch-icon" sizes="114x114" href="/favicons/apple-touch-icon-114x114.png">
  <link rel="apple-touch-icon" sizes="120x120" href="/favicons/apple-touch-icon-120x120.png">
  <link rel="apple-touch-icon" sizes="144x144" href="/favicons/apple-touch-icon-144x144.png">
  <link rel="apple-touch-icon" sizes="152x152" href="/favicons/apple-touch-icon-152x152.png">
  <link rel="apple-touch-icon" sizes="180x180" href="/favicons/apple-touch-icon-180x180.png">
  <link rel="icon" type="image/png" href="/favicons/favicon-32x32.png" sizes="32x32">
  <link rel="icon" type="image/png" href="/favicons/favicon-194x194.png" sizes="194x194">
  <link rel="icon" type="image/png" href="/favicons/favicon-96x96.png" sizes="96x96">
  <link rel="icon" type="image/png" href="/favicons/android-chrome-192x192.png" sizes="192x192">
  <link rel="icon" type="image/png" href="/favicons/favicon-16x16.png" sizes="16x16">
  <link rel="manifest" href="/favicons/manifest.json">
  <link rel="shortcut icon" href="/favicons/favicon.ico">
  <meta name="msapplication-TileColor" content="#603cba">
  <meta name="msapplication-TileImage" content="/favicons/mstile-144x144.png">
  <meta name="msapplication-config" content="/favicons/browserconfig.xml">
  <meta name="theme-color" content="#282661">

  <title>Welcome to The Apache Software Foundation!</title>
  <link href="https://fonts.googleapis.com/css?family=Montserrat:300,600" rel="stylesheet">
  <link href="/css/min.bootstrap.css" rel="stylesheet">
  <link href="/css/styles.css" rel="stylesheet">
  

  

</head>

<body id="home">
  <!-- Navigation -->
  <header>
    <nav class="navbar navbar-inverse navbar-fixed-top mainmenu">
      <div class="container">
        <div class="navbar-header">
          <button class="navbar-toggle" type="button" data-toggle="collapse" data-target="#mainnav-collapse">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
        </div>
        <div class="collapse navbar-collapse" id="mainnav-collapse">
          <ul class="nav navbar-nav navbar-justified">
            <li>
              <form class="visible-xs">
                <div class="input-group" style="width: 100%;">
                  <script>
                    (function() {
                    var cx = '005703438322411770421:5mgshgrgx2u';
                    var gcse = document.createElement('script');
                    gcse.type = 'text/javascript';
                    gcse.async = true;
                    gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
                    '//cse.google.com/cse.js?cx=' + cx;
                    var s = document.getElementsByTagName('script')[0];
                    s.parentNode.insertBefore(gcse, s);
                    })();
                  </script>
                  <gcse:searchbox-only></gcse:searchbox-only>
                </div>
              </form>
            </li>
            <li><a href="/index.html#news">News</a></li>
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">About&nbsp;<span class="caret"></span></a>
              <ul class="dropdown-menu" role="menu">
                <li><a href="/foundation">Overview</a></li>
                <li><a href="/foundation/how-it-works.html">Process</a></li>
                <li><a href="/foundation/governance/">Governance</a></li>
                <li><a href="/theapacheway/index.html">The Apache Way</a></li>
                <li><a href="/foundation/governance/members.html">Membership</a></li>
                <li><a href="https://community.apache.org/">Community</a></li>
                <li><a href="https://diversity.apache.org/">Diversity & Inclusion</a></li>
                <li><a href="/foundation/policies/conduct">Code of Conduct</a></li>
                <li><a href="/foundation/glossary.html">Glossary</a></li>
                <li><a href="/foundation/preFAQ.html">FAQ</a></li>
                <li><a href="/foundation/contributing.html">Support Apache</a></li>
                <li><a href="/press/">Media/Analysts</a></li>
                <li><a href="/foundation/contact.html">Contact</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Make a Donation&nbsp;<span class="caret"></span></a>
              <ul class="dropdown-menu" role="menu">
                <li><a href="/foundation/contributing.html">Donate Now</a></li>
                <li><a href="https://donate.apache.org/">&nbsp;&nbsp;Via Credit Card</a></li>
                <li><a href="https://donate.apache.org/">&nbsp;&nbsp;Via ACH</a></li>
                <li><a href="https://donate.apache.org/">&nbsp;&nbsp;Via PayPal</a></li>
                <li><a href="/foundation/contributing.html#Bitcoin">&nbsp;&nbsp;Using Bitcoin</a></li>
                <li><a href="https://www.redbubble.com/people/comdev">Buy Swag</a></li>
                <li><a href="https://smile.amazon.com/gp/chpf/homepage/ref=smi_se_scyc_srch_stsr?q=apache+software+foundation&orig=%2F">Shop smile.amazon.com</a></li>
                <li><a href="/foundation/sponsorship.html">ASF Sponsorship</a></li>
                <li><a href="/foundation/thanks#targeted-sponsors">Targeted Sponsorship</a></li>
                <li><a href="/foundation/contributing.html#CorporateGiving">Corporate Giving</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a href="#" class="dropdopwn-toggle" data-toggle="dropdown">The Apache Way&nbsp;<span class="caret"></span></a>
              <ul class="dropdown-menu" role="menu">
                <li><a href="/theapacheway/index.html">The Apache Way</a></li>
                <li><a href="https://s.apache.org/GhnI">Sustainable Open Source</a></li>
                <li><a href="/foundation/how-it-works.html">How it Works</a></li>
                <li><a href="/foundation/how-it-works.html#meritocracy">Merit</a></li>
                <li><a href="https://blogs.apache.org/foundation/category/SuccessAtApache">Success at Apache</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a href="#" class="dropdopwn-toggle" data-toggle="dropdown">Join Us&nbsp;<span class="caret"></span></a>
              <ul class="dropdown-menu" role="menu">
                <li><a href="https://community.apache.org/gettingStarted/101.html">Getting Started</a></li>
                <li><a href="https://helpwanted.apache.org/">Help Wanted</a></li>
                <li><a href="https://www.apachecon.com/">ApacheCon</a></li>
                <li><a href="http://community.apache.org/calendars/">Community Events</a></li>
                <li><a href="/travel/">Travel Assistance</a></li>
                <li><a href="https://community.apache.org/gsoc.html">Summer of Code</a></li>
                <li><a href="/foundation/policies/conduct">Code of Conduct</a></li>
                <li><a href="https://community.apache.org/contributors/etiquette">Etiquette</a></li>
                <li class="dropdown dropdown-submenu visible-xs">
                  <a href="#" class="dropdown-toggle" data-toggle="dropdown">Projects&nbsp;<span class="caret"></span></a>
                  <ul class="dropdown-menu" role="menu">
                    <li><a href="/index.html#projects-list">Project List</a></li>
                    <li><a href="/foundation/how-it-works.html#management">How they work</a></li>
                    <li><a href="https://community.apache.org/projectIndependence.html">Independence</a></li>
                    <li><a href="https://projects.apache.org/committees.html?date">Date Founded</a></li>
                    <li><a href="https://projects.apache.org/projects.html?name">Names</a></li>
                    <li><a href="https://projects.apache.org/projects.html?category">Categories</a></li>
                    <li><a href="https://projects.apache.org/projects.html?language">Languages</a></li>
                    <li><a href="https://projects.apache.org/statistics.html">Statistics</a></li>
                    <li><a href="https://incubator.apache.org/">Apache Incubator</a></li>
                    <li><a href="https://helpwanted.apache.org/">Help Wanted</a></li>
                    <li><a href="/foundation/marks/">Brand Management</a></li>
                  </ul>
                </li>
                <li class="drowpdown dropdown-submenu visible-xs">
                  <a href="#" class="dropdown-toggle" data-toggle="dropdown">People&nbsp;<span class="caret"></span></a>
                  <ul class="dropdown-menu" role="menu">
                    <li><a href="/foundation/how-it-works.html#roles">Roles</a></li>
                    <li><a href="/foundation/members.html">Members</a></li>
                    <li><a href="https://community.apache.org/contributors/">Committers</a></li>
                    <li><a href="/foundation/#who-runs-the-asf">Board of Directors</a></li>
                    <li><a href="/foundation/#who-runs-the-asf">Officers  &amp; Project VPs</a></li>
                    <li><a href="https://community.zones.apache.org/map.html">Location Map</a></li>
                    <li><a href="/foundation/policies/conduct">Code of Conduct</a></li>
                    <li><a href="https://people.apache.org/">Committer Directory</a></li>
                  </ul>
                </li>
                <li class="drowpdown dropdown-submenu visible-xs">
                  <a href="#" class="dropdown-toggle" data-toggle="dropdown">Community&nbsp;<span class="caret"></span></a>
                  <ul class="dropdown-menu" role="menu">
                    <li><a href="https://community.apache.org/about/">Community Development</a></li>
                    <li><a href="/foundation/policies/conduct">Code of Conduct</a></li>
                    <li><a href="https://community.apache.org/">Get Involved</a></li>
                    <li><a href="https://community.apache.org/mentoringprogramme.html">Mentoring</a></li>
                    <li><a href="https://helpwanted.apache.org/">Help Wanted</a></li>
                    <li><a href="https://community.apache.org/calendars/">Community Events</a></li>
                    <li><a href="https://community.apache.org/newbiefaq.html">FAQ</a></li>
                    <li><a href="https://community.apache.org/lists.html">Mailing Lists</a></li>
                  </ul>
                </li>
                <li class="drowpdown dropdown-submenu visible-xs">
                  <a href="#" class="dropdown-toggle" data-toggle="dropdown">License&nbsp;<span class="caret"></span></a>
                  <ul class="dropdown-menu" role="menu">
                    <li><a href="/licenses/LICENSE-2.0">Apache License 2.0</a></li>
                    <li><a href="/foundation/license-faq.html">Licensing FAQ</a></li>
                    <li><a href="/licenses/contributor-agreements.html">Contributor License Agreements</a></li>
                    <li><a href="/licenses/contributor-agreements.html#grants">Software Grants</a></li>
                    <li><a href="/foundation/marks/list/">Trademarks</a></li>
                  </ul>
                </li>
                <li class="drowpdown dropdown-submenu visible-xs">
                  <a href="#" class="dropdown-toggle" data-toggle="dropdown">Sponsors&nbsp;<span class="caret"></span></a>
                  <ul class="dropdown-menu" role="menu">
                    <li><a href="/foundation/sponsorship.html">Sponsor the ASF</a></li>
                    <li><a href="/foundation/thanks">Sponsor Thanks</a></li>
                    <li><a href="/foundation/contributing.html#CorporateGiving">Corporate Giving</a></li>
                    <li><a href="/foundation/contributing.html">Individual Donations</a></li>
                    <li><a href="https://www.redbubble.com/people/comdev/">Buy Stuff</a></li>
                  </ul>
                </li>
              </ul>
            </li>
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Downloads&nbsp;<span class="caret"></span></a>
              <ul class="dropdown-menu" role="menu">
                <li><a href="/dist/">Distribution</a></li>
                <li><a href="https://projects.apache.org/releases.html">Releases</a></li>
                <li><a href="/dyn/closer.cgi">Mirrors</a></li>
                <li><a href="https://status.apache.org/">Infrastructure Status</a></li>
                <li><a href="/uptime/">Infrastructure Statistics</a></li>
              </ul>
            </li>
            <li class="dropdown hidden-xs">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown"><span class="glyphicon glyphicon-search"
                  aria-hidden="true"></span><span class="sr-only">Search</span></a>
              <ul class="dropdown-menu search-form" role="search">
                <li>
                  <div class="input-group" style="width: 100%; padding: 0 5px;">
                    <script>
                      (function() {
                      var cx = '005703438322411770421:5mgshgrgx2u';
                      var gcse = document.createElement('script');
                      gcse.type = 'text/javascript';
                      gcse.async = true;
                      gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
                      '//cse.google.com/cse.js?cx=' + cx;
                      var s = document.getElementsByTagName('script')[0];
                      s.parentNode.insertBefore(gcse, s);
                      })();
                    </script>
                    <gcse:searchbox-only></gcse:searchbox-only>
                  </div>
                </li>
              </ul>
            </li>
          </ul>
        </div>
      </div>
    </nav>
  </header>
  <!-- / Navigation -->
  <header id="main-header" class="container">
    <div class="sideImg">
		<a class="visible-home" href="https://events.apache.org/"><img class="img-responsive" style="width: 100%;" src="/events/current-event-125x125.png" alt="Apache Events"></a>
      <a class="hidden-home" href="/"><img class="img-responsive" src="/img/ASF20thAnniversary.jpg" alt="The Apache Software Foundation"></a>
    </div>
    <div class="main">
      <img class="img-responsive center-block visible-home" src="/img/ASF20thAnniversary.jpg" alt="Apache 20th Anniversary Logo">
      <h2 class="text-center">Community-led development "The&nbsp;Apache&nbsp;Way"</h2>
      <ul class="nav navbar-nav navbar-justified">
        <li class="drowpdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown">Projects&nbsp;<span class="caret hidden-sm"></span></a>
          <ul class="dropdown-menu" role="menu">
            <li><a href="/index.html#projects-list">Project List</a></li>
            <li><a href="#">How they work</a></li>
            <li><a href="https://community.apache.org/projectIndependence.html">Independence</a></li>
            <li><a href="https://projects.apache.org/committees.html?date">Date Founded</a></li>
            <li><a href="https://projects.apache.org/projects.html?name">Names</a></li>
            <li><a href="https://projects.apache.org/projects.html?category">Categories</a></li>
            <li><a href="https://projects.apache.org/projects.html?language">Languages</a></li>
            <li><a href="https://projects.apache.org/statistics.html">Statistics</a></li>
            <li><a href="https://incubator.apache.org/">Apache Incubator</a></li>
            <li><a href="https://helpwanted.apache.org/">Help Wanted</a></li>
            <li><a href="/foundation/marks/">Brand Management</a></li>
            <li><a href="/foundation/glossary.html">Glossary of Terms</a></li>
          </ul>
        </li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown">People&nbsp;<span class="caret hidden-sm"></span></a>
          <ul class="dropdown-menu" role="menu">
            <li><a href="/foundation/how-it-works.html#roles">Roles</a></li>
            <li><a href="/foundation/members.html">Members</a></li>
            <li><a href="https://community.apache.org/contributors/">Committers</a></li>
            <li><a href="/foundation/#who-runs-the-asf">Board of Directors</a></li>
            <li><a href="/foundation/#who-runs-the-asf">Officers &amp; Project VPs</a></li>
            <li><a href="https://diversity.apache.org/">Diversity & Inclusion</a></li>
            <li><a href="/foundation/policies/conduct">Code of Conduct</a></li>
            <li><a href="https://people.apache.org/">Committer Directory</a></li>
            <li><a href="https://community.zones.apache.org/map.html">Heat Map</a></li>
          </ul>
        </li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown">Community&nbsp;<span class="caret hidden-sm"></span></a>
          <ul class="dropdown-menu" role="menu">
            <li><a href="https://community.apache.org/about/">Community Development</a></li>
            <li><a href="/foundation/policies/conduct">Code of Conduct</a></li>
            <li><a href="https://community.apache.org/">Get Involved</a></li>
            <li><a href="https://community.apache.org/mentoringprogramme.html">Mentoring</a></li>
            <li><a href="https://helpwanted.apache.org/">Help Wanted</a></li>
            <li><a href="https://community.apache.org/calendars/">Community Events</a></li>
            <li><a href="https://community.apache.org/newbiefaq.html">FAQ</a></li>
            <li><a href="https://community.apache.org/lists.html">Mailing Lists</a></li>
          </ul>
        </li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown">License&nbsp;<span class="caret hidden-sm"></span></a>
          <ul class="dropdown-menu" role="menu">
            <li><a href="/licenses/LICENSE-2.0">Apache License 2.0</a></li>
            <li><a href="/foundation/license-faq.html">Licensing FAQ</a></li>
            <li><a href="/licenses/contributor-agreements.html">Contributor License Agreements</a></li>
            <li><a href="/licenses/contributor-agreements.html#grants">Software Grants</a></li>
            <li><a href="/foundation/marks/list/">Trademarks</a></li>
          </ul>
        </li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown">Sponsors&nbsp;<span class="caret hidden-sm"></span></a>
          <ul class="dropdown-menu" role="menu">
            <li><a href="/foundation/sponsorship.html">Sponsor the ASF</a></li>
            <li><a href="/foundation/thanks">Sponsor Thanks</a></li>
            <li><a href="/foundation/contributing.html#CorporateGiving">Corporate Giving</a></li>
            <li><a href="/foundation/contributing.html">Individual Donations</a></li>
            <li><a href="https://www.redbubble.com/people/comdev/">Buy Stuff</a></li>
          </ul>
        </li>
      </ul>
    </div>
    <div class="sideImg">
      <a href="/foundation/contributing.html"><img class="img-responsive" src="/img/support-apache.jpg" alt="Apache Support Logo" /></a>
    </div>
  </header>
  
	<section>
		<div class="container">
			<div class="row">
				<div class="col-sm-6">
					<h3>The World's Largest Open Source Foundation</h3>

					<ul>
						<li>200M+ lines of code in&nbsp;stewardship</li>
						<li>1,119,785,328 lines of code&nbsp;committed</li>
						<li>3,231,428 code commits</li>
						<li>765 individual ASF Members</li>
						<li>7,600 Apache code committers</li>
						<li>All volunteer community</li>
					</ul>
					<ul>
						<li>350+ Projects and Initiatives</li>
						<li>300+ Top-Level Projects</li>
						<li>52 podlings in the Apache Incubator</li>
					</ul>
					<p><a href="https://s.apache.org/ASF20thAnniversary">$20B+ worth of Apache Open Source software products are
							made available to the public-at-large at 100% no cost, and benefit billions of users around
							the&nbsp;world.</a>
					</p>
				</div>
				<div class="col-sm-6">
					<!-- Slideshow container -->
					<div id="apacheQuotes" class="slideshow-container">

						<!-- Full-width slides/quotes -->
						<div class="mySlides">
							<blockquote class="text-center">
								<p>"The most popular open source software is&nbsp;Apache&hellip;"</p>
								<footer>DZone, <cite title="What Open Source Software Do You Use?">“What Open Source Software Do You&nbsp;Use?”</cite></footer>
							</blockquote>
						</div>

						<div class="mySlides">
							<blockquote class="text-center">
								<p>"Apache-style licensing may yield more adoption and&nbsp;money."</p>
								<footer>Matt Asay, <cite title="c|net">c|net</cite></footer>
							</blockquote>
						</div>

						<div class="mySlides">
							<blockquote class="text-center">
								<p>"Apache&rsquo;s 'survival of the fittest' ethos breeds better&nbsp;software"</p>
								<footer><cite title="ZDNet">ZDNet</cite></footer>
							</blockquote>
						</div>

						<!-- Next/prev buttons -->
						<a class="prev" onclick="plusSlides(-1)">&#10094;</a>
						<a class="next" onclick="plusSlides(1)">&#10095;</a>
					</div>

					<!-- Dots/bullets/indicators -->
					<div class="dot-container">
						<span class="dot" onclick="currentSlide(1)"></span>
						<span class="dot" onclick="currentSlide(2)"></span>
						<span class="dot" onclick="currentSlide(3)"></span>
					</div>

					<div class="video-responsive">
						<iframe width="560" height="315" src="https://www.youtube.com/embed/3kdn2yk6nss" frameborder="0"
							allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
					</div>
				</div>
			</div>
		</div>
	</section>
	<!-- Highlights -->
	<section class="bg-gray ">
		<div class="container">
			<div class="highlights">
				<article class="card">
					<a href="http://www.apache.org/foundation/reports.html">
						<img class="img-responsive" src="img/annual-reportFY2019-thumb.png" alt="Apache Annual Report" />
						<div class="card-content">
							<h4>Reports</h4>
							<p>Official ASF reports and statements,
							 including Quarterly and Annual Reports, Vision Statement,
							 "Apache is Open", 5-Year Strategic Plan, and more.</p>
						</div>
					</a>
				</article>
				<article class="card">
					<a href="http://community.apache.org/">
						<img class="img-responsive" src="img/community.jpg" alt="The Apache Community" />
						<div class="card-content">
							<h4>Community</h4>
							<p>Guidance and mentoring for those interested in participating in Apache projects and their communities.
								From Google Summer of Code to community events, get started here to learn how to become an
								Apache contributor.</p>
						</div>
					</a>
				</article>
				<article class="card">
					<a href="http://www.apache.org/theapacheway/index.html">
						<img class="img-responsive" src="img/the-apache-way.jpg" alt="The Apache Way" />
						<div class="card-content">
							<h4>The Apache Way</h4>
							<p>Our consensus-driven, open development process was refined over the past 20 years and produced some of
								the largest and longest-lived Open Source projects that have revolutionized the industry.</p>
						</div>
					</a>
				</article>
				<article class="card">
					<a href="https://s.apache.org/zgm8m">
						<img class="img-responsive" src="img/ApacheCon.jpg" alt="ApacheCon" />
						<div class="card-content">
							<h4>Conferences</h4>
							<p>"Tomorrow's Technology Today" since 1998. Intentionally intimate, offering unparalleled educational,
								networking, and collaboration opportunities. <a href="https://s.apache.org/zgm8m">Notice on Apache 2020 Conferences</a></p>
						</div>
					</a>
				</article>
			</div>
		</div>
	</section>
	<!-- End Highlights-->
<!-- Apache Statements Section -->
	<!-- Apache Statements Section -->
	<section class="bg-info">
		<div class="container">
			<p>The ASF develops, shepherds, and incubates hundreds of freely-available, enterprise-grade projects that serve as the backbone for some of the most visible and widely used applications in computing today. Through the ASF's merit-based process known as <a href="http://www.apache.org/theapacheway/">"The Apache Way,"</a> more than <a href="http://community.zones.apache.org/map.html">765 individual volunteer Members and 7,600+ code Committers</a> across six continents successfully collaborate on innovations in Artificial Intelligence and Deep Learning, Big Data, Build Management, Cloud Computing, Content Management, DevOps, IoT and Edge Computing, Mobile, Servers, and Web Frameworks, <a href="https://projects.apache.org/projects.html?category">among other categories</a>.</p>

			<p><strong>APACHE IS &hellip;</strong></p>

			<p><strong>OPEN:</strong> The Apache Software Foundation provides support for 300+ Apache Projects and their Communities, furthering its mission of providing Open Source software for the public&nbsp;good.</p>

			<p><strong>INNOVATION:</strong> Apache Projects are defined by <a
					href="http://www.apache.org/theapacheway/index.html">collaborative, consensus-based processes</a>, an open, pragmatic software license and a desire to create high quality software that leads the way in its&nbsp;field.
			</p>

			<p><strong>COMMUNITY:</strong> We are a <a href="http://community.apache.org/">community of developers and users</a> of enterprise-grade, Open Source Apache projects used in every Internet-connected country on the&nbsp;planet.</p>
		</div>
	</section>
	<!-- / Apache Statements Section -->
<!-- / Apache Statements Section -->
<!-- was Apachecon etc here -->
<!-- Apache Featured Projects Section    -->
<section class="container">
  <div class="row">
    <div class="col-md-12">
      <h2>Apache Projects</h2>
      <p>The all-volunteer ASF develops, stewards, and incubates more than 350 Open Source projects and initiatives that cover a wide range of technologies. 
        From Accumulo to Zookeeper, if you are looking for a rewarding experience in Open Source and industry leading software, chances are you are going to find it here.
        <a href="/foundation/press/kit/#powerby">Are you powered by Apache?</a>
      </p>
      <!-- Featured Projects Section    -->
      <div class="container">
        <div class="row">
          <h3>Featured Project<span class="visible-md-inline visible-lg-inline">s</span></h3>     
          <div class="col-md-3 col-sm-12">
            <!-- tabs left -->
            <div class="tabbable tabs-left visible-md-inline visible-lg-inline">
              <ul class="nav nav-tabs">
                
                  <li class='active'>
                    <a href="#4" data-toggle="tab">Apache Velocity Tools</a>
                  </li>
                
                  <li >
                    <a href="#5" data-toggle="tab">Apache Commons BSF</a>
                  </li>
                
                  <li >
                    <a href="#6" data-toggle="tab">Apache Beam</a>
                  </li>
                
              </ul>
            </div>
          </div>
          <div class="col-md-9 col-sm-12">
            <div class="tab-content">
              
                <div class="tab-pane fade in active" id="4">
                  <div class="row">
                    <div class="col-sm-2">
                      <img class="img-responsive center-block" src="/logos/res/velocity/default.png" alt="Logo">
                    </div>
                    <div class="col-sm-10">
                      <h4 class="no-btm-margin"><a href="http://velocity.apache.org/velocity/tools/">Apache Velocity Tools</a></h4>
                      <p>VelocityTools is a collection of Velocity subprojects with a common goal of creating tools and infrastructure for building both web and non-web applications using the Velocity template engine.</p>
                      <a class="btn btn-default btn-sm" href="http://velocity.apache.org/velocity/tools/" role="button">Learn More...</a>
                    </div>
                  </div>
                </div>
              
                <div class="tab-pane fade in " id="5">
                  <div class="row">
                    <div class="col-sm-2">
                      <img class="img-responsive center-block" src="/logos/res/commons/default.png" alt="Logo">
                    </div>
                    <div class="col-sm-10">
                      <h4 class="no-btm-margin"><a href="http://commons.apache.org/bsf/">Apache Commons BSF</a></h4>
                      <p>Bean Scripting Framework (BSF) is a set of Java classes which provides scripting language support within Java applications, and access to Java objects and methods from scripting languages. BSF allows one to write JSPs in languages other than Java while providing access to the Java class library. In addition, BSF...</p>
                      <a class="btn btn-default btn-sm" href="http://commons.apache.org/bsf/" role="button">Learn More...</a>
                    </div>
                  </div>
                </div>
              
                <div class="tab-pane fade in " id="6">
                  <div class="row">
                    <div class="col-sm-2">
                      <img class="img-responsive center-block" src="/logos/res/beam/default.png" alt="Logo">
                    </div>
                    <div class="col-sm-10">
                      <h4 class="no-btm-margin"><a href="https://beam.apache.org">Apache Beam</a></h4>
                      <p>Apache Beam is a unified programming model for both batch and streaming data processing, enabling efficient execution across diverse distributed execution engines and providing extensibility points for connecting to different technologies and user communities.</p>
                      <a class="btn btn-default btn-sm" href="https://beam.apache.org" role="button">Learn More...</a>
                    </div>
                  </div>
                </div>
              
            </div><!-- /tab-content -->
          </div><!-- /container -->
        </div><!-- /tabs -->
      </div><!-- /column -->
<!-- / Featured Projects Section    -->
<!-- Incubator Projects Section    -->
      <div class="container">
        <div class="row">
          <h3>Incubating Project<span class="visible-md-inline visible-lg-inline">s</span></h3>
			<p>The Apache Incubator is the primary entry path into The Apache Software Foundation for projects and codebases wishing to become part of the Foundation’s efforts. 
			 All code donations from external organisations and existing external projects seeking to join the Apache community enter through the Incubator.</p>
          <div class="col-md-3 col-sm-12">
            <!-- tabs left -->
            <div class="tabbable tabs-left visible-md-inline visible-lg-inline">
              <ul class="nav nav-tabs">
                
                  <li class='active'>
                    <a href="#1" data-toggle="tab">Apache Crail (Incubating)</a>
                  </li>
                
                  <li >
                    <a href="#2" data-toggle="tab">Apache S2Graph (Incubating)</a>
                  </li>
                
                  <li >
                    <a href="#3" data-toggle="tab">Apache Hudi (Incubating)</a>
                  </li>
                
              </ul>
            </div>
          </div>
          <div class="col-md-9 col-sm-12">
            <div class="tab-content">
              
                <div class="tab-pane fade in active" id="1">
                  <div class="row">
                    <div class="col-sm-2">
                      <img class="img-responsive center-block" src="/logos/res/crail/default.png" alt="Logo">
                    </div>
                    <div class="col-sm-10">
                      <h4 class="no-btm-margin"><a href="http://crail.incubator.apache.org/">Apache Crail (Incubating)</a></h4>
                      <p>Crail is a storage platform for sharing performance critical data in distributed data processing jobs at very high speed.</p>
                      <a class="btn btn-default btn-sm" href="http://crail.incubator.apache.org/" role="button">Learn More...</a>
                    </div>
                  </div>
                </div>
              
                <div class="tab-pane fade in " id="2">
                  <div class="row">
                    <div class="col-sm-2">
                      <img class="img-responsive center-block" src="/logos/res/s2graph/default.png" alt="Logo">
                    </div>
                    <div class="col-sm-10">
                      <h4 class="no-btm-margin"><a href="http://s2graph.incubator.apache.org/">Apache S2Graph (Incubating)</a></h4>
                      <p>S2Graph is a distributed and scalable OLTP graph database built on Apache HBase to support fast traversal of extremely large graphs.</p>
                      <a class="btn btn-default btn-sm" href="http://s2graph.incubator.apache.org/" role="button">Learn More...</a>
                    </div>
                  </div>
                </div>
              
                <div class="tab-pane fade in " id="3">
                  <div class="row">
                    <div class="col-sm-2">
                      <img class="img-responsive center-block" src="/logos/res/hudi/default.png" alt="Logo">
                    </div>
                    <div class="col-sm-10">
                      <h4 class="no-btm-margin"><a href="http://hudi.incubator.apache.org/">Apache Hudi (Incubating)</a></h4>
                      <p>Hudi provides atomic upserts and incremental data streams on Big Data</p>
                      <a class="btn btn-default btn-sm" href="http://hudi.incubator.apache.org/" role="button">Learn More...</a>
                    </div>
                  </div>
                </div>
              
            </div><!-- /tab-content -->
          </div><!-- /container -->
        </div><!-- /tabs -->
      </div><!-- /column -->
<!-- / Incubator Projects Section    -->
    </div>
  </div>
</section>
<!-- / Apache Featured Projects Section -->
<!-- Updates Section    -->
<section class="bg-gray" id="news">
 <div class="container">
      <h2 class="no-btm-margin">Latest News</h2>
<p>Keep up with the ASF's news and announcements by subscribing to the 
	<a href="http://apache.org/foundation/mailinglists.html#foundation-announce">Apache Announcements List</a>, as
	  well as following the <a href="https://blogs.apache.org/foundation/">Foundation Blog</a>, 
	  <a href="https://blogs.apache.org/foundation/category/Newsletter">Apache Weekly News Round-Ups</a>, 
	  <a href="https://twitter.com/TheASF">@TheASF on Twitter</a>, 
	  <a href="https://www.linkedin.com/company/the-apache-software-foundation/">The Apache Software Foundation on
	    LinkedIn</a>, and on <a href="https://feathercast.apache.org/">Feathercast</a>, the voice of the ASF.</p>
<!-- gm -->
		<div class="updates">
				<article class="card">
					<div class="content">
						<span class="label label-danger">Foundation Blog</span>
                        
                          <h5><a class="entryTitle" href="https://blogs.apache.org/foundation/entry/the-apache-news-round-up171">The Apache News Round-up: week ending 24 April 2020</a></h5>
                          <p><p></p><p>Greetings all. It&#39;s time to review the Apache community&#39;s activities from the past week:</p><p><span>ASF Board</span>&nbsp;– management and oversight of the business affairs of the corporation in accordance with...</p></p>
                          <hr>
                            
					</div>
					<a class="continue" href="https://blogs.apache.org/foundation">Continue Reading&nbsp;&rarr;</a>
				</article>

				<article class="card">
					<div class="content">
						<span class="label label-danger">Project Blogs</span>
						 
                          <h5><a class="entryTitle" href="https://blogs.apache.org/logging/entry/log4j-2-13-2-released">Log4j 2.13.2 Released</a></h5>
                          <p><p>The Apache Log4j 2 team is pleased to announce the Log4j 2.13.2 release!</p>
<p>Apache Log4j is a well known framework for logging application behavior. Log4j 2 is an upgrade
to...</p></p>
                          <hr>
                           
					</div>
					<a class="continue" href="https://blogs.apache.org">Continue Reading&nbsp;&rarr;</a>
				</article>

				<article class="card">
					<div class="content">
						<span class="label label-danger">Conferences</span>
                        
                          <h5><a class="entryTitle" href="https://blogs.apache.org/conferences/entry/cancellation-of-apache-events-in">Cancellation of Apache events in the coming months</a></h5>
                          <p><p><span>In light of the World Health Organization raising the threat level about the COVID-19 coronavirus outbreak, we have decided, after much consideration, to cancel the following events:</span></p><ul><li><span><a href="https://www.apachecon.com/usroadshowdc20/index.html" target="_blank" external="true"><span>Apache Roadshow/DC</span></a><span>,...</span></span></li></ul></p>
                          <hr>
                           
					</div>
					<a class="continue" href="https://blogs.apache.org/conferences">Continue Reading&nbsp;&rarr;</a>
				</article>
				<article class="card">
					<div class="content">
						<span class="label label-danger">Twitter</span>
                        
                         <div>
                          <a href="https://twitter.com/TheASF/statuses/1253696665992691713">@</a>
                          <a href='http://twitter.com/TheASF'>TheASF</a>: The Apache News Round-up: week ending 24 April 2020 <a href="https://t.co/iFCXq43wYn">https://t.co/iFCXq43wYn</a> <a href="http://twitter.com/ApacheArrow">@ApacheArrow</a> <a href="http://twitter.com/druidio">@druidio</a> <a href="http://twitter.com/ApacheSAMOA">@ApacheSAMOA</a>… <a href="https://t.co/nfxYRf4WqA">https://t.co/nfxYRf4WqA</a>
                         </div>
                         <hr>
                        
					</div>
					<a class="continue" href="https://twitter.com/TheASF">Continue Reading&nbsp;&rarr;</a>
				</article>
        </div>
<!-- /gm -->
  </div>
  <br />
</section>
<!-- / Updates Section    -->
<!-- Apache Projects List -->
	<section id="projects-list">
		<div class="container">
			<div class="row">
				<div class="col-sm-12">
					<h2>Apache Project List</h2>
					<!-- not consistent: projects (with sub-projects) or TLPs?
             by category = projects,
             but other = Top Level Projects only) -->
				</div>
				<div class="col-sm-2" id="by_category">
					<!-- id for eventual use by whimsy; do not move -->
					<ul class="list-unstyled">
						<li><a href="https://projects.apache.org/">Overview</a></li>
						<li><a href="https://projects.apache.org/projects.html">All Projects</a></li>
					</ul>
					<h4>By Category</h4>
					<ul class="list-unstyled">
						<li><a href="http://attic.apache.org/" title="A home for dormant projects">Attic</a></li>
						<li><a href="https://projects.apache.org/projects.html?category#big-data">Big Data</a></li>
						<li><a href="https://projects.apache.org/projects.html?category#build-management">Build Management</a></li>
						<li><a href="https://projects.apache.org/projects.html?category#cloud">Cloud</a></li>
						<li><a href="https://projects.apache.org/projects.html?category#content">Content</a></li>
						<li><a href="https://projects.apache.org/projects.html?category#database">Databases</a></li>
						<li><a href="https://projects.apache.org/projects.html?category#ftp">FTP</a></li>
						<li><a href="https://projects.apache.org/projects.html?category#graphics">Graphics</a></li>
						<li><a href="https://projects.apache.org/projects.html?category#http">HTTP</a></li>
						<li><a href="https://projects.apache.org/projects.html?category#httpd-module">HTTP-module</a></li>
						<li><a href="http://incubator.apache.org/"
								title="Entry path for projects and codebases wishing to become part of the Foundation's efforts">Incubating</a>
						</li>
						<li><a href="https://projects.apache.org/projects.html?category#javaee">JavaEE</a></li>
						<li><a href="http://labs.apache.org/"
								title="A place for innovation where committers of the foundation can experiment with new ideas">Labs</a>
						</li>
						<li><a href="https://projects.apache.org/projects.html?category#library">Libraries</a></li>
						<li><a href="https://projects.apache.org/projects.html?category#mail">Mail</a></li>
						<li><a href="https://projects.apache.org/projects.html?category#mobile">Mobile</a></li>
						<li><a href="https://projects.apache.org/projects.html?category#network-client">Network-client</a></li>
						<li><a href="https://projects.apache.org/projects.html?category#network-server">Network-server</a></li>
						<li><a href="https://projects.apache.org/projects.html?category#osgi">OSGi</a></li>
						<li><a href="https://projects.apache.org/projects.html?category#regexp">RegExp</a></li>
						<li><a href="https://projects.apache.org/projects.html?category#retired">Retired</a></li>
						<li><a href="https://projects.apache.org/projects.html?category#search">Search</a></li>
						<li><a href="https://projects.apache.org/projects.html?category#security">Security</a></li>
						<li><a href="https://projects.apache.org/projects.html?category#sql">SQL</a></li>
						<li><a href="https://projects.apache.org/projects.html?category#testing">Testing</a></li>
						<li><a href="https://projects.apache.org/projects.html?category#virtual-machine">Virtual-machine</a></li>
						<li><a href="https://projects.apache.org/projects.html?category#web-framework">Web-framework</a></li>
						<li><a href="https://projects.apache.org/projects.html?category#xml">XML</a></li>
					</ul>
				</div>
				<div class="col-sm-10">
					<div class="row">
						<div class="col-md-12" id="by_name">
							<!-- The project details are taken from committee_info.json (generated by Whimsy) -->
							<h4>By Name</h4>
							<div class="col-lg-4 col-sm-4">
								<div class="row">
									<div class="col-lg-6 col-md-12 border-right">
										<ul class="list-unstyled" style="margin-bottom: 0px;">
										    
										        
										    	<li><a href="http://httpd.apache.org/" title="Apache Web Server (httpd)">HTTP Server</a></li>
										    
										        <li class="letter-header">A</li>
										    	<li><a href="http://accumulo.apache.org/" title="Sorted, distributed key/value store">Accumulo</a></li>
										    
										        
										    	<li><a href="http://activemq.apache.org/" title="Distributed Messaging System">ActiveMQ</a></li>
										    
										        
										    	<li><a href="http://airavata.apache.org/" title="Workflow and Computational Job Management Middleware">Airavata</a></li>
										    
										        
										    	<li><a href="http://airflow.apache.org/" title="workflow automation and scheduling that can be used to author and manage data pipelines">Airflow</a></li>
										    
										        
										    	<li><a href="http://allura.apache.org/" title="Forge software for hosting software projects">Allura</a></li>
										    
										        
										    	<li><a href="http://ambari.apache.org/" title="Hadoop cluster management">Ambari</a></li>
										    
										        
										    	<li><a href="http://ant.apache.org/" title="Java-based build tool">Ant</a></li>
										    
										        
										    	<li><a href="http://any23.apache.org/" title="Anything to Triples">Any23</a></li>
										    
										        
										    	<li><a href="http://archiva.apache.org/" title="Build Artifact Repository Manager">Archiva</a></li>
										    
										        
										    	<li><a href="http://aries.apache.org/" title="Enterprise OSGi application programming model">Aries</a></li>
										    
										        
										    	<li><a href="http://arrow.apache.org/" title="Powering Columnar In-Memory Analytics">Arrow</a></li>
										    
										        
										    	<li><a href="http://asterixdb.apache.org/" title="open source Big Data Management System">AsterixDB</a></li>
										    
										        
										    	<li><a href="http://atlas.apache.org/" title="scalable and extensible set of core foundational governance services">Atlas</a></li>
										    
										        
										    	<li><a href="http://attic.apache.org/" title="A home for dormant projects">Attic</a></li>
										    
										        
										    	<li><a href="http://avro.apache.org/" title="A Serialization System">Avro</a></li>
										    
										        
										    	<li><a href="http://axis.apache.org/" title="Java SOAP Engine">Axis</a></li>
										    
										        <li class="letter-header">B</li>
										    	<li><a href="http://bahir.apache.org/" title="Extensions to distributed analytic platforms such as Apache Spark">Bahir</a></li>
										    
										        
										    	<li><a href="http://beam.apache.org/" title="Programming model, SDKs, and runners for defining and executing data processing pipelines">Beam</a></li>
										    
										        
										    	<li><a href="http://bigtop.apache.org/" title="Apache Hadoop ecosystem integration and distribution project">Bigtop</a></li>
										    
										        
										    	<li><a href="http://bloodhound.apache.org/" title="Issue tracking, wiki and repository browser">Bloodhound</a></li>
										    
										        
										    	<li><a href="http://bookkeeper.apache.org/" title="Replicated log service which can be used to build replicated state machines">BookKeeper</a></li>
										    
										        
										    	<li><a href="http://brooklyn.apache.org/" title="Framework for modeling, monitoring, and managing applications through autonomic blueprints">Brooklyn</a></li>
										    
										        
										    	<li><a href="http://buildr.apache.org/" title="Simple and intuitive build system for Java applications">Buildr</a></li>
										    
										        
										    	<li><a href="http://bval.apache.org/" title="JSR-303 Bean Validation Implementation and Extensions">BVal</a></li>
										    
										        <li class="letter-header">C</li>
										    	<li><a href="http://calcite.apache.org/" title="Dynamic data management framework">Calcite</a></li>
										    
										        
										    	<li><a href="http://camel.apache.org/" title="Spring based Integration Framework which implements the Enterprise Integration Patterns">Camel</a></li>
										    
										        
										    	<li><a href="http://carbondata.apache.org/" title="indexed columnar data format for fast analytics on big data platform">CarbonData</a></li>
										    
										        
										    	<li><a href="http://cassandra.apache.org/" title="Highly scalable second-generation distributed database">Cassandra</a></li>
										    
										        
										    	<li><a href="http://cayenne.apache.org/" title="User-friendly Java ORM with Tools">Cayenne</a></li>
										    
										        
										    	<li><a href="http://celix.apache.org/" title="Implementation of the OSGi specification adapted to C">Celix</a></li>
										    
										        
										    	<li><a href="http://chemistry.apache.org/" title="CMIS (Content Managment Interoperability Services) Clients and Servers">Chemistry</a></li>
										    
										        
										    	<li><a href="http://clerezza.apache.org/" title="Semantically linked data for OSGi">Clerezza</a></li>
										    
										        
										    	<li><a href="http://cloudstack.apache.org/" title="Infrastructure as a Service solution">CloudStack</a></li>
										    
										        
										    	<li><a href="http://cocoon.apache.org/" title="Web development framework: separation of concerns, component-based">Cocoon</a></li>
										    
										</ul>
									</div>
									<div class="col-lg-6 col-md-12 border-right">
										<ul class="list-unstyled" style="margin-bottom: 0px;">
										    
										        
										    	<li><a href="http://commons.apache.org/" title="Reusable Java components">Commons</a></li>
											
										        
										    	<li><a href="http://community.apache.org/" title="Resources to help people become involved with Apache projects">Community Development</a></li>
											
										        
										    	<li><a href="http://cordova.apache.org/" title="Platform for building native mobile applications using HTML, CSS and JavaScript">Cordova</a></li>
											
										        
										    	<li><a href="http://couchdb.apache.org/" title="RESTful document database">CouchDB</a></li>
											
										        
										    	<li><a href="http://creadur.apache.org/" title="Comprehension and auditing of software distributions">Creadur</a></li>
											
										        
										    	<li><a href="http://crunch.apache.org/" title="Simple and Efficient MapReduce Pipelines">Crunch</a></li>
											
										        
										    	<li><a href="http://ctakes.apache.org/" title="Natural language processing (NLP) tool for information extraction from electronic medical record clinical free-text">cTAKES</a></li>
											
										        
										    	<li><a href="http://curator.apache.org/" title="Java libraries that make using Apache ZooKeeper easier">Curator</a></li>
											
										        
										    	<li><a href="http://cxf.apache.org/" title="Service Framework">CXF</a></li>
											
										        <li class="letter-header">D</li>
										    	<li><a href="http://datafu.apache.org/" title="well-tested libraries that help developers solve common data problems in Hadoop and similar distributed systems">DataFu</a></li>
											
										        
										    	<li><a href="http://db.apache.org/" title="Database access">DB</a></li>
											
										        
										    	<li><a href="http://deltaspike.apache.org/" title="Portable CDI extensions that provide useful features for Java application developers">DeltaSpike</a></li>
											
										        
										    	<li><a href="http://directory.apache.org/" title="Apache Directory Server">Directory</a></li>
											
										        
										    	<li><a href="http://drat.apache.org/" title="large scale code license analysis, auditing and reporting">DRAT</a></li>
											
										        
										    	<li><a href="http://drill.apache.org/" title="Schema-free SQL Query Engine for Apache Hadoop, NoSQL and Cloud Storage">Drill</a></li>
											
										        
										    	<li><a href="http://druid.apache.org" title="analytical database software">Druid</a></li>
											
										        
										    	<li><a href="http://dubbo.apache.org/" title="a high-performance, lightweight, java based RPC framework.">Dubbo</a></li>
											
										        <li class="letter-header">E</li>
										    	<li><a href="http://eagle.apache.org/" title="open source analytics solution for identifying security and performance issues instantly on big data platforms">Eagle</a></li>
											
										        
										    	<li><a href="http://empire-db.apache.org/" title="Relational Data Persistence">Empire-db</a></li>
											
										        <li class="letter-header">F</li>
										    	<li><a href="http://felix.apache.org/" title="OSGi Framework and components.">Felix</a></li>
											
										        
										    	<li><a href="http://fineract.apache.org/" title="Platform for Digital Financial Services">Fineract</a></li>
											
										        
										    	<li><a href="http://flex.apache.org/" title="Application framework for expressive web applications that deploy to all major browsers, desktops and devices.">Flex</a></li>
											
										        
										    	<li><a href="http://flink.apache.org/" title="platform for scalable batch and stream data processing">Flink</a></li>
											
										        
										    	<li><a href="http://flume.apache.org/" title="A reliable service for efficiently collecting, aggregating, and moving large amounts of log data">Flume</a></li>
											
										        
										    	<li><a href="http://fluo.apache.org/" title="Storage and incremental processing of large data sets">Fluo</a></li>
											
										        
										    	<li><a href="http://freemarker.apache.org/" title="a template engine.">FreeMarker</a></li>
											
										        <li class="letter-header">G</li>
										    	<li><a href="http://geode.apache.org/" title="Low latency, high concurrency data management solutions">Geode</a></li>
											
										        
										    	<li><a href="http://geronimo.apache.org/" title="Java2, Enterprise Edition (J2EE) container">Geronimo</a></li>
											
										        
										    	<li><a href="http://giraph.apache.org/" title="Iterative graph processing system built for high scalability">Giraph</a></li>
											
										        
										    	<li><a href="http://gora.apache.org/" title="ORM framework for column stores such as Apache HBase and Apache Cassandra with a specific focus on Hadoop">Gora</a></li>
											
										        
										    	<li><a href="http://griffin.apache.org/" title="a data quality solution for big data, including both streaming and batch mode. It offers an unified process to measure data quality from different perspectives.">Griffin</a></li>
											
										        
										    	<li><a href="http://groovy.apache.org/" title="A multi-faceted language for the Java platform">Groovy</a></li>
											
										        
										    	<li><a href="http://guacamole.apache.org/" title="providing performant, browser-based remote access">Guacamole</a></li>
											
										        
										    	<li><a href="http://gump.apache.org/" title="Continuous integration of open source projects">Gump</a></li>
											
										</ul>
									</div>
								</div>
							</div>
							<div class="col-lg-4 col-sm-4">
								<div class="row">
									<div class="col-lg-6 col-md-12 border-right">
										<ul class="list-unstyled" style="margin-bottom: 0px;">
										    
										        <li class="letter-header">H</li>
										    	<li><a href="http://hadoop.apache.org/" title="Distributed computing platform">Hadoop</a></li>
											
										        
										    	<li><a href="http://hawq.apache.org/" title="a Hadoop native SQL query engine that combines the key technological advantages of an MPP database with the scalability and convenience of Hadoop">HAWQ</a></li>
											
										        
										    	<li><a href="http://hbase.apache.org/" title="Apache Hadoop Database">HBase</a></li>
											
										        
										    	<li><a href="http://helix.apache.org/" title="A cluster management framework for partitioned and replicated distributed resources">Helix</a></li>
											
										        
										    	<li><a href="http://hive.apache.org/" title="Data warehouse infrastructure using the Apache Hadoop Database">Hive</a></li>
											
										        
										    	<li><a href="http://hc.apache.org/" title="Java toolset of low level HTTP components">HttpComponents</a></li>
											
										        <li class="letter-header">I</li>
										    	<li><a href="http://ignite.apache.org/" title="High-performance, integrated and distributed in-memory platform for computing and transacting on large-scale data sets in real-time">Ignite</a></li>
											
										        
										    	<li><a href="http://impala.apache.org/" title="a high-performance distributed SQL engine">Impala</a></li>
											
										        
										    	<li><a href="http://incubator.apache.org/" title="Entry path for projects and codebases wishing to become part of the Foundation&#39;s efforts">Incubator</a></li>
											
										        
										    	<li><a href="http://isis.apache.org/" title="Framework for rapidly developing domain-driven apps in Java">Isis</a></li>
											
										        <li class="letter-header">J</li>
										    	<li><a href="http://jackrabbit.apache.org/" title="Content Repository for Java">Jackrabbit</a></li>
											
										        
										    	<li><a href="http://james.apache.org/" title="Java Apache Mail Enterprise Server">James</a></li>
											
										        
										    	<li><a href="http://jclouds.apache.org/" title="Java cloud APIs and abstractions">jclouds</a></li>
											
										        
										    	<li><a href="http://jena.apache.org/" title="Java framework for building Semantic Web applications">Jena</a></li>
											
										        
										    	<li><a href="http://jmeter.apache.org/" title="Java performance and functional testing">JMeter</a></li>
											
										        
										    	<li><a href="http://johnzon.apache.org/" title="JSR-353 compliant JSON parsing; modules to help with JSR-353 as well as JSR-374 and JSR-367">Johnzon</a></li>
											
										        
										    	<li><a href="http://joshua.apache.org/" title="statistical and other forms of machine translation.">Joshua</a></li>
											
										        
										    	<li><a href="http://jspwiki.apache.org/" title="Leading open source WikiWiki engine, feature-rich and built around standard J2EE components (Java, servlets, JSP)">JSPWiki</a></li>
											
										        
										    	<li><a href="http://juddi.apache.org/" title="Java implementation of the Universal Description, Discovery, and Integration specification">jUDDI</a></li>
											
										        
										    	<li><a href="http://juneau.apache.org/" title="a toolkit for marshalling POJOs to a wide variety of content types using a common framework, and for creating sophisticated self-documenting REST interfaces and microservices using VERY little code">Juneau</a></li>
											
										        <li class="letter-header">K</li>
										    	<li><a href="http://kafka.apache.org/" title="Distributed publish-subscribe messaging system">Kafka</a></li>
											
										        
										    	<li><a href="http://karaf.apache.org/" title="Server-side OSGi distribution">Karaf</a></li>
											
										        
										    	<li><a href="http://kibble.apache.org/" title="an interactive project activity analyzer and aggregator">Kibble</a></li>
											
										        
										    	<li><a href="http://knox.apache.org/" title="Simplify and normalize the deployment and implementation of secure Hadoop clusters">Knox</a></li>
											
										        
										    	<li><a href="http://kudu.apache.org/" title="A distributed columnar storage engine built for the Apache Hadoop ecosystem">Kudu</a></li>
											
										        
										    	<li><a href="http://kylin.apache.org/" title="Extreme OLAP Engine for Big Data">Kylin</a></li>
											
										        <li class="letter-header">L</li>
										    	<li><a href="http://labs.apache.org/" title="A place for innovation where committers of the foundation can experiment with new ideas">Labs</a></li>
											
										        
										    	<li><a href="http://lens.apache.org/" title="Unified analytics platform">Lens</a></li>
											
										        
										    	<li><a href="http://libcloud.apache.org/" title="Unified interface to the cloud">Libcloud</a></li>
											
										        
										    	<li><a href="http://logging.apache.org/" title="Cross-language logging services">Logging Services</a></li>
											
										        
										    	<li><a href="http://lucene.apache.org/" title="Search engine library">Lucene</a></li>
											
										        
										    	<li><a href="http://lucenenet.apache.org/" title="Search engine library targeted at .NET runtime users.">Lucene.Net</a></li>
											
										        <li class="letter-header">M</li>
										    	<li><a href="http://madlib.apache.org/" title="Scalable, Big Data, SQL-driven machine learning framework for Data Scientists">MADlib</a></li>
											
										</ul>
									</div>
									<div class="col-lg-6 col-md-12 border-right">
										<ul class="list-unstyled" style="margin-bottom: 0px;">
										    
										        
										    	<li><a href="http://mahout.apache.org/" title="Scalable machine learning library">Mahout</a></li>
											
										        
										    	<li><a href="http://manifoldcf.apache.org/" title="Framework for connecting source content repositories to target repositories or indexes.">ManifoldCF</a></li>
											
										        
										    	<li><a href="http://marmotta.apache.org/" title="An Open Platform for Linked Data">Marmotta</a></li>
											
										        
										    	<li><a href="http://maven.apache.org/" title="Java project management and comprehension tools">Maven</a></li>
											
										        
										    	<li><a href="http://mesos.apache.org/" title="a cluster manager that provides efficient resource isolation and sharing across distributed applications">Mesos</a></li>
											
										        
										    	<li><a href="http://metamodel.apache.org/" title="common interface for discovery, exploration of metadata and querying of different types of data sources">MetaModel</a></li>
											
										        
										    	<li><a href="http://metron.apache.org/" title="Real-time big data security">Metron</a></li>
											
										        
										    	<li><a href="http://mina.apache.org/" title="Multipurpose Infrastructure for Network Application">MINA</a></li>
											
										        
										    	<li><a href="http://mnemonic.apache.org/" title="a transparent nonvolatile hybrid memory oriented library for Big data, High-performance computing, and Analytics">Mnemonic</a></li>
											
										        
										    	<li><a href="http://myfaces.apache.org/" title="JavaServer(tm) Faces implementation and components">MyFaces</a></li>
											
										        
										    	<li><a href="http://mynewt.apache.org/" title="embedded OS optimized for networking and built for remote management of constrained devices">Mynewt</a></li>
											
										        <li class="letter-header">N</li>
										    	<li><a href="http://netbeans.apache.org/" title="development environment, tooling platform, and application framework">NetBeans</a></li>
											
										        
										    	<li><a href="http://nifi.apache.org/" title="Easy to use, powerful, and reliable system to process and distribute data">NiFi</a></li>
											
										        
										    	<li><a href="http://nutch.apache.org/" title="Open Source Web Search Software">Nutch</a></li>
											
										        <li class="letter-header">O</li>
										    	<li><a href="http://ofbiz.apache.org/" title="Enterprise automation software">OFBiz</a></li>
											
										        
										    	<li><a href="http://olingo.apache.org/" title="OASIS OData protocol libraries">Olingo</a></li>
											
										        
										    	<li><a href="http://oodt.apache.org/" title="Object Oriented Data Technology (middleware metadata)">OODT</a></li>
											
										        
										    	<li><a href="http://oozie.apache.org/" title="A workflow scheduler system to manage Apache Hadoop jobs.">Oozie</a></li>
											
										        
										    	<li><a href="http://climate.apache.org/" title="Climate model evaluation">Open Climate Workbench</a></li>
											
										        
										    	<li><a href="http://openjpa.apache.org/" title="Object Relational Mapping for Java">OpenJPA</a></li>
											
										        
										    	<li><a href="http://openmeetings.apache.org/" title="Web-Conferencing and real-time collaboration">OpenMeetings</a></li>
											
										        
										    	<li><a href="http://opennlp.apache.org/" title="Machine learning based toolkit for the processing of natural language text">OpenNLP</a></li>
											
										        
										    	<li><a href="http://openoffice.apache.org/" title="An open-source, office-document productivity suite">OpenOffice</a></li>
											
										        
										    	<li><a href="http://openwebbeans.apache.org/" title="JSR-299 Context and Dependency Injection for Java EE Platform Implementation">OpenWebBeans</a></li>
											
										        
										    	<li><a href="http://openwhisk.apache.org/" title="a platform for building serverless applications with functions">OpenWhisk</a></li>
											
										        
										    	<li><a href="http://orc.apache.org/" title="the smallest, fastest columnar storage for Hadoop workloads">ORC</a></li>
											
										        <li class="letter-header">P</li>
										    	<li><a href="http://parquet.apache.org/" title="columnar storage format available to any project in the Apache Hadoop ecosystem">Parquet</a></li>
											
										        
										    	<li><a href="http://pdfbox.apache.org/" title="Java library for working with PDF documents">PDFBox</a></li>
											
										        
										    	<li><a href="http://perl.apache.org/" title="Dynamic websites using Perl">Perl</a></li>
											
										        
										    	<li><a href="http://petri.apache.org" title="assessment of, education in, and adoption of the Foundation&#39;s policies and procedures for collaborative development and the pros and cons of joining the Foundation">Petri</a></li>
											
										        
										    	<li><a href="http://phoenix.apache.org/" title="High performance relational database layer over Apache HBase for low latency applications">Phoenix</a></li>
											
										        
										    	<li><a href="http://pig.apache.org/" title="Platform for analyzing large data sets">Pig</a></li>
											
										        
										    	<li><a href="http://pivot.apache.org/" title="Rich Internet applications in Java">Pivot</a></li>
											
										        
										    	<li><a href="http://plc4x.apache.org/" title="a set of libraries for communicating with industrial programmable logic controllers (PLCs) using a variety of protocols but with a shared API">PLC4X</a></li>
											
										        
										    	<li><a href="http://poi.apache.org/" title="Java API for OLE 2 Compound and OOXML Documents">POI</a></li>
											
										</ul>
									</div>
								</div>
							</div>
							<div class="col-lg-4 col-sm-4">
								<div class="row">
									<div class="col-lg-6 col-md-12 border-right">
										<ul class="list-unstyled" style="margin-bottom: 0px;">
										    
										        
										    	<li><a href="http://apr.apache.org/" title="Apache Portable Runtime libraries">Portable Runtime (APR)</a></li>
											
										        
										    	<li><a href="http://portals.apache.org/" title="Portal technology">Portals</a></li>
											
										        
										    	<li><a href="http://predictionio.apache.org/" title="a machine learning server built on top of state-of-the-art open source stack, that enables developers to manage and deploy production-ready predictive services for various kinds of machine learning tasks">PredictionIO</a></li>
											
										        
										    	<li><a href="http://pulsar.apache.org/" title="highly scalable, low latency messaging platform running on commodity hardware">Pulsar</a></li>
											
										        <li class="letter-header">Q</li>
										    	<li><a href="http://qpid.apache.org/" title="Multiple language implementation of the latest Advanced Message Queuing Protocol (AMQP)">Qpid</a></li>
											
										        <li class="letter-header">R</li>
										    	<li><a href="http://ranger.apache.org/" title="framework to enable, monitor and manage comprehensive data security across the Hadoop platform.">Ranger</a></li>
											
										        
										    	<li><a href="http://reef.apache.org/" title="Retainable Evaluator Execution Framework">REEF</a></li>
											
										        
										    	<li><a href="http://river.apache.org/" title="Jini service oriented architecture">River</a></li>
											
										        
										    	<li><a href="http://rocketmq.apache.org/" title="a fast, low latency, reliable, scalable, distributed, easy to use message-oriented middleware, especially for processing large amounts of streaming data">RocketMQ</a></li>
											
										        
										    	<li><a href="http://roller.apache.org/" title="Java blog server">Roller</a></li>
											
										        
										    	<li><a href="http://royale.apache.org/" title="improving developer productivity in creating applications for wherever Javascript runs (and other runtimes)">Royale</a></li>
											
										        
										    	<li><a href="http://rya.apache.org/" title="scalable storage, retrieval, and analysis of RDF data">Rya</a></li>
											
										        <li class="letter-header">S</li>
										    	<li><a href="http://samza.apache.org/" title="distributed stream processing framework">Samza</a></li>
											
										        
										    	<li><a href="http://santuario.apache.org/" title="XML Security in Java and C++">Santuario</a></li>
											
										        
										    	<li><a href="http://sentry.apache.org/" title="Fine grained authorization to data and metadata in Apache Hadoop">Sentry</a></li>
											
										        
										    	<li><a href="http://serf.apache.org/" title="High performance C-based HTTP client library built upon the Apache Portable Runtime (APR) library">Serf</a></li>
											
										        
										    	<li><a href="http://servicecomb.apache.org/" title="a microservice framework that provides a set of tools and components to make development and deployment of cloud applications easier.">ServiceComb</a></li>
											
										        
										    	<li><a href="http://servicemix.apache.org/" title="Enterprise Service Bus">ServiceMix</a></li>
											
										        
										    	<li><a href="http://shardingsphere.apache.org" title="a database clustering system providing data sharding, distributed transactions, and distributed database management">ShardingSphere</a></li>
											
										        
										    	<li><a href="http://shiro.apache.org/" title="Powerful and easy-to-use application security framework">Shiro</a></li>
											
										        
										    	<li><a href="http://singa.apache.org/" title="a distributed deep learning platform">SINGA</a></li>
											
										        
										    	<li><a href="http://sis.apache.org/" title="Spatial Information System">SIS</a></li>
											
										        
										    	<li><a href="http://skywalking.apache.org/" title="application performance management and monitoring (APM)">SkyWalking</a></li>
											
										        
										    	<li><a href="http://sling.apache.org/" title="Web Framework for JCR Content Repositories">Sling</a></li>
											
										        
										    	<li><a href="http://spamassassin.apache.org/" title="Mail filter to identify spam">SpamAssassin</a></li>
											
										        
										    	<li><a href="http://spark.apache.org/" title="Fast and general engine for large-scale data processing">Spark</a></li>
											
										        
										    	<li><a href="http://sqoop.apache.org/" title="Bulk Data Transfer for Apache Hadoop and Structured Datastores">Sqoop</a></li>
											
										        
										    	<li><a href="http://steve.apache.org/" title="Python based single transferable vote software system">Steve</a></li>
											
										        
										    	<li><a href="http://storm.apache.org/" title="Distributed, real-time computation system">Storm</a></li>
											
										        
										    	<li><a href="http://streams.apache.org/" title="interoperability of online profiles and activity feeds">Streams</a></li>
											
										        
										    	<li><a href="http://struts.apache.org/" title="Model 2 framework for building Java web applications">Struts</a></li>
											
										        
										    	<li><a href="http://submarine.apache.org/" title="allowing infrastructure engineers and data scientists to build deep learning applications (TensorFlow, PyTorch, etc.) end to end on cluster management platforms (like YARN/K8s)">Submarine</a></li>
											
										        
										    	<li><a href="http://subversion.apache.org/" title="Version Control">Subversion</a></li>
											
										        
										    	<li><a href="http://synapse.apache.org/" title="Enterprise Service Bus and Mediation Framework">Synapse</a></li>
											
										        
										    	<li><a href="http://syncope.apache.org/" title="Managing digital identities in enterprise environments">Syncope</a></li>
											
										</ul>
									</div>
									<div class="col-lg-6 col-md-12">
										<ul class="list-unstyled" style="margin-bottom: 0px;">
										    
										        
										    	<li><a href="http://systemml.apache.org/" title="A machine learning platform optimal for big data">SystemML</a></li>
											
										        <li class="letter-header">T</li>
										    	<li><a href="http://tajo.apache.org/" title="Big data warehouse system on Apache Hadoop">Tajo</a></li>
											
										        
										    	<li><a href="http://tapestry.apache.org/" title="Component-based Java Web Application Framework">Tapestry</a></li>
											
										        
										    	<li><a href="http://tcl.apache.org/" title="Dynamic websites using TCL">Tcl</a></li>
											
										        
										    	<li><a href="http://tez.apache.org/" title="High-performance and scalable distributed data processing framework">Tez</a></li>
											
										        
										    	<li><a href="http://thrift.apache.org/" title="Framework for scalable cross-language services development">Thrift</a></li>
											
										        
										    	<li><a href="http://tika.apache.org/" title="Content Analysis and Detection Toolkit">Tika</a></li>
											
										        
										    	<li><a href="http://tinkerpop.apache.org/" title="A graph computing framework for both graph databases (OLTP) and graph analytic systems (OLAP)">TinkerPop</a></li>
											
										        
										    	<li><a href="http://tomcat.apache.org/" title="A Java Servlet and JSP Container">Tomcat</a></li>
											
										        
										    	<li><a href="http://tomee.apache.org/" title="Java EE Web Profile built on Apache Tomcat">TomEE</a></li>
											
										        
										    	<li><a href="http://trafficcontrol.apache.org/" title="building, monitoring, configuring, and provisioning a large scale content delivery network (CDN)">Traffic Control</a></li>
											
										        
										    	<li><a href="http://trafficserver.apache.org/" title="A fast, scalable and extensible HTTP/1.1 compliant caching proxy server">Traffic Server</a></li>
											
										        
										    	<li><a href="http://trafodion.apache.org/" title="webscale SQL-on-Hadoop solution enabling transactional or operational workloads.">Trafodion</a></li>
											
										        
										    	<li><a href="http://turbine.apache.org/" title="A Java Servlet Web Application Framework and associated component library">Turbine</a></li>
											
										        
										    	<li><a href="http://twill.apache.org/" title="Use Apache Hadoop YARN&#39;s distributed capabilities with a programming model that is similar to running threads">Twill</a></li>
											
										        <li class="letter-header">U</li>
										    	<li><a href="http://uima.apache.org/" title="Framework and annotators for unstructured information analysis">UIMA</a></li>
											
										        
										    	<li><a href="http://unomi.apache.org/" title="providing a reference implementation of the OASIS Customer Data Platform specification currently being worked on by the OASIS Context Server Technical Committee">Unomi</a></li>
											
										        
										    	<li><a href="http://usergrid.apache.org/" title="The BaaS Framework you run">Usergrid</a></li>
											
										        <li class="letter-header">V</li>
										    	<li><a href="http://vcl.apache.org/" title="Virtual Computing Lab">VCL</a></li>
											
										        
										    	<li><a href="http://velocity.apache.org/" title="A Java Templating Engine">Velocity</a></li>
											
										        <li class="letter-header">W</li>
										    	<li><a href="http://ws.apache.org/" title="Projects related to Web Services">Web Services</a></li>
											
										        
										    	<li><a href="http://whimsical.apache.org/" title="Tools that help automate various administrative tasks or information lookup activities">Whimsy</a></li>
											
										        
										    	<li><a href="http://wicket.apache.org/" title="Component-based Java Web Application Framework.">Wicket</a></li>
											
										        <li class="letter-header">X</li>
										    	<li><a href="http://xalan.apache.org/" title="XSLT processors in Java and C++">Xalan</a></li>
											
										        
										    	<li><a href="http://xerces.apache.org/" title="XML parsers in Java, C++ and Perl">Xerces</a></li>
											
										        
										    	<li><a href="http://xmlgraphics.apache.org/" title="Conversion from XML to graphical output">XML Graphics</a></li>
											
										        <li class="letter-header">Y</li>
										    	<li><a href="http://yetus.apache.org/" title="Collection of libraries and tools that enable contribution and release processes for software projects">Yetus</a></li>
											
										        <li class="letter-header">Z</li>
										    	<li><a href="http://zeppelin.apache.org/" title="A web-based notebook that enables interactive data analytics">Zeppelin</a></li>
											
										        
										    	<li><a href="http://zookeeper.apache.org/" title="Centralized service for maintaining configuration information">ZooKeeper</a></li>
											
										</ul>
									</div>
								</div>
							</div>
						</div>
					</div>
				</div>
			</div>
		</div>
	</section>
<!-- / Projects List -->


  <!-- Footer -->
  
  <footer class="bg-primary">
    <div class="container">
      <div class="row">
        <br />
        <div class="col-sm-1">

        </div>
        <div class="col-sm-2">
          <h5 class="white">Community</h5>
          <ul class="list-unstyled white" role="menu">
            <li><a href="http://community.apache.org/">Overview</a></li>
            <li><a href="/foundation/conferences.html">Conferences</a></li>
            <li><a href="http://community.apache.org/gsoc.html">Summer of Code</a></li>
            <li><a href="http://community.apache.org/newcomers/">Getting Started</a></li>
            <li><a href="/foundation/how-it-works.html">The Apache Way</a></li>
            <li><a href="/travel/">Travel Assistance</a></li>
            <li><a href="/foundation/getinvolved.html">Get Involved</a></li>
            <li><a href="/foundation/policies/conduct.html">Code of Conduct</a></li>
            <li><a href="http://community.apache.org/newbiefaq.html">Community FAQ</a></li>
            <li><a href="/memorials/">Memorials</a></li>
          </ul>
        </div>

        <div class="col-sm-2">
          <h5 class="white">Innovation</h5>
          <ul class="list-unstyled white" role="menu">
            <li><a href="http://incubator.apache.org/">Incubator</a></li>
            <li><a href="http://labs.apache.org/">Labs</a></li>
            <li><a href="/licenses/">Licensing</a></li>
            <li><a href="/foundation/license-faq.html">Licensing FAQ</a></li>
            <li><a href="/foundation/marks/">Trademark Policy</a></li>
            <li><a href="/foundation/contact.html">Contacts</a></li>
          </ul>
        </div>

        <div class="col-sm-2">
          <h5 class="white">Tech Operations</h5>
          <ul class="list-unstyled white" role="menu">
            <li><a href="/dev/">Developer Information</a></li>
            <li><a href="/dev/infrastructure.html">Infrastructure</a></li>
            <li><a href="/security/">Security</a></li>
            <li><a href="http://status.apache.org">Status</a></li>
            <li><a href="/foundation/contact.html">Contacts</a></li>
          </ul>
        </div>

        <div class="col-sm-2">
          <h5 class="white">Press</h5>
          <ul class="list-unstyled white" role="menu">
            <li><a href="/press/">Overview</a></li>
            <li><a href="https://blogs.apache.org/">ASF News</a></li>
            <li><a href="https://blogs.apache.org/foundation/">Announcements</a></li>
            <li><a href="https://twitter.com/TheASF">Twitter Feed</a></li>
            <li><a href="/press/#contact">Contacts</a></li>
          </ul>
        </div>

        <div class="col-sm-2">
          <h5 class="white">Legal</h5>
          <ul class="list-unstyled white" role="menu">
            <li><a href="/legal/">Legal Affairs</a></li>
            <li><a href="/legal/dmca.html">DMCA</a></li>
            <li><a href="/licenses/">Licensing</a></li>
            <li><a href="/foundation/marks/">Trademark Policy</a></li>
            <li><a href="/foundation/records/">Public Records</a></li>
            <li><a href="/foundation/policies/privacy.html">Privacy Policy</a></li>
            <li><a href="/licenses/exports/">Export Information</a></li>
            <li><a href="/foundation/license-faq.html">Licensing FAQ</a></li>
            <li><a href="/foundation/contact.html">Contacts</a></li>
          </ul>
        </div>

        <div class="col-sm-1">
        </div>

      </div>
      <hr class="col-lg-12 hr-white" />
      <div class="row">
        <div class="col-lg-12">
          <p class="text-center">Copyright &#169; 2019 The Apache Software Foundation, Licensed under the <a class="white" href="/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
          <p class="text-center">Apache and the Apache feather logo are trademarks of The Apache Software Foundation. </p>
        </div>
      </div>
    </div>

  </footer>

  <!-- / Footer -->

  <script src="/js/jquery-2.1.1.min.js"></script>
  <script src="/js/bootstrap.js"></script>
  <script src="/js/slideshow.js"></script>
  <script>
    (function($){
    $(document).ready(function(){
    $('ul.dropdown-menu [data-toggle=dropdown]').on('click', function(event) {
    event.preventDefault();
    event.stopPropagation();
    $(this).parent().siblings().removeClass('open');
    $(this).parent().toggleClass('open');
    console.log('WOrked');
    });
    });
    })(jQuery);
  </script>
</body>
</html>
