
Ask HN: Why are Apache projects so Java-centric? - hoodoof
It seems most Apache projects are written in Java.  Why such a heavy focus on Java at Apache?
======
KrestenKjaer
[https://www.apache.org/foundation/thanks.html](https://www.apache.org/foundation/thanks.html)

Apache offers stewardship for projects of a certain size. That is they have to
be big enough to accept the overhead of having for example a vice president of
the project.

Big companies create big projects. Big companies create projects written in
Java.

Big companies wants a steward for their projects to welcome outside
contributors.

    
    
      Project - Company - Commercial Product
      Geronimo - IBM - Websphere (parts)
      JackRabbit - Adobe - Adobe AEM
      Felix - Adobe - Adobe AEM
      Apache CXF, Apache Camel - Red hat - Fuse
      Apache Sling, Adobe, Adobe AEM
    

I am sure there are other examples.

~~~
threeseed
Everyone always considers Apache as being synonymous with old school Java
technologies. But they have a set of newer big data tools that are integral
components at almost every major corporation or serious startup these days:

Accumulo, Ambari, Avro, Cassandra, CouchDB, Falcon, Flume, Hadoop, HBase,
Hive, Kafka, Knox, Oozie, Phoenix, Pig, Samza, Spark, Sqoop, Storm, Tez,
Zookeeper.

I can imagine many database companies in particular Oracle and Teradata
wishing Apache wasn't as fantastically competent as they are.

~~~
pp19dd
Add Lucene (and by its extension, Elastic Search) to that list. In retrospect,
I don't know how we did things before some of these projects came out.

~~~
Igglyboo
Don't forget about Solr!

------
lmm
It's not so much that Apache writes projects in Java, as that companies with
Java projects find that Apache is a good place to give them to.

~~~
sqrt17
In particular, the Apache License 2.0 is the most appealing license for
"commercial-friendly" open source, whereas the GPL with its "developer-
friendly" license correlates highly with FSF-hosted, Gnome/KDE/... or
independent projects.

The Java/C(++)? divide also seems to correlate with "commercial-friendly"
(Hadoop, Lucene) versus "developer-friendly" (Blender, Linux) software.

------
coldtea
What's "at Apache"?

Apache is not a company, it's a foundation, non profit style, founded around
the Apache Web Server at first but adding lots of project under the Apache
licence. Some where donated to it by commercial companies, others started
there.

One of the major sub-projects of the Apache Foundation was a Java based
server, called Tomcat, started when Java and Servlets were all the rage, more
than a decade ago (1999-2000). It was based on code donated by SUN, and grew
very popular fast.

From that, and under the "Jakarta" umbrella, it grew lots of other Java
related projects, and this attracted new Java projects in turn.

------
PaulHoule
I think part of it is a network effect; Apache has been successful with Java
projects so Java projects tend to go there. There are other homes for other
kinds of projects.

I think also there is a kind of pragmatism involved. For instance, even though
OpenJDK is now Open source, people like Richard Stallman think Java is an
oppressive island, so Java people are less likely to be part of the GNU world.

~~~
have_humility
> people like Richard Stallman think Java is an oppressive island

I was surprised to hear this claim, so I looked into it. The only thing it's
turning up in this vein is the description of it being "shackled", or
comparable adjectives, all before the JDK was GPLed a decade ago. Do you have
a specific source on this?

------
sangupta
Many reasons:

* Initial projects started in Java by various contributors

* Large open community of Java which contributes back

* Wide acceptance of Java being cross-platform

* Today Apache is the de-facto home for any donated code from a corporate

------
eternalban
My impression is that Apache favors application level networking and
infrastructural projects and Java affords a fairly large tech sweet spot for
creating such projects.

------
biehl
Heh, not a completely well defined question.

Java-centric relative to C#?

Possibly because a less FOSS friendly vibe among C#ers previously.

Possibly because the relative stagnation language-feature-wise of Java
fostered a culture of frameworks and libraries.

------
juliangregorian
[http://projects.apache.org/indexes/language.html](http://projects.apache.org/indexes/language.html)
for anyone curious to the actual language split.

~~~
userbinator
The numbers themselves:

    
    
        Java 213
        C 19
        Python 16
        C++ 12
        JavaScript 10
        C# 9
        Perl 9
        Scala 9
        PHP 7
    

I think the crucial statistic would be that there's >10 times more Java
projects than the next-most-popular language.

~~~
raverbashing
Do things like Hadoop count as one or several projects?

Also some Apache Java libraries (several of which are used in Android)

~~~
userbinator
I just counted the projects on the page provided. That said, the Java culture
does tend to encourage hypermodularisation so what would be one project in
another language could turn into several in Java.

Some of them are a bit odd:

[http://projects.apache.org/projects/commons_chain.html](http://projects.apache.org/projects/commons_chain.html)

Others have really, really buzzwordy descriptions:

[http://projects.apache.org/projects/rave.html](http://projects.apache.org/projects/rave.html)

~~~
davelnewton
What's odd about an implementation of the Chain of Command?

~~~
userbinator
Design patterns are usually integrated into software projects, not themselves
a software project.

------
taejo
Because Apache is where code goes to die, and Java code is dying ;)

~~~
arafalov
You just go ahead and keep thinking that. There might even be an award at the
end of that rainbow you are chasing. A Darwin one, but still.

