Contributing

freenode relies on several interoperating pieces of software to provide an open environment for peer-directed projects. In the spirit of our 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 and contributions are always welcome. You can find an overview of open tasks on our projects board. 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, 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 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 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.

The Development Team

When contributing to freenode you will get to interact closely with our development team which comprises, amongst others: