---
title: Contributing
---

freenode relies on several interoperating pieces of software to provide
an open environment for peer-directed projects. In the spirit of
[our philosophy][philosophy], we use free and open source software to do so.

We collaborate with upstream development teams for the projects powering
the network to ensure the specific needs of our communities can be met
appropriately. In addition, there are various custom-developed tools
and modules that we make available.

The majority of our software is available on [our GitHub profile][github]
and contributions are always welcome. You can find an overview of open
tasks [on our projects board][roadmap].  We encourage you to contact us
in `#freenode-dev` if you want to contribute or have any questions.

## The platform

### IRCd

We're in the process of migrating to
[Solanum](https://github.com/solanum-ircd/solanum), a joint
effort by freenode and OFTC to develop an IRCd tailored to the needs of
centrally-managed, community-oriented IRC networks. Solanum is a fork
of Charybdis, once freenode's upstream, but seeks to continue where it
left off and is managed as an independent project. Users are encouraged
to submit issues and patches directly.

### Services

To provide registration of accounts and channels as well as related
functionality, we run Atheme, an IRC services package. We maintain
[a fork](https://github.com/freenode/atheme) from which to coordinate
development; you are welcome to submit patches either to upstream
Atheme, or to our fork if you'd rather leave upstreaming your changes
to us. There is also a collection of freenode-specific extension modules
we maintain directly.

### Website

Our website [freenode.net](https://github.com/freenode/web-7.0) is built on the
idea that freenode is a community plattform that currently uses IRC.
We prioritise information about freenode, and the policies and philosophy
that guides us. The website is also home to important documentation on
the usage of the network. While we want to encourage users to ask questions
in the `#freenode` channel, some information is better kept in our knowledge
base.

[philosophy]: https://freenode.net/philosophy
[github]: https://github.com/freenode
[roadmap]: https://github.com/orgs/freenode/projects/1

## The Development Team

When contributing to freenode you will get to interact closely with our
development team.
