Title: Apache Newcomer FAQs Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at . http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. This set of Frequently Asked Questions are intended to help newcomers to The Apache Software Foundation (ASF) and our many Apache projects understand how we work. *Index of Questions* - [About The Apache Software Foundation](#NewbieFAQ-AboutTheApacheSoftwareFoundation) - [How do I find projects or technologies at the ASF?](#NewbieFAQ-WhatprojectscanIfindinTheApacheSoftwareFoundation?) - [How are projects managed at the ASF?](#NewbieFAQ-HowareprojectsmanagedinTheApacheSoftwareFoundation) - [How do I learn about the way Apache Projects Work?](#NewbieFAQ-HowdoIlearnaboutthewayApacheProjectsWork?) - [How do I ask a question about the ASF in general?](#NewbieFAQ-HowdoIaskaquestionabouttheASFingeneral?) - [How do I get user support for an Apache project?](#NewbieFAQ-HowdoIgetusersupportforanASFproject?) - [Getting Involved with Apache projects](#NewbieFAQ-GettingInvolvedwithApacheprojects) - [How do I choose an Apache project to work on?](#NewbieFAQ-HowdoIchooseanApacheprojecttoworkon?) - [How do I get involved with an Apache project?](#NewbieFAQ-HowdoIgetinvolvedwithanApacheproject?) - [Is there a Code of Conduct for Apache projects?](#NewbieFAQ-IsthereaCodeofConductforApacheprojects?) - [About the Apache Mentoring Programme](#NewbieFAQ-AbouttheApacheMentoringProgramme) - [What is the Apache Mentoring Programme](#NewbieFAQ-WhatistheApacheMentoringProgramme) - [How do I Apply to the Mentor Programme?](#NewbieFAQ-HowdoIApplytotheMentorProgramme?) - [Finding Apache Speakers For Events Or Meetups](#NewbieFAQ-AboutSpeakers) - [How Do I Suggest or Make Changes To This Website?](#websitecms) - [What Other Useful Websites About Apache Are There?](#comdevweb) - [How Do I Report A Bug For Comdev Websites Or Tools?](#comdevbug) We are always looking for suggestions of better ways to help newcomers to the ASF find the information they're looking for. Please ask any new questions or give us suggestions on [dev@community.apache.org](mailto:dev@community.apache.org) (subscribe with [dev-subscribe@community.apache.org](mailto:dev-subscribe@community.apache.org) first). # About The Apache Software Foundation ## What projects can I find in The Apache Software Foundation? There are over 200 separate projects and communities hosted at The Apache Software Foundation. We have four classes, or types, of project (in terms of their community; not in terms of technology): * [Top Level Projects](http://projects.apache.org): (TLP) these are projects with healthy communities and active development; and a supported [listing by technologies](http://projects.apache.org/) and [experimental listing of projects](https://projects-new.apache.org/) as well * [Incubating Projects](http://incubator.apache.org): these are projects that have still to build a sustainable community, but have active development and are moving towards graduating to become * [Labs](http://labs.apache.org): these are experiments being carried out by existing committers * [Attic](http://attic.apache.org): these are end-of-life projects that are no longer receiving active development, but may still be useful ## How are projects managed in The Apache Software Foundation Apache projects all believe that if we look after the community then good code will emerge from that community. That is, when people with similar needs come together they will work out a way of solving their common problems. It is for this very reason that we created the Community Development project (where you are right now), the ASF has grown to be very large and, from the outside, can look too mature for newcomers and novices. However, these communities seek to be flat in structure. No single person in that community has more influence than the next, a newcomer with a good idea has just as much input and influence as the original creator of the project. We do have a system that we call meritocracy that allows those who have demonstrated commitment and understanding to the community to earn certain privileges, such as being able to make changes directly to documentation and program code. However, these privileges simply streamline the process, they do not (in most cases) give additional powers over the project. In summary, Apache Projects work because people like you participate constructively within them! To learn more about "The Apache Way" in general see the [How It Works](http://apache.org/foundation/how-it-works.html) pages. We also have [detailed overviews of how the ASF and projects are governed](https://www.apache.org/foundation/governance/). ## How do I learn about the way Apache Projects Work? You should consider applying to the [Apache Mentor Programme](mentoringprogramme.html) . We will help you find a mentor within the project of your choice. They will take you through a semi-formal mentoring programme that will ensure you quickly find your feet. There is no cost other than a promise to commit some of your time to the goals you agree with your mentor. ## How do I ask a question about the ASF in general? ## {#generalquestion} The Community Development Project is here for this very purpose. Check out the resources on this site first, if you don't find the answer send a mail to mailto:dev@community.apache.org (subscribe first by sending a mail to mailto:dev-subscribe@community.apache.org) ## How do I get user support for an ASF project? Everyone active in ASF projects is here as a volunteer, nobody is paid to provide support here. So the first thing to realize is that you need to be careful not to waste people's time, so do your homework. Generally, if people can see that you have tried to solve your problem they are more likely to help. So, before asking a question do the following: * search that project's documentation * search that [project's user@ mailing list archives](https://mail-archives.apache.org/mod_mbox/) * search that issue tracker for any related known issues * search the web in general If you don't find a solution, then send a concise, but detailed, request for support to the appropriate user@ mailing list (you will usually need to subscribe first). Indicate that you have read the appropriate documentation and explain what you have tried, what you expect to happen and what actually happens. All Apache projects should have a "Mailing List", "How to Contribute" or similar link on their homepage that tells you how to subscribe to that project's specific lists. Mailing lists at Apache are also [publicly archived][1] at the ASF and [archived elsewhere][2]. Be patient waiting for a response: give it at least three working days before you send a second message. People are busy, they will deal with your request when they can. If you need urgent help it is best not to rely on the community support channels and find an outside organization willing to support you for a fee. Remember that Apache committers are generally working as volunteers on Apache mailing lists. It is worth noting that people are more willing to help those who contribute back to the project in some way. If you hit a problem that was not documented then it is likely others will too. A good idea is to send a patch to the project to improve its documentation. This means that those who follow in your footsteps get an answer in the first step above and you start to build merit in the community that will result in further help in the future. A second way of contributing is to provide user support to others as your expertise grows. Again, earning merit in this way will help you to get the support you need in the future. # Getting Involved with Apache projects ## How do I choose an Apache project to work on? The key to working on projects at Apache (and any open source for that matter) is to have a personal reason for being involved. You might be trying to solve a day job issue, you might be looking to learn a new technology or you might simply want to do something fun in your free time. The key is that you must *want* to get involved. It is also important that you have appropriate skills to be able to help the project. Our [projects page](http://projects.apache.org/) provides a useful index of projects which allows you to view projects alphabetically, by category or by language. When you view a projects detail page in this list you will find details of their mailing lists, issue tracker and other resources. In the projects issue tracker you will find details of bugs and feature requests the project would like to work with, this should give you some inspiration about how you might be able to help the project community. If you see an issue you would like to tackle, it's time to join the projects mailing list and get started. Some projects also use our [Help Wanted! system](https://helpwanted.apache.org/). ## How do I get involved with an Apache project? You can certainly improve your programming skills by watching the commit lists, receiving code reviews and participating in discussion. However this learning opportunity is a healthy side effect of open source activities rather than a goal in itself. Nobody in an Apache project is going to spend time teaching you programming 101, technical writing or testing (to pick just a few skills we need). You need to know the basics and be willing to research the rest. To learn more about getting involved with an Apache Project see our [getting started guide][3]. You will also find our [get involved](http://apache.org/foundation/getinvolved.html) page a useful starting point. ## Is there a Code of Conduct for Apache projects? Yes there is a code of conduct which may be found at [http://www.apache.org/foundation/policies/conduct.html](http://www.apache.org/foundation/policies/conduct.html) The ASF expects that everyone participating on an Apache project, either on our websites, email lists, bugtrackers, or forums hosted at `apache.org` will abide by our code of conduct. PMCs are allowed to define their own additional code of conduct for their individual communities but all PMCs are expected to abide by the Foundation wide policy. The [Incubator document](http://incubator.apache.org/guides/committer.html) also has some really useful for both the newbie and the old hands. The section on ASF Mottos is especially useful as a reminder of the way things are in most ASF projects. This section includes such gems as: * Put community before code. * Let they that do the work make the decisions. * If it didn't happen on a mailing list, it didn't happen. * Don't feed the trolls. ## About the Apache Mentoring Programme ### What is the Apache Mentoring Programme Many projects are happy to assist newcomers learn about how to contribute to that specific project. However, some people are looking for more help, or are looking for help working across Apache projects. The Mentor Programme of the The Apache Software Foundation provides additional support and structure for people looking to make an initial contribution to an ASF project. For more information see our [mentoring page](mentoringprogramme.html). ### How do I Apply to the Mentor Programme? Take a look at our [mentoring page](mentoringprogramme.html). If you are planning on working on an Apache project as part of your formal education you should also read [mentoring in formal education](mentorprogrammeformaleducation.html). From the [mentoring page](mentoringprogramme.html) you will see that you need to complete an [application](mentorprogrammeapplication.html). This gives us enough background information to enable us to approach your chosen project community and for you to work with prospective mentors in defining your mentored activity. ## How can I find speakers willing to help us understand Apache? The best way to start getting involved is joining the [dev@community.apache.org](##NewbieFAQ-HowdoIaskaquestionabouttheASFingeneral?) mailing list. We also have a [listing of volunteer speakers](https://community.apache.org/speakers/) who might be willing to share slides or talks about the ASF. # How Do I Suggest Changes To This Website? # {#websitecms} This `community.apache.org` website uses the Apache Content Management System (CMS) to manage editing and deploying the website itself. Any Apache committer can submit changes by following the [CMS Usage guide][4]. If you are not a committer, but have suggested updates, you can submit a patch yourself! The CMS [supports anonymous (non-committer) access][5], and you can have it [email the patch to us directly][6]. Alternately, you can [ask us a general question on dev@community](#generalquestion) or read our [mailing list archives][7] for past questions and answers. For technical website details, see [About This Website][8]. To submit a formal bug, see our [COMDEV JIRA](#comdevbug). # What Else Does Community Development Publish Or Manage? # {#comdevweb} The Community Development project maintains several other tools that help you navigate the ASF. - The [Apache Projects Directory][9] lists all our software technologies, and you can learn [how it works][10] and what JSON data feeds are available. - [Home.apache.org][11] serves as a telephone directory of all individual Apache committers. - Some projects [ask for Help Wanted][12] with easy-to-get-started tasks or bugs for newcomers. You can see the [code that runs the HelpWanted site][13]. - Apache committers can login to the [Project Reporting Tool][14], that helps PMCs create quarterly board reports; you can [see the code that does this][15]. - A [ComDev Wiki][wiki] is also available for scratch or experimental work, although most permanent content should be here in the CMS. # How Do I Report A Bug For Comdev Websites Or Tools? # {#comdevbug} The Community Development project has a JIRA Issue tracker queue, where you should submit any bugs with any of our services or websites listed above. - [https://issues.apache.org/jira/browse/COMDEV](https://issues.apache.org/jira/browse/COMDEV) [1]: https://mail-archives.apache.org/mod_mbox/ [2]: http://apache.markmail.org/ [3]: /gettingStarted/101.html [4]: http://www.apache.org/dev/cms.html#usage [5]: http://www.apache.org/dev/cms.html#usage [6]: http://www.apache.org/dev/cmsref.html#faq [7]: https://lists.apache.org/list.html?dev@community.apache.org:lte=3M: [8]: https://community.apache.org/about/#about-this-website [9]: https://projects.apache.org/ [10]: https://projects.apache.org/about.html [11]: http://home.apache.org/ [12]: http://helpwanted.apache.org/ [13]: http://svn.apache.org/viewvc/comdev/helpwanted.apache.org/ [14]: https://reporter.apache.org/ [15]: https://svn.apache.org/repos/asf/comdev/projects.apache.org/ [wiki]: https://cwiki.apache.org/confluence/display/COMDEV/ComDev+Wiki