The Apache Way is the philosophy behind
Apache Software Foundation and is shared by all of its projects. It is composed by a set of principles:
- Collaborative software development
- Commercial-friendly standard license
- Consistently high quality software
- Respectful, honest, technical-based interaction
- Faithful implementation of standards
- Security as a mandatory feature
I have been part of Apache Commons for a while, and haven’t
really contributed much yet. Maybe because I had lots of projects related to
TupiLabs as well as my own wedding this year. But I can
assure that respectful, honest, technical-based interaction is quite right (not to discredit the
other items, of course).
Even though there are critics of the Apache Way (1, 2, 3), it still stands as an important
pillar for the Apache Software Foundation, and its principles help to create stable and
production ready software, such as Apache Hadoop,
Apache Httpd, Apache Commons Lang,
There are many reviews and comparisons on Apache software (as well as on
Sometimes, though, these reviews or comparisons can be biased or not well founded. In
cases like this, the developers of the tools may be frustrated, or users can be
misled and choose the software based on wrong assertions.
I have just returned from honey moon, ready to start writing code again, but
first I had to read all the unread messages in my inbox. Some were e-mails from Apache
mailing lists. One of these e-mails
had Phil Steitz comments on a post by Daniel Wu.
Instead of publishing his performance benchmark results of
Apache Commons Pool, Daniel posted his
code to the commons-dev mailing list. Phil Steitz, one of Apache Commons Pool
committers replied with questions and a few points that Daniel could use to
enrich his bechmark tests.
This kind of behavior happens a lot within Apache (at least in the mailing lists that
I follow), and it produces a lot of benefits for different parts.
- The person writing a review or comparison can get the programmer opinion before actually
- The programmer can see how other people were testing his/her code.
- All other commons-pool committers and maintainers, the mailing list readers, and
people that found the mailing list archives will be able to read the conversation
- No misguided benchmark results were published (and lots of wrong decisions were avoided).
I keep loving the Apache Way and the resulting community and code around it. There are
always lots of things to learn, the Open Source projects communities are healthy and you will always find
people willing to share their experience and time teaching you.
♥ Open Source