---
title: "Community Development: What we do"
url: /about/
tags: ["faq","navigation"]
---

## Community Development: What We Do

The Community Development (ComDev) project 
provides a wide array of information, [FAQs](/newbiefaq.html), and help to newcomers and existing committers, and maintains a number of [helpful tools](#getcode).

{{% toc %}}

### Mentoring for Individuals and Help Getting Around
- [GSoC](/gsoc/)
- [Contributors Guide](/newcomers/)
- [Committers Guide](/committers)
- [Contributor Ladder](https://community.apache.org/contributor-ladder.html) of roles
- [Project Management Committees](https://community.apache.org/pmc/)

### Mentoring for Projects
- [Incubator Mentors](https://incubator.apache.org/guides/mentor.html) - Many folks here are IPMC members or mentors, too
- Get community advice on dev@community

### Education + Outreach
- [Community Over Code](https://communityovercode.org/) *(formerly ApacheCon)*
- Partnered Industry Events (FOSDEM etc.)
- MeetUps, Apache BarCamps, etc.
- Event Representatives (booth coverage, etc.)
- [Sample Presentations](/speakers/slides.html)

### Diversity
- [Diversity Website](http://diversity.apache.org/)
- [Code of Conduct](https://www.apache.org/foundation/policies/conduct.html)

### Conference Travel Assistance
- [TAC - Travel Assistance Committee](https://www.apache.org/travel)

### Tools and Code we Maintain ### {#getcode}

ComDev manages a number of helpful tools for finding your way around.

  - The [Apache Projects Directory](https://projects.apache.org/) lists all our software projects.  [See the Project Directory **code**](https://projects.apache.org/about.html) and the JSON data feeds available.
  - [Apache Committers Phone Book](https://home.apache.org/) lists all individual Apache committers.  [See the Phonebook **code**](https://home.apache.org/phonebook-about.html).
  - The [Project Reporting Tool](https://reporter.apache.org/) (requires login) helps Apache PMCs create quarterly board reports.  [See the Reporter **code**](https://svn.apache.org/repos/asf/comdev/projects.apache.org/).
  - The [ComDev Wiki](https://cwiki.apache.org/confluence/display/COMDEV/ComDev+Wiki) is also available for scratch or experimental work, although most permanent content should be here in the website.

The ComDev PMC maintains these tools, so bring questions to our [dev@](https://lists.apache.org/list.html?dev@community.apache.org) list.

### Physical artifacts

* Stickers: Request project stickers for your event, depending on geography

## About This Website

The [Apache Community Development PMC](/) maintains this `community.apache.org` website  and works through the 
dev@community.apache.org [archived mailing list](/lists.html).

See our [Newcomer FAQ](/newbiefaq.html#websitecms) for how to suggest changes to this website.

The content is written in Markdown and published automatically via a Jenkins job.
Source code is hosted in a [Git repository](https://github.com/apache/comdev-site).

See the [README.md](https://github.com/apache/comdev-site/blob/main/README.md) for more info.
