1. Cassandra
The Cassandra database serves as a "scalable system of record" in the big
data world, says Jonathan Ellis, vice president of the Cassandra project.
Apache received the project from Facebook, which open-sourced Cassandra in
2008. Whereas Hadoop undertakes data analysis, Cassandra provides a data
store for applications, often highly scalable ones on the Web. Netflix, for
example, runs many Cassandra clusters, Ellis says.
2. Cordova
Giving Apache prominence in mobile computing, Cordova features APIs for
application developers to access native capabilities like cameras via
JavaScript. Cordova can be used with a UI framework like jQuery or Sencha
Touch and works on iOS, Android, BlackBerry, and Windows Phone, among others.
3. CouchDB
This database uses JSON for documents, JavaScript for MapReduce queries, and
HTTP for an API. CouchDB's core feature is its replication mechanism, says
Jan Lehnardt, a longtime contributor to the project.
4. Flex
Donated by Adobe, Flex is an application framework that has leveraged Adobe'
s Flash rich Internet plug-in technology. Developers can build applications
for iOS, Android, and BlackBerry Tablet OS, as well as desktop and browser
applications. Apache is working on extending Flex to support HTML5, says
Alex Harui, vice president of Apache Flex. But any HTML5-related
improvements might carry a different name.
5. Geronimo
This server runtime integrates open source projects, including Tomcat,
MyFaces, and OpenJPA, to produce Java/OSGi server runtimes. The most popular
distribution is a Java EE 6 application server runtime.
6. Hadoop
This project is all the rage these days and is synonymous with big data, in
which enterprises and Web properties sift through reams of data to surface
insights about customers and users. Hadoop provides an operating system for
distributed computing.
7. Harmony
Since retired, this modular Java runtime was one of Apache's most
controversial projects, sparking a dispute between Apache and Sun that
carried over to Oracle's stewardship of Java.
8. HTTP Server
This project, aka "httpd," features an HTTP server. "In many ways, Apache
httpd is still the cornerstone of the Apache Software Foundation," says
Jagielski, who has been a committer to the project since 1995. "It would not
be an overstatement to credit Apache httpd with the popularity, usefulness,
and ubiquitous of the Web. Having a 'free,' open source, and fully
compliant reference implementation allowed the Web to become as universal
and pervasive as it has."
9. Lucene
Lucene provides a text engine search library written in in Java. "Lucene
users are people who need to add search to their apps," says Simon Willnauer
, a core committer on Lucene since 2006. Lucene is being used in Twitter, he
notes, and began in 1997 when many companies were working on search.
10. Maven
This software project management and comprehension tool is used to manage
builds, reporting, and documentation. It has emphasized Java development. "
The main [benefit of Maven] has been a much faster way to get people up and
running on a project," says Brett Porter, who has been involved with Maven's
development for 10 years and is CTO at devops automation vendor Maestrodev,
which supports Maven.
11. OpenOffice
Turned over by Oracle to Apache in 2011, the OpenOffice application suite
had been a Sun Microsystems project. It had floundered at Oracle, with the
company clashing with members of the OpenOffice.org community.
12. Pig
Pig is used to analyze large data sets, featuring parallelization and a high
-level language for data analysis algorithms. Developers can use Pig instead
of writing Java code when using Hadoop. "You can think of Pig as an
abstraction layer on top of Hadoop," says Daniel Dai, a committer on the
project. Pig is so named because of its ability to eat everything data-wise,
Dai says. "It consumes all kinds of data."
13. Struts
Struts is a framework for building Java Web apps. It began as a subproject
of Apache Jakarta and was spun out in 2005. "The Apache Struts project
offers framework solutions to build so-called action-based Java Web
applications, in contrast to component-based solutions like JSF or Apache
Wicket," says Rene Gielen, vice president of Apache Struts.
14 .Subversion
Subversion was founded by CollabNet in 2000. The version control system
currently vies with Git for developer mind share, but Greg Stein, vice
president of Subversion, does not see it as a duel.
15. Tomcat
This implementation of Java Servlet and JavaServer Pages technologies is an
Apache veteran since 1999. Tomcat is effectively a Java application server,
and it has spawned such commercial products as Tcat Server from Mulesoft and
VMware vFabric tc Server. There is also Apache TomEE, which is essentially
the Java EE 6 Web Profile version of Tomcat. Plans for Tomcat 8 include
support for Servlet 3.1 specification.