Dev Area

Welcome to the Development Area.

What you can find here:

1 Basic information on the development process

1.1 What you need to know before contributing

WeIRCd is an IRCd started by a single person, a long-term project that also contains some older source that doesn't adhere to a good coding style, is hard to maintain and not so easy to understand for new developers not being involved so far.

This means if you want to improve WeIRCd, it is often much easier to use the documented and clean module API to develop a module which adds the functionality you want to implement.

At modules you can easily work on your own without interfering with other developers, having your very own, encapsulated piece of extending code that gets lateron dynamically loaded as module.

If you want to work on the core code anyway, the most important part is to communicate with other developers to find out what needs to be done and what is already worked on.

1.2 How to develop modules for WeIRCd

A module is an externally compiled library loaded at runtime by WeIRCd which extends its functionality.

It can be written in C/C++ and is basically a program providing specific functions which WeIRCd will call which can then in turn use the module API functions of WeIRCd to return information to it or to combine a new sort of functionality. The module can also include new libraries and is therefore able to implement very different types of complex new features for WeIRCd.

Check list for developing WeIRCd modules

The module API is documented at this place:

1.2.1 List of modules that already exist

(None)

1.3 Contributing to the WeIRCd core

To contribute to the core code, you need to know in the first place where to obtain the very latest development source (written in C): You might also check the bug tracker for known issues that are already being worked on:

Please note, as mentioned above in section 1.1, that it is extremely important and vital to join us in chat so any development processes can be coordinated. Don't just turn up with patches out of nothing which cover areas which might already be worked on - it's not a deadly sin, but it is probably just needless work already done by someone else or unappicable after some heavy changes on that code part you also wanted to patch.

2 Contacting other developers

Join us in #weircd at irc.eloxoph.com! (Can be easily done through this web page)