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:
- amdj — Services developer, WireGuard mailing list moderator & channel operator, networking & crypto nerd
- bigpresh — Perl programmer, sysad, dad, man wishing for more time and tuits.
- e — IRCd and kitchen sink developer, drive-by foss contributor, everywhere lurker, sysadmin.
- Fuchs — Helping out in KDE and local Linux Help- and Usergroups, versatile fox-for-everything on freenode.
- glguy — Programmer, Haskell-community member, focused on helping users use freenode.
- ilbelkyr — Services maintainer, trying to help make things work as they should.
- jess — Pythonista, IRC protocol obsessive, robot engineer and fluffy sandcat.
- mniip — Hacking around a bit with ircd's, services, irc bots, irc clients, and scripts. Programmer/Mathematician in real life.
- Swant — Trying to bring more unicorns to our websites, doesn't know how to IRC.
- tomaw