Mowgli (libmowgli) is the core framework for Atheme applications. It contains a large class library and super-scalable multiprocessing model, built around a high performance eventing subsystem, as well as a number of high-performance data structures. It also handles abstraction of portability issues by using a lightweight abstraction layer and platform-specific implementations where needed.

The ultimate goal of the Mowgli project is to enable write-once, compile-everywhere functionality with consistent and predictable behaviour for all projects using the library on all officially supported Atheme platforms. Almost all Atheme projects have been ported to take advantage of Mowgli since thelibmowgli-1 era.


Getting involved

Like many other projects at Atheme, the Mowgli project makes heavy use of IRC for coordinating development. You can access our IRC channel on this page.

The IRC channel contains a mixture of development discussion, commit notifications, and other forms of automated notifications such as build status reports.

It is also a good resource for developers interested in building apps with Mowgli.

Contributing patches

The typical workflow we use for contributions is to use GitHub's pull request feature. To submit a pull request, you simply fork the repository on GitHub, commit your chances to that fork, and send us a pull request containing your changes.

Once the pull request is submitted, it will be considered by the steering committee.


Steering committee

The steering committee consists of the committers which have direct push access to the main repository and also make the day-to-day project management decisions for the Mowgli project.

Presently, the steering committee consists of:

  • Alex Iadicicco (aji@)
  • William Pitcock (nenolod@)
  • Jilles Tjoelker (jilles@)

Applications that use Mowgli

Here is a list of interesting applications that make use of libmowgli:

Downloads

Downloads of libmowgli releases may be found on the Atheme release distribution server, distfiles.atheme.org.

Development code and testing releases can be found on Atheme's GitHub.