InitWare, currently in its alpha stage of development, has made significant strides in addressing all previously disclosed security concerns. This progress means that using InitWare as an auxiliary service manager on the NetBSD platform can now be considered a safe option. However, software experts urge caution against deploying it in a production environment until the first stable release is officially launched.

The InitWare Suite of Middleware offers a robust framework for users to manage services and system resources as logical entities known as units. This innovative suite is designed to operate seamlessly across various operating systems, including NetBSD, GNU/Linux, and modern BSD systems, making it a versatile tool for system administrators.

At the heart of the InitWare Suite is an intelligent job scheduler that automatically organizes units based on their dependency specifications. This functionality ensures that services start in the correct order, enhancing system reliability and efficiency. Additionally, the suite includes a user session manager that tracks individual users' login sessions, providing each user with their dedicated service manager. This feature helps maintain a clear overview of user activity and resource allocation. Furthermore, the InitWare System Log aggregates events from multiple log sources into a comprehensive system-wide event log, simplifying troubleshooting and monitoring processes.

One notable aspect of InitWare is its flexibility; it can function either as an init system or as an auxiliary service management system under an existing init system. Originally forked from systemd, InitWare retains compatibility with numerous systemd interfaces, which is advantageous for users transitioning from Linux-based systems to those running BSD.

Platform Build Status

InitWare is designed to run on several prominent platforms, including:

  • GNU/Linux (Alpine)
  • FreeBSD
  • NetBSD (its native platform)
  • OpenBSD

Frequently Asked Questions

How does InitWare differ from systemd?

InitWare distinguishes itself from systemd in three primary ways: it boasts exceptional portability, has a more modular architecture, and operates within a clearly defined scope. For a deeper understanding, refer to The InitWare philosophy.

What components have been dropped?

Some components of systemd that did not offer compelling benefits have been excluded from InitWare. More information can be found in the Dropped components section.

How compatible is InitWare with systemd?

InitWare supports unit-files, commands like systemctl and loginctl (adapted as svcctl and sessionctl), and several APIs including the systemd1 and Login1 D-Bus APIs among others. However, compatibility details may vary across different ports. See Systemd compatibility for more information.

What platforms does InitWare run on?

InitWare is primarily native to NetBSD but is also compatible with FreeBSD and GNU/Linux as its primary targets. On macOS, DragonFly BSD, and OpenBSD, it operates as an auxiliary service manager. For a complete list, refer to the Support matrix.

Under what license is InitWare released?

Most of InitWare's code is released under the GNU Library GPL v2.1, while some components are available under more liberal licenses.

How does one build InitWare?

To build InitWare, users need to first install several dependencies, which include a C toolchain, cmake, gperf, m4, awk, pkg-config or pkgconf, and on BSD platforms, libinotify. The build process can be initiated with the following commands:

git submodule update --init --recursive && cmake && make && make install

For more details on building, see the Building section.

What does the future hold for InitWare?

For updates on future developments, users can check the Issues and Projects tabs, or refer to the Roadmap.

How can I contribute?

If you’re interested in contributing to InitWare, visit the Contributing section for more information.

Where can I learn more?

For additional insights, explore the Wiki. A good starting point is the Myths and Truths page.