12
Overview of the Apache Software Foundation

Overview of the Apache Software Foundation

Embed Size (px)

Citation preview

Overview of the Apache Software Foundation

History and Background

● Founded as Apache Group in 1995 ● Incorporated in 1999 as a 501(c)3 organization● Around 50 PMCs in 2007, 160+ PMCs today serving 300+ projects● The ASF functions as a meritocracy● Board of Directors -> PMC -> Committers -> Users● Open Licensing● Incubator and Labs for starting projects● Projects solving a large range of problems, using a wide range of languages● Most projects have historically been written in Java

Who Uses Apache Projects

● Everyone● >50% of websites are powered by HTTP Server● Big Data work is done largely within the hadoop ecosystem● Before git became popular, subversion was the most popular VCS● Enterprise Java applications will likely use Apache projects in some way● For-Profit companies rework Apache projects where they make money

through selling support services and integration platforms● The ASF Sponsors include Microsoft, Google, Yahoo, Cloudera, Facebook,

Pivotal, Citrix, Comcast, Bloomberg, HP, IBM, Red Hat

Who Contributes to Apache Projects

● Around 5000 committers in 2015● Students Contributing to Projects through Google Summer of Code● People whose full time job includes working on open source

○ At Cloudera 66% of an employees time is dedicated to working on open source projects

● Anyone with an interest in helping develop high impact, highly technical, open source projects

● Technical writers who develop documentation around these project areas

How to Start Contributing

● Find a project that interests you, each project has a section on their website for those interested in contributing

● Join the Developers Mailing List dev@<projectname>.apache.org● Join the Projects IRC Channel● Checkout issues.apache.org/jira for newer projects and /bugzilla for older or

legacy projects● Checkout community.apache.org to learn more about the mentorship program

and how to find a mentor

What is Contributing

● Creating Examples or Tutorials● Writing Documentation● Participating on Mailing Lists● Testing and Reporting Bugs● Writing Code● Designing Software● Creating New Projects

How to Find a Project

● Top Level Projects: (TLP) these are projects with healthy communities and active

development; and a supported listing by technologies and experimental listing of

projects as well

● Incubating Projects: these are projects that have still to build a sustainable community,

but have active development and are moving towards graduating to become (incubator.

apache.org)

● Labs: these are experiments being carried out by existing committers (labs.apache.org)

● Attic: these are end-of-life projects that are no longer receiving active development, but

may still be useful

Finding the Right Project and Issue To Work On

● Choose a project with a goal in mind.○ Desire to learn a new language and technology○ Develop a skill set that will help you enter a certain career path○ Belief that improving a project will make your life easier

● If you are looking for a beginner level issue try searching JIRA for issues with the label "GSoC" or "mentor"

● Consider starting off by working on improving the project's documentation, as this will help you understand the architecture of the project better.

● Once you understand how the project works at its core, you should be able to solve a much wider array of problems.

Getting Started

● Don’t be afraid● Utilize the mailing lists and IRC if you have any questions● Try to find a mentor and join the mentorship program● Everyone has to start somewhere