The document discusses the Apache Software Foundation (ASF), an open source software foundation. It describes ASF as a non-profit organization that provides infrastructure and legal/organizational support for various open source projects. It operates based on principles of meritocracy, consensus-based decision making, and collaborative development. The document encourages both individuals and companies to contribute to open source projects at ASF, noting there are many benefits to contributing including skills development, networking opportunities, and ensuring technologies stay supported.
2. Agenda?
What is Apache Software Foundation and how it
works?
Why should I/we contribute to opensource and
ASF
Why should we, as a company, contribute to
opensource and ASF
3. The Fine Print
Disclaimer
Views in this presentation are my personal views
and does not necessarily reflect the views of
Apache Software Foundation.
What we are not talking about
Opensource vs Source open vs code dumping
ASF vs other opensource organizations
4. Why Open Source
Access to the source code
Avoid vendor lock-in (or worse!)
Much better software
Better security record (more eyes)
Much more nimble development – frequent releases
Direct user input
The key technologies behind the Internet and the Web and
the Cloud are all Open Source based
5. The ASF
ASF = The Apache Software Foundation
Non-profit corporation founded in 1999
501( c )3 charity
Volunteer organization
Virtual world-wide organization
Exists to provide the organizational, legal, and
financial support for various OSS projects
6. Structure of the ASF
Member-based corporation - individuals only
Members nominate and elect new members
Members elect a board - 9 seats
Semi-annual meetings via IRC
Each PMC has a Chair - eyes and ears of the
board (oversight only)
8. The ASF‟s Mission
Provide open source software to the public free
of charge
Provide a foundation for open, collaborative
software development projects by supplying
hardware, communication, and business
infrastructure
Create an independent legal entity to which
companies and individuals can donate resources
and be assured that those resources will be used
for the public benefit
9. The ASF‟s Mission
Provide a means for individual volunteers to be
sheltered from legal suits directed at the
Foundation‟s projects
Protect the „Apache‟ brand, as applied to its
software products, from being abused by other
organizations
Provide legal and technical infrastructure for
open source software development and to
perform appropriate oversight of such software
10. Apache Top-level Projects
Axis Karaf Tika
CXF Lenya Tiles
DB (Derby) Tomcat
Directory Logging
Excalibur Lucene Traffic Server
Felix Turbine
Maven Tuscany
Forrest Mahout
Geronimo UIMA
Gump Mina Velocity
Hadoop MyFaces Wicket
Harmony Nutch Web Services
HBase ODE Xalan
HC Xerces
HTTP Server OFBiz
XML
Jackrabbit OpenEJB XMLBeans
Jakarta OpenJPA
James XML Graphics
PDFBox
11. Apache‟s Tagline
We are more than a group of
projects sharing a server, we
are a community of
developers and users.
12. Committer Geographic
Diversity
http://people.apache.org/map.html
Challenges and advantages arise from this !!
13. Project Diversity in Apache
Seventy top-level projects (TLPs)
Java, C, C++, Perl, etc. projects...
It’s okay for projects to be in “same” space
Ant/Maven, Pig/Hive, Axis/CXF...
Over thirty projects currently in “pipeline”
Apache aims to provides a pragmatic
non-technical framework to its projects
14. Who Pays?
Apache does not pay for development
Voluntary contributions only!
Many (not all!) developers are paid by a third-
party to work on the project
Foundation bears indirect support costs
Infrastructure, publicity, etc.
15. Motivations & Business
Models
Each contributor has own motivations
Seeking help from others on a big project
Commercial support: who to call at 2am?
Common/shared platform: value add on top of
Apache products
...or it’s fun/interesting/challenging!
17. Meritocracy
“Govern by Merit”
Merit is based on what you do
Merit never expires
Those with merit, get more responsibility
Provides incentive to Do More
18. Peer-based
Developers represent themselves - individuals
Mutual trust and respect
All votes hold the same weight (no dictators)
Community created code
Contributors feel as an important part of a
community
19. Why Community -> Code
The success of a project, can only come about via
the success of the community
Since we are all volunteers, people‟s time and
interests change
A healthy community is “warm and inviting” and
encourages a continued influx of developers
Poisonous people/communities turn people off, and
the project will die
End result - better code; long-term code
20. Consensus Decision
Making
Key is the idea of voting
+1 - yes
+0 - no real comment
-1 - veto
Sometimes you‟ll also see stuff like -0, -0.5, etc...
Voting
The main intent is to gauge developer acceptance
Vetos must be justifiable and have sound technical merit
If valid, Vetos cannot be overruled
Vetos are very rare
Ensures consensus (give and take)
21. Apache Commit Process
RTC - Review then Commit
At least 3 +1s; no vetos
CTR - Commit then Review
Lazy consensus - assumed okay
Different policies per PMC or codebases
Stable: RTC, Trunk: CTR
22. Collaborative Development
Code is developed by the community
Voting ensures at least 3 active developers
Development done online and on-list
If it didn‟t happen on-list, it didn‟t happen
Mailing lists are the preferred method
Archived
Asynchronous
Available to anyone - public list
Other methods are OK, if not primary
Wikis, IRC, F2F
Always bring back to the list
24. Legal Framework
ASF philosophy is that code can be used
commercially without restrictions
Just don’t call it Apache Foo!
Apache License, version 2.0
Grants copyright and patent licenses
Many non-ASF projects use ALv2 now
Third-party code
ALv2 is GPLv3-compatible - can be used by GPL
projects but no GPL within ASF
25. Starting New Apache
Projects
Incubator - “podlings” can be nominated and
eventually “graduate” to be a PMC
Needs foundation member to mentor
Usually legal and/or community issues
Labs - once you are a committer, you can have a
sandbox (shared mailing list, no non-committers,
no releases)
26. Invitation of Commit
Access
Current PMC member nominates individual
Discussions on private@ list
Key ?: Do we trust this individual?
PMCs free to set own bar
HTTP Server: ~6 months of contributions
Subversion: 1-2 months of contributions
27. Beyond a Committer
Once you are committer, you can then become a
PMC member, foundation
member, Director...even President!
You can nominate other foundation (or PMC)
members; can serve as mentor for Incubating
projects; vote for Board.
28. Impact on Contributing to ASF
You
Better and easy recognition of work and publicly verifiable resume
Every one would know who you are if you contribute to projects like Apache
Cassandra/Hadoop
My contributions to Apache Axis2 was one of the main reasons behind my
acceptance to grad school in Indiana University
Internship opportunities
Ability to work with best programmers (a.k.a. hackers) in the world with
some of the best programming practices and techniques. They are better
friends.
No managers and can chose to work on any aspect of the development
cycle.
Write proper error handling and logging code
Think about backup and recovery
Discuss technical designs and issues in writing
Networking opportunities.
Satisfaction by building software used by millions around the world.
Work on what you like when you like
ApacheCon
29. Impact on Contributing to ASF
As a company
Recognition as a company contributing to opensource
Attract better people to come and join
Free publicity in all the events.
Making sure the technologies you use sustain.
Contributing developers
Having in-house expertise
Not allowing monopolies and making sure you can “influence” the
directions.
Hudson vs Jenkins
Can we influence “Siri” to include the features we like?
Free training for your employees in all aspects of software
development, management, QA, and maintenance.
Novices become intermediates who becomes experts, and users become
developers who become core contributors.
Pooling the developers to work on a project important to the company and
harvesting the advantages of Synergy.
Credit: http://mashable.com/2011/03/30/business-open-source-communities/
30. My Journey
Starting Apache Axis2 project
with Dr. Sanjiva Weerawarana
and Apache Axis experts
Involvement in designs
discussions, implementations,
dev/user mailing lists, fixing bugs
Being a release manager and
getting elected into project
management committee (PMC)
Presenting at ApacheCon and
helping to organize ApacheCon
Asia
Electing to be a member of ASF
31. How Can We Contribute?
Apache wants voluntary contributions
As an individual
Evangelism, bug reports, documentations, testing, code, design
feedback, replying to users
As a company
Provide testimonials about the OSS your enterprise uses
Allow staff members to work on OSS libraries/applications that your
company uses
Push changes to OSS back to the developers of that project.
Host OSS club meetings on your premises.
Extract out and make “open source” the libraries/applications developed
in-house.
Free up use of paid software/services for OSS communities (remember
cost vigilance?)
Contributing is easier than you think!
Credit: http://mashable.com/2011/03/30/business-open-source-communities/
32. Questions …
Special thanks to
Dr. Sanjiva Weerawarana for introducing me to
ASF and opensource
All my colleagues in ASF
Jim Jagielski, Justin Erankrantz and Noel
Bergman for sharing their slides