You are not logged in.
Why don't we fork systemd instead? Let's just remove unneccessary parts. Can't we do that? Wouldn't it be better? Or worse?
Offline

No need to fork it, just compile it with all the unwanted parts disabled.
Here is a full list of the options for v250:
Main project options:
  
  Core options                   Default Value                    Possible Values                  Description
  ------------                   -------------                    ---------------                  -----------
  auto_features                  auto                             [enabled, disabled, auto]        Override value of all 'auto' features
  backend                        ninja                            [ninja, vs, vs2010, vs2012,      Backend to use
                                                                  vs2013, vs2015, vs2017, vs2019,  
                                                                   vs2022, xcode]                  
  buildtype                      debug                            [plain, debug, debugoptimized,   Build type to use
                                                                  release, minsize, custom]        
  cmake_prefix_path              []                                                                List of additional prefixes for cmake to search
  debug                          true                             [true, false]                    Debug
  default_library                shared                           [shared, static, both]           Default library type
  force_fallback_for             []                                                                Force fallback for those subprojects
  install_umask                  0022                             [preserve, 0000-0777]            Default umask to apply on permissions of installed files
  layout                         mirror                           [mirror, flat]                   Build directory layout
  optimization                   0                                [0, g, 1, 2, 3, s]               Optimization level
  pkg_config_path                []                                                                List of additional paths for pkg-config to search
  strip                          false                            [true, false]                    Strip targets on install
  unity                          off                              [on, off, subprojects]           Unity build
  unity_size                     4                                >=2                              Unity block size
  warning_level                  2                                [0, 1, 2, 3]                     Compiler warning level to use
  werror                         false                            [true, false]                    Treat warnings as errors
  wrap_mode                      default                          [default, nofallback,            Wrap mode
                                                                  nodownload, forcefallback,       
                                                                  nopromote]                       
  build.cmake_prefix_path        []                                                                List of additional prefixes for cmake to search
  build.pkg_config_path          []                                                                List of additional paths for pkg-config to search
  
  Backend options                Default Value                    Possible Values                  Description
  ---------------                -------------                    ---------------                  -----------
  backend_max_links              0                                >=0                              Maximum number of linker processes to run or 0 for no limit
  
  Base options                   Default Value                    Possible Values                  Description
  ------------                   -------------                    ---------------                  -----------
  b_asneeded                     true                             [true, false]                    Use -Wl,--as-needed when linking
  b_colorout                     always                           [auto, always, never]            Use colored output
  b_coverage                     false                            [true, false]                    Enable coverage tracking.
  b_lto                          false                            [true, false]                    Use link time optimization
  b_lto_threads                  0                                                                 Use multiple threads for Link Time Optimization
  b_lundef                       true                             [true, false]                    Use -Wl,--no-undefined when linking
  b_ndebug                       false                            [true, false, if-release]        Disable asserts
  b_pch                          true                             [true, false]                    Use precompiled headers
  b_pgo                          off                              [off, generate, use]             Use profile guided optimization
  b_pie                          false                            [true, false]                    Build executables as position independent
  b_sanitize                     none                             [none, address, thread,          Code sanitizer to use
                                                                  undefined, memory,               
                                                                  address,undefined]               
  b_staticpic                    true                             [true, false]                    Build static libraries as position independent
  
  Compiler options               Default Value                    Possible Values                  Description
  ----------------               -------------                    ---------------                  -----------
  c_args                         []                                                                Extra arguments passed to the c compiler
  c_link_args                    []                                                                Extra arguments passed to the c linker
  c_std                          gnu11                            [none, c89, c99, c11, c17, c18,  C language standard to use
                                                                  c2x, gnu89, gnu99, gnu11,        
                                                                   gnu17, gnu18, gnu2x]            
  build.c_args                   []                                                                Extra arguments passed to the c compiler
  build.c_link_args              []                                                                Extra arguments passed to the c linker
  build.c_std                    none                             [none, c89, c99, c11, c17, c18,  C language standard to use
                                                                  c2x, gnu89, gnu99, gnu11,        
                                                                   gnu17, gnu18, gnu2x]            
  
  python module options          Default Value                    Possible Values                  Description
  ---------------------          -------------                    ---------------                  -----------
  python.install_env             prefix                           [auto, prefix, system, venv]     Which python environment to install to
  python.platlibdir                                                                                Directory for site-specific, platform-specific files.
  python.purelibdir                                                                                Directory for site-specific, non-platform-specific files.
  
  Directories                    Default Value                    Possible Values                  Description
  -----------                    -------------                    ---------------                  -----------
  bindir                         bin                                                               Executable directory
  datadir                        share                                                             Data file directory
  includedir                     include                                                           Header file directory
  infodir                        share/info                                                        Info page directory
  libdir                         lib                                                               Library directory
  libexecdir                     libexec                                                           Library executable directory
  localedir                      share/locale                                                      Locale data directory
  localstatedir                  /var                                                              Localstate data directory
  mandir                         share/man                                                         Manual page directory
  prefix                         /usr                                                              Installation prefix
  sbindir                        sbin                                                              System executable directory
  sharedstatedir                 /var/lib                                                          Architecture-independent data directory
  sysconfdir                     /etc                                                              Sysconf data directory
  
  Testing options                Default Value                    Possible Values                  Description
  ---------------                -------------                    ---------------                  -----------
  errorlogs                      true                             [true, false]                    Whether to print the logs from failing tests
  stdsplit                       true                             [true, false]                    Split stdout and stderr in test logs
  
  Project options                Default Value                    Possible Values                  Description
  ---------------                -------------                    ---------------                  -----------
  acl                            auto                             [auto, true, false]              libacl support
  adm-gid                        -1                                                                soft-static allocation for the "adm" group
  adm-group                      true                             [true, false]                    the ACL for adm group should be added
  analyze                        true                             [true, false]                    install systemd-analyze
  apparmor                       auto                             [auto, true, false]              AppArmor support
  audio-gid                      -1                                                                soft-static allocation for the "audio" group
  audit                          auto                             [auto, true, false]              libaudit support
  backlight                      true                             [true, false]                    support for restoring backlight state
  bashcompletiondir                                                                                directory for bash completion scripts ["no" disables]
  binfmt                         true                             [true, false]                    support for custom binary formats
  blkid                          auto                             [auto, true, false]              libblkid support
  bpf-framework                  auto                             [auto, true, false]              build BPF programs from source code in restricted C
  bump-proc-sys-fs-file-max      true                             [true, false]                    bump /proc/sys/fs/file-max to LONG_MAX
  bump-proc-sys-fs-nr-open       true                             [true, false]                    bump /proc/sys/fs/nr_open to INT_MAX
  bzip2                          auto                             [auto, true, false]              bzip2 compression support
  cdrom-gid                      -1                                                                soft-static allocation for the "cdrom" group
  certificate-root               /etc/ssl                                                          the prefix for TLS certificates
  clock-valid-range-usec-max     473364000000000                                                   maximum value in microseconds for the difference between RTC and
                                                                                                   epoch, exceeding which is considered an RTC error
  compat-mutable-uid-boundaries  false                            [true, false]                    look at uid boundaries in /etc/login.defs for compatibility
  container-uid-base-max         1878982656                                                        maximum container UID base
  container-uid-base-min         524288                                                            minimum container UID base
  coredump                       true                             [true, false]                    install the coredump handler
  create-log-dirs                true                             [true, false]                    create /var/log/journal{,/remote}
  cryptolib                      auto                             [auto, openssl, gcrypt]          whether to use openssl or gcrypt where both are supported
  dbus                           auto                             [auto, true, false]              libdbus support (for tests only)
  dbus-interfaces-dir                                                                              export D-Bus introspection XML as standalone files
  dbuspolicydir                                                                                    D-Bus policy directory
  dbussessionservicedir                                                                            D-Bus session service directory
  dbussystemservicedir                                                                             D-Bus system service directory
  debug-extra                    []                               [hashmap, mmap-cache, siphash]   enable extra debugging
  debug-shell                    /bin/sh                                                           path to debug shell binary
  debug-tty                      /dev/tty9                                                         specify the tty device for debug shell
  default-dns-over-tls           no                               [yes, opportunistic, no]         default DNS-over-TLS mode
  default-dnssec                 allow-downgrade                  [yes, allow-downgrade, no]       default DNSSEC mode
  default-hierarchy              unified                          [legacy, hybrid, unified]        default cgroup hierarchy
  default-kill-user-processes    true                             [true, false]                    the default value for KillUserProcesses= setting
  default-llmnr                  yes                              [yes, resolve, no]               default LLMNR mode
  default-locale                                                                                   default locale used when /etc/locale.conf does not exist
  default-mdns                   yes                              [yes, resolve, no]               default MulticastDNS mode
  default-net-naming-scheme      latest                                                            default net.naming-scheme= value
  default-user-shell             /bin/bash                                                         default interactive shell
  dev-kvm-mode                   0666                                                              /dev/kvm access mode
  dialout-gid                    -1                                                                soft-static allocation for the "dialout" group
  disk-gid                       -1                                                                soft-static allocation for the "disk" group
  dns-over-tls                   auto                             [auto, gnutls, openssl, true,    DNS-over-TLS support
                                                                  false]                           
  dns-servers                    1.1.1.1#cloudflare-dns.com                                        space-separated list of default DNS servers
                                 8.8.8.8#dns.google                                                
                                 1.0.0.1#cloudflare-dns.com                                        
                                 8.8.4.4#dns.google                                                
                                 2606:4700:4700::1111#cloudflare-                                  
                                 dns.com                                                           
                                 2001:4860:4860::8888#dns.google                                   
                                 2606:4700:4700::1001#cloudflare-                                  
                                 dns.com                                                           
                                 2001:4860:4860::8844#dns.google                                   
  docdir                                                                                           documentation directory
  dynamic-uid-max                65519                                                             maximum dynamic UID
  dynamic-uid-min                61184                                                             minimum dynamic UID
  efi                            true                             [true, false]                    enable systemd-boot and bootctl
  efi-cflags                     []                                                                additional flags for EFI compiler
  efi-color-edit                 black,lightgray                                                   boot loader color for option line edit
  efi-color-entry                lightgray,black                                                   boot loader color for entries
  efi-color-highlight            black,lightgray                                                   boot loader color for selected entries
  efi-color-normal               lightgray,black                                                   general boot loader color in "foreground,background" form, see
                                                                                                   constants from eficon.h
  efi-includedir                 /usr/include/efi                                                  path to the EFI header directory
  efi-ld                         auto                             [auto, bfd, gold]                the linker to use for EFI modules
  efi-libdir                                                                                       path to the EFI lib directory
  efi-tpm-pcr-compat             false                            [true, false]                    Measure kernel command line also into TPM PCR 8 (in addition to
                                                                                                   12)
  elfutils                       auto                             [auto, true, false]              elfutils support
  environment-d                  true                             [true, false]                    support for environment.d
  extra-net-naming-schemes                                                                         comma-separated list of extra net.naming-scheme= definitions
  fallback-hostname              localhost                                                         the hostname used if none configured
  fdisk                          auto                             [auto, true, false]              libfdisk support
  fexecve                        false                            [true, false]                    use fexecve() to spawn children
  firstboot                      true                             [true, false]                    support for firstboot mechanism
  fuzz-tests                     false                            [true, false]                    run the fuzzer regression tests by default (with sanitizers)
  gcrypt                         auto                             [auto, true, false]              gcrypt support
  glib                           auto                             [auto, true, false]              libglib support (for tests only)
  gnu-efi                        auto                             [auto, true, false]              gnu-efi support for sd-boot
  gnutls                         auto                             [auto, true, false]              gnutls support
  group-render-mode              0666                                                              Access mode for devices owned by render group (e.g.
                                                                                                   /dev/dri/renderD*, /dev/kfd).
  gshadow                        true                             [true, false]                    support for shadow group
  hibernate                      true                             [true, false]                    support for hibernation
  homed                          auto                             [auto, true, false]              install the systemd-homed stack
  hostnamed                      true                             [true, false]                    install the systemd-hostnamed stack
  html                           false                            [auto, true, false]              build and install html pages
  hwdb                           true                             [true, false]                    support for the hardware database
  idn                            true                             [true, false]                    use IDN when printing hostnames
  ima                            true                             [true, false]                    IMA support
  importd                        auto                             [auto, true, false]              install the systemd-importd daemon
  initrd                         true                             [true, false]                    install services for use when running systemd in initrd
  input-gid                      -1                                                                soft-static allocation for the "input" group
  install-sysconfdir             true                             [true, no-samples, false]        install configuration files and directories to $sysconfdir
  install-tests                  false                            [true, false]                    install test executables
  kernel-install                 true                             [true, false]                    install kernel-install and associated files
  kexec-path                                                                                       path to kexec
  kmem-gid                       -1                                                                soft-static allocation for the "kmem" group
  kmod                           auto                             [auto, true, false]              support for loadable modules
  kmod-path                                                                                        path to kmod
  kvm-gid                        -1                                                                soft-static allocation for the "kvm" group
  ldconfig                       true                             [true, false]                    support for dynamic linker cache creation
  libcryptsetup                  auto                             [auto, true, false]              libcryptsetup support
  libcryptsetup-plugins          auto                             [auto, true, false]              libcryptsetup LUKS2 external token handlers support (plugins)
  libcryptsetup-plugins-dir                                                                        directory for libcryptsetup plugins
  libcurl                        auto                             [auto, true, false]              libcurl support
  libfido2                       auto                             [auto, true, false]              FIDO2 support
  libidn                         auto                             [auto, true, false]              libidn support
  libidn2                        auto                             [auto, true, false]              libidn2 support
  libiptc                        auto                             [auto, true, false]              libiptc support
  link-boot-shared               true                             [true, false]                    link bootctl and systemd-bless-boot against libsystemd-shared.so
  link-networkd-shared           true                             [true, false]                    link systemd-networkd and its helpers to libsystemd-shared.so
  link-systemctl-shared          true                             [true, false]                    link systemctl against libsystemd-shared.so
  link-timesyncd-shared          true                             [true, false]                    link systemd-timesyncd and its helpers to libsystemd-shared.so
  link-udev-shared               true                             [true, false]                    link systemd-udev and its helpers to libsystemd-shared.so
  llvm-fuzz                      false                            [true, false]                    build against LLVM libFuzzer
  loadkeys-path                                                                                    path to loadkeys
  localed                        true                             [true, false]                    install the systemd-localed stack
  localegen-path                                                                                   absolute path to the locale-gen binary in case the system is
                                                                                                   using locale-gen
  log-trace                      false                            [true, false]                    enable low level debug logging
  logind                         true                             [true, false]                    install the systemd-logind stack
  lp-gid                         -1                                                                soft-static allocation for the "lp" group
  lz4                            auto                             [auto, true, false]              lz4 compression support
  machined                       true                             [true, false]                    install the systemd-machined stack
  man                            false                            [auto, true, false]              build and install man pages
  memory-accounting-default      true                             [true, false]                    enable MemoryAccounting= by default
  microhttpd                     auto                             [auto, true, false]              libµhttpd support
  mode                           developer                        [developer, release]             autoenable features suitable for systemd development/release
                                                                                                   builds
  mount-path                                                                                       path to mount
  networkd                       true                             [true, false]                    install the systemd-networkd stack
  nobody-group                   nobody                                                            The name of the nobody group (the one with GID 65534)
  nobody-user                    nobody                                                            The name of the nobody user (the one with UID 65534)
  nologin-path                                                                                     path to nologin
  nscd                           true                             [true, false]                    build support for flushing of the nscd caches
  nss-myhostname                 true                             [true, false]                    install nss-myhostname module
  nss-mymachines                 auto                             [auto, true, false]              install nss-mymachines module
  nss-resolve                    auto                             [auto, true, false]              install nss-resolve module
  nss-systemd                    true                             [true, false]                    install nss-systemd module
  ntp-servers                    time1.google.com                                                  space-separated list of default NTP servers
                                 time2.google.com                                                  
                                 time3.google.com                                                  
                                 time4.google.com                                                  
  ok-color                       green                            [black, red, green, yellow,      color of the "OK" status message
                                                                  blue, magenta, cyan, white,      
                                                                   highlight-black, highlight-red, 
                                                                  highlight-green,                 
                                                                   highlight-yellow, highlight-    
                                                                  blue, highlight-magenta,         
                                                                   highlight-cyan, highlight-      
                                                                  white]                           
  oomd                           true                             [true, false]                    install the userspace oom killer
  openssl                        auto                             [auto, true, false]              openssl support
  oss-fuzz                       false                            [true, false]                    build against oss-fuzz
  p11kit                         auto                             [auto, true, false]              p11kit support
  pam                            auto                             [auto, true, false]              PAM support
  pamconfdir                                                                                       directory for PAM configuration ["no" disables]
  pamlibdir                                                                                        directory for PAM modules
  pcre2                          auto                             [auto, true, false]              regexp matching support using pcre2
  pkgconfigdatadir                                                                                 directory for arch-independent pkg-config files
  pkgconfiglibdir                                                                                  directory for standard pkg-config files
  polkit                         auto                             [auto, true, false]              polkit support
  portabled                      true                             [true, false]                    install the systemd-portabled stack
  pstore                         true                             [true, false]                    install the pstore archival tool
  pwquality                      auto                             [auto, true, false]              libpwquality support
  qrencode                       auto                             [auto, true, false]              libqrencode support
  quotacheck                     true                             [true, false]                    support for the quotacheck tools
  quotacheck-path                                                                                  path to quotacheck
  quotaon-path                                                                                     path to quotaon
  randomseed                     true                             [true, false]                    support for restoring random seed
  rc-local                       /etc/rc.local                                                     rc-local
  remote                         auto                             [auto, true, false]              support for "journal over the network"
  render-gid                     -1                                                                soft-static allocation for the "render" group
  repart                         auto                             [auto, true, false]              install the systemd-repart tool
  resolve                        true                             [true, false]                    systemd-resolved stack
  rfkill                         true                             [true, false]                    support for the rfkill tools
  rootlibdir                                                                                       [/usr]/lib/x86_64-linux-gnu or such
  rootprefix                                                                                       override the root prefix [default '/' if split-usr and '/usr'
                                                                                                   otherwise]
  rpmmacrosdir                   lib/rpm/macros.d                                                  directory for rpm macros ["no" disables]
  sbat-distro                    auto                                                              SBAT distribution ID, e.g. fedora, or auto for autodetection
  sbat-distro-generation         1                                                                 SBAT distribution generation
  sbat-distro-pkgname                                                                              SBAT distribution package name, e.g. systemd
  sbat-distro-summary                                                                              SBAT distribution summary, e.g. Fedora
  sbat-distro-url                                                                                  SBAT distribution URL, e.g.
                                                                                                   https://src.fedoraproject.org/rpms/systemd
  sbat-distro-version                                                                              SBAT distribution package version, e.g. 248-7.fc34
  seccomp                        auto                             [auto, true, false]              SECCOMP support
  selinux                        auto                             [auto, true, false]              SELinux support
  service-watchdog               3min                                                              default watchdog setting for systemd services
  setfont-path                                                                                     path to setfont
  sgx-gid                        -1                                                                soft-static allocation for the "sgx" group
  shared-lib-tag                                                                                   override the private shared library version tag (defaults to
                                                                                                   project version)
  skip-deps                      false                            [true, false]                    skip optional dependencies
  slow-tests                     false                            [true, false]                    run the slow tests by default
  smack                          true                             [true, false]                    SMACK support
  smack-run-label                                                                                  run systemd --system itself with a specific SMACK label
  split-bin                      auto                             [auto, true, false]              sbin is not a symlink to bin
  split-usr                      auto                             [auto, true, false]              /bin, /sbin aren't symlinks into /usr
  standalone-binaries            false                            [true, false]                    also build standalone versions of supported binaries
  static-libsystemd              false                            [false, true, pic, no-pic]       install a static library for libsystemd
  static-libudev                 false                            [false, true, pic, no-pic]       install a static library for libudev
  status-unit-format-default     description                      [description, name, combined]    use unit name or description in messages by default
  sulogin-path                                                                                     path to sulogin
  support-url                    https://lists.freedesktop.org/ma                                  the support URL to show in catalog entries included in systemd
                                 ilman/listinfo/systemd-devel                                      
  sysext                         true                             [true, false]                    install the systemd-sysext stack
  system-alloc-gid-min           -1                                                                minimum system GID used when allocating
  system-alloc-uid-min           -1                                                                minimum system UID used when allocating
  system-gid-max                 -1                                                                maximum system GID
  system-uid-max                 -1                                                                maximum system UID
  systemd-journal-gid            -1                                                                soft-static allocation for the systemd-journal group
  systemd-network-uid            -1                                                                soft-static allocation for the systemd-network user
  systemd-resolve-uid            -1                                                                soft-static allocation for the systemd-resolve user
  systemd-timesync-uid           -1                                                                soft-static allocation for the systemd-timesync user
  sysupdate                      auto                             [auto, true, false]              install the systemd-sysupdate tool
  sysusers                       true                             [true, false]                    support for the sysusers configuration
  sysvinit-path                  /etc/init.d                                                       the directory where the SysV init scripts are located
  sysvrcnd-path                  /etc/rc.d                                                         the base directory for SysV rcN.d directories
  tape-gid                       -1                                                                soft-static allocation for the "tape" group
  telinit-path                   /lib/sysvinit/telinit                                             path to telinit
  tests                          true                             [true, unsafe, false]            enable extra tests with =unsafe
  time-epoch                     -1                                                                time epoch for time clients
  timedated                      true                             [true, false]                    install the systemd-timedated daemon
  timesyncd                      true                             [true, false]                    install the systemd-timesyncd daemon
  tmpfiles                       true                             [true, false]                    support for tmpfiles.d
  tpm                            true                             [true, false]                    TPM should be used to log events and extend the registers
  tpm2                           auto                             [auto, true, false]              TPM2 support
  translations                   true                             [true, false]                    build and install translations
  tty-gid                        5                                                                 the numeric GID of the "tty" group
  umount-path                                                                                      path to umount
  update-helper-user-timeout     15s                                                               how long to wait for user manager operations
  urlify                         true                             [true, false]                    enable pager Hyperlink ANSI sequence support
  user-path                                                                                        $PATH to use for user sessions
  userdb                         true                             [true, false]                    install the systemd-userdbd stack
  users-gid                      -1                                                                soft-static allocation for the "users" group
  utmp                           true                             [true, false]                    support for utmp/wtmp log handling
  utmp-gid                       -1                                                                soft-static allocation for the "utmp" group
  valgrind                       false                            [true, false]                    do extra operations to avoid valgrind warnings
  vconsole                       true                             [true, false]                    support for vconsole configuration
  version-tag                                                                                      override the git version string
  video-gid                      -1                                                                soft-static allocation for the "video" group
  wheel-gid                      -1                                                                soft-static allocation for the "wheel" group
  wheel-group                    true                             [true, false]                    the ACL for wheel group should be added
  www-target                     www.freedesktop.org:/srv/www.fre                                  the address and dir to upload docs too
                                 edesktop.org/www/software/system                                  
                                 d                                                                 
  xdg-autostart                  true                             [true, false]                    install the xdg-autostart-generator and unit
  xinitrcdir                                                                                       directory for xinitrc files
  xkbcommon                      auto                             [auto, true, false]              xkbcommon keymap support
  xz                             auto                             [auto, true, false]              xz compression support
  zlib                           auto                             [auto, true, false]              zlib compression support
  zshcompletiondir                                                                                 directory for zsh completion scripts ["no" disables]
  zstd                           auto                             [auto, true, false]              zstd compression supportAs you can see it is quite comprehensive :-)
Even if the various components are all enabled (as they are for most distributions) there's still no need to use them — other programs can be substituted in instead, as per the UNIX Philosophy.
Brianna Ghey — Rest In Power
Offline

Why don't we fork systemd instead? Let's just remove unneccessary parts. Can't we do that? Wouldn't it be better? Or worse?
Why would anyone want systemd in the first place?
Offline
Hello:
Why would anyone want systemd in the first place?
Indeed ...
+1  8^D
systemd is the absolute opposite of basic Linux philosophy.
ie: Write programs that do one thing and do it well.   
A.
Last edited by Altoid (2022-04-15 22:38:49)
Offline
Gday
This is what I don't understand
Why cant the community fork or pull soyd/dbus/avachi from opensource programs?
Why cant we fork stuff like
Hexchat
Smplayer
Mumble
LibreWolf
without soyd/bloat/centralisation/etc  ?
Or do what the International Subversives do 
* join a project
* inject their changes
* kick out the original group
* take over the project
Even if the community has to res a bunch of old abandoned stuff like leafpad and other stuff 
that's been ditched by { THEM }
Does the soydless community even have a plan of action to go ahead ?
Offline

Gday
This is what I don't understand
Why cant the community fork or pull soyd/dbus/avachi from opensource programs?
[cut rant]
Does the soydless community even have a plan of action to go ahead ?
There are talkers and doers. Until you become a doer, silence is the best option. Perhaps you'll find a more appreciative audience elsewhere . . .
Offline

thats like saying why dont we just fork gtk and remove the cruft, it takes teams of dedicated people. Devuan was the sane choice by forking debian and removing systemd in favour of a tried and true init system, sysvinit.
Offline
I use Devuan because it's what Debian used to be. 
If it doesn't suit you, try a different distro, that's the beauty of Linux, choice. 
Offline

No need to fork it, just compile it with all the unwanted parts disabled.
Here is a full list of the options for v250:
Main project options: Core options Default Value Possible Values Description ------------ ------------- --------------- ----------- auto_features auto [enabled, disabled, auto] Override value of all 'auto' features backend ninja [ninja, vs, vs2010, vs2012, Backend to use vs2013, vs2015, vs2017, vs2019, vs2022, xcode] buildtype debug [plain, debug, debugoptimized, Build type to use release, minsize, custom] cmake_prefix_path [] List of additional prefixes for cmake to search debug true [true, false] Debug default_library shared [shared, static, both] Default library type force_fallback_for [] Force fallback for those subprojects install_umask 0022 [preserve, 0000-0777] Default umask to apply on permissions of installed files layout mirror [mirror, flat] Build directory layout optimization 0 [0, g, 1, 2, 3, s] Optimization level pkg_config_path [] List of additional paths for pkg-config to search strip false [true, false] Strip targets on install unity off [on, off, subprojects] Unity build unity_size 4 >=2 Unity block size warning_level 2 [0, 1, 2, 3] Compiler warning level to use werror false [true, false] Treat warnings as errors wrap_mode default [default, nofallback, Wrap mode nodownload, forcefallback, nopromote] build.cmake_prefix_path [] List of additional prefixes for cmake to search build.pkg_config_path [] List of additional paths for pkg-config to search Backend options Default Value Possible Values Description --------------- ------------- --------------- ----------- backend_max_links 0 >=0 Maximum number of linker processes to run or 0 for no limit Base options Default Value Possible Values Description ------------ ------------- --------------- ----------- b_asneeded true [true, false] Use -Wl,--as-needed when linking b_colorout always [auto, always, never] Use colored output b_coverage false [true, false] Enable coverage tracking. b_lto false [true, false] Use link time optimization b_lto_threads 0 Use multiple threads for Link Time Optimization b_lundef true [true, false] Use -Wl,--no-undefined when linking b_ndebug false [true, false, if-release] Disable asserts b_pch true [true, false] Use precompiled headers b_pgo off [off, generate, use] Use profile guided optimization b_pie false [true, false] Build executables as position independent b_sanitize none [none, address, thread, Code sanitizer to use undefined, memory, address,undefined] b_staticpic true [true, false] Build static libraries as position independent Compiler options Default Value Possible Values Description ---------------- ------------- --------------- ----------- c_args [] Extra arguments passed to the c compiler c_link_args [] Extra arguments passed to the c linker c_std gnu11 [none, c89, c99, c11, c17, c18, C language standard to use c2x, gnu89, gnu99, gnu11, gnu17, gnu18, gnu2x] build.c_args [] Extra arguments passed to the c compiler build.c_link_args [] Extra arguments passed to the c linker build.c_std none [none, c89, c99, c11, c17, c18, C language standard to use c2x, gnu89, gnu99, gnu11, gnu17, gnu18, gnu2x] python module options Default Value Possible Values Description --------------------- ------------- --------------- ----------- python.install_env prefix [auto, prefix, system, venv] Which python environment to install to python.platlibdir Directory for site-specific, platform-specific files. python.purelibdir Directory for site-specific, non-platform-specific files. Directories Default Value Possible Values Description ----------- ------------- --------------- ----------- bindir bin Executable directory datadir share Data file directory includedir include Header file directory infodir share/info Info page directory libdir lib Library directory libexecdir libexec Library executable directory localedir share/locale Locale data directory localstatedir /var Localstate data directory mandir share/man Manual page directory prefix /usr Installation prefix sbindir sbin System executable directory sharedstatedir /var/lib Architecture-independent data directory sysconfdir /etc Sysconf data directory Testing options Default Value Possible Values Description --------------- ------------- --------------- ----------- errorlogs true [true, false] Whether to print the logs from failing tests stdsplit true [true, false] Split stdout and stderr in test logs Project options Default Value Possible Values Description --------------- ------------- --------------- ----------- acl auto [auto, true, false] libacl support adm-gid -1 soft-static allocation for the "adm" group adm-group true [true, false] the ACL for adm group should be added analyze true [true, false] install systemd-analyze apparmor auto [auto, true, false] AppArmor support audio-gid -1 soft-static allocation for the "audio" group audit auto [auto, true, false] libaudit support backlight true [true, false] support for restoring backlight state bashcompletiondir directory for bash completion scripts ["no" disables] binfmt true [true, false] support for custom binary formats blkid auto [auto, true, false] libblkid support bpf-framework auto [auto, true, false] build BPF programs from source code in restricted C bump-proc-sys-fs-file-max true [true, false] bump /proc/sys/fs/file-max to LONG_MAX bump-proc-sys-fs-nr-open true [true, false] bump /proc/sys/fs/nr_open to INT_MAX bzip2 auto [auto, true, false] bzip2 compression support cdrom-gid -1 soft-static allocation for the "cdrom" group certificate-root /etc/ssl the prefix for TLS certificates clock-valid-range-usec-max 473364000000000 maximum value in microseconds for the difference between RTC and epoch, exceeding which is considered an RTC error compat-mutable-uid-boundaries false [true, false] look at uid boundaries in /etc/login.defs for compatibility container-uid-base-max 1878982656 maximum container UID base container-uid-base-min 524288 minimum container UID base coredump true [true, false] install the coredump handler create-log-dirs true [true, false] create /var/log/journal{,/remote} cryptolib auto [auto, openssl, gcrypt] whether to use openssl or gcrypt where both are supported dbus auto [auto, true, false] libdbus support (for tests only) dbus-interfaces-dir export D-Bus introspection XML as standalone files dbuspolicydir D-Bus policy directory dbussessionservicedir D-Bus session service directory dbussystemservicedir D-Bus system service directory debug-extra [] [hashmap, mmap-cache, siphash] enable extra debugging debug-shell /bin/sh path to debug shell binary debug-tty /dev/tty9 specify the tty device for debug shell default-dns-over-tls no [yes, opportunistic, no] default DNS-over-TLS mode default-dnssec allow-downgrade [yes, allow-downgrade, no] default DNSSEC mode default-hierarchy unified [legacy, hybrid, unified] default cgroup hierarchy default-kill-user-processes true [true, false] the default value for KillUserProcesses= setting default-llmnr yes [yes, resolve, no] default LLMNR mode default-locale default locale used when /etc/locale.conf does not exist default-mdns yes [yes, resolve, no] default MulticastDNS mode default-net-naming-scheme latest default net.naming-scheme= value default-user-shell /bin/bash default interactive shell dev-kvm-mode 0666 /dev/kvm access mode dialout-gid -1 soft-static allocation for the "dialout" group disk-gid -1 soft-static allocation for the "disk" group dns-over-tls auto [auto, gnutls, openssl, true, DNS-over-TLS support false] dns-servers 1.1.1.1#cloudflare-dns.com space-separated list of default DNS servers 8.8.8.8#dns.google 1.0.0.1#cloudflare-dns.com 8.8.4.4#dns.google 2606:4700:4700::1111#cloudflare- dns.com 2001:4860:4860::8888#dns.google 2606:4700:4700::1001#cloudflare- dns.com 2001:4860:4860::8844#dns.google docdir documentation directory dynamic-uid-max 65519 maximum dynamic UID dynamic-uid-min 61184 minimum dynamic UID efi true [true, false] enable systemd-boot and bootctl efi-cflags [] additional flags for EFI compiler efi-color-edit black,lightgray boot loader color for option line edit efi-color-entry lightgray,black boot loader color for entries efi-color-highlight black,lightgray boot loader color for selected entries efi-color-normal lightgray,black general boot loader color in "foreground,background" form, see constants from eficon.h efi-includedir /usr/include/efi path to the EFI header directory efi-ld auto [auto, bfd, gold] the linker to use for EFI modules efi-libdir path to the EFI lib directory efi-tpm-pcr-compat false [true, false] Measure kernel command line also into TPM PCR 8 (in addition to 12) elfutils auto [auto, true, false] elfutils support environment-d true [true, false] support for environment.d extra-net-naming-schemes comma-separated list of extra net.naming-scheme= definitions fallback-hostname localhost the hostname used if none configured fdisk auto [auto, true, false] libfdisk support fexecve false [true, false] use fexecve() to spawn children firstboot true [true, false] support for firstboot mechanism fuzz-tests false [true, false] run the fuzzer regression tests by default (with sanitizers) gcrypt auto [auto, true, false] gcrypt support glib auto [auto, true, false] libglib support (for tests only) gnu-efi auto [auto, true, false] gnu-efi support for sd-boot gnutls auto [auto, true, false] gnutls support group-render-mode 0666 Access mode for devices owned by render group (e.g. /dev/dri/renderD*, /dev/kfd). gshadow true [true, false] support for shadow group hibernate true [true, false] support for hibernation homed auto [auto, true, false] install the systemd-homed stack hostnamed true [true, false] install the systemd-hostnamed stack html false [auto, true, false] build and install html pages hwdb true [true, false] support for the hardware database idn true [true, false] use IDN when printing hostnames ima true [true, false] IMA support importd auto [auto, true, false] install the systemd-importd daemon initrd true [true, false] install services for use when running systemd in initrd input-gid -1 soft-static allocation for the "input" group install-sysconfdir true [true, no-samples, false] install configuration files and directories to $sysconfdir install-tests false [true, false] install test executables kernel-install true [true, false] install kernel-install and associated files kexec-path path to kexec kmem-gid -1 soft-static allocation for the "kmem" group kmod auto [auto, true, false] support for loadable modules kmod-path path to kmod kvm-gid -1 soft-static allocation for the "kvm" group ldconfig true [true, false] support for dynamic linker cache creation libcryptsetup auto [auto, true, false] libcryptsetup support libcryptsetup-plugins auto [auto, true, false] libcryptsetup LUKS2 external token handlers support (plugins) libcryptsetup-plugins-dir directory for libcryptsetup plugins libcurl auto [auto, true, false] libcurl support libfido2 auto [auto, true, false] FIDO2 support libidn auto [auto, true, false] libidn support libidn2 auto [auto, true, false] libidn2 support libiptc auto [auto, true, false] libiptc support link-boot-shared true [true, false] link bootctl and systemd-bless-boot against libsystemd-shared.so link-networkd-shared true [true, false] link systemd-networkd and its helpers to libsystemd-shared.so link-systemctl-shared true [true, false] link systemctl against libsystemd-shared.so link-timesyncd-shared true [true, false] link systemd-timesyncd and its helpers to libsystemd-shared.so link-udev-shared true [true, false] link systemd-udev and its helpers to libsystemd-shared.so llvm-fuzz false [true, false] build against LLVM libFuzzer loadkeys-path path to loadkeys localed true [true, false] install the systemd-localed stack localegen-path absolute path to the locale-gen binary in case the system is using locale-gen log-trace false [true, false] enable low level debug logging logind true [true, false] install the systemd-logind stack lp-gid -1 soft-static allocation for the "lp" group lz4 auto [auto, true, false] lz4 compression support machined true [true, false] install the systemd-machined stack man false [auto, true, false] build and install man pages memory-accounting-default true [true, false] enable MemoryAccounting= by default microhttpd auto [auto, true, false] libµhttpd support mode developer [developer, release] autoenable features suitable for systemd development/release builds mount-path path to mount networkd true [true, false] install the systemd-networkd stack nobody-group nobody The name of the nobody group (the one with GID 65534) nobody-user nobody The name of the nobody user (the one with UID 65534) nologin-path path to nologin nscd true [true, false] build support for flushing of the nscd caches nss-myhostname true [true, false] install nss-myhostname module nss-mymachines auto [auto, true, false] install nss-mymachines module nss-resolve auto [auto, true, false] install nss-resolve module nss-systemd true [true, false] install nss-systemd module ntp-servers time1.google.com space-separated list of default NTP servers time2.google.com time3.google.com time4.google.com ok-color green [black, red, green, yellow, color of the "OK" status message blue, magenta, cyan, white, highlight-black, highlight-red, highlight-green, highlight-yellow, highlight- blue, highlight-magenta, highlight-cyan, highlight- white] oomd true [true, false] install the userspace oom killer openssl auto [auto, true, false] openssl support oss-fuzz false [true, false] build against oss-fuzz p11kit auto [auto, true, false] p11kit support pam auto [auto, true, false] PAM support pamconfdir directory for PAM configuration ["no" disables] pamlibdir directory for PAM modules pcre2 auto [auto, true, false] regexp matching support using pcre2 pkgconfigdatadir directory for arch-independent pkg-config files pkgconfiglibdir directory for standard pkg-config files polkit auto [auto, true, false] polkit support portabled true [true, false] install the systemd-portabled stack pstore true [true, false] install the pstore archival tool pwquality auto [auto, true, false] libpwquality support qrencode auto [auto, true, false] libqrencode support quotacheck true [true, false] support for the quotacheck tools quotacheck-path path to quotacheck quotaon-path path to quotaon randomseed true [true, false] support for restoring random seed rc-local /etc/rc.local rc-local remote auto [auto, true, false] support for "journal over the network" render-gid -1 soft-static allocation for the "render" group repart auto [auto, true, false] install the systemd-repart tool resolve true [true, false] systemd-resolved stack rfkill true [true, false] support for the rfkill tools rootlibdir [/usr]/lib/x86_64-linux-gnu or such rootprefix override the root prefix [default '/' if split-usr and '/usr' otherwise] rpmmacrosdir lib/rpm/macros.d directory for rpm macros ["no" disables] sbat-distro auto SBAT distribution ID, e.g. fedora, or auto for autodetection sbat-distro-generation 1 SBAT distribution generation sbat-distro-pkgname SBAT distribution package name, e.g. systemd sbat-distro-summary SBAT distribution summary, e.g. Fedora sbat-distro-url SBAT distribution URL, e.g. https://src.fedoraproject.org/rpms/systemd sbat-distro-version SBAT distribution package version, e.g. 248-7.fc34 seccomp auto [auto, true, false] SECCOMP support selinux auto [auto, true, false] SELinux support service-watchdog 3min default watchdog setting for systemd services setfont-path path to setfont sgx-gid -1 soft-static allocation for the "sgx" group shared-lib-tag override the private shared library version tag (defaults to project version) skip-deps false [true, false] skip optional dependencies slow-tests false [true, false] run the slow tests by default smack true [true, false] SMACK support smack-run-label run systemd --system itself with a specific SMACK label split-bin auto [auto, true, false] sbin is not a symlink to bin split-usr auto [auto, true, false] /bin, /sbin aren't symlinks into /usr standalone-binaries false [true, false] also build standalone versions of supported binaries static-libsystemd false [false, true, pic, no-pic] install a static library for libsystemd static-libudev false [false, true, pic, no-pic] install a static library for libudev status-unit-format-default description [description, name, combined] use unit name or description in messages by default sulogin-path path to sulogin support-url https://lists.freedesktop.org/ma the support URL to show in catalog entries included in systemd ilman/listinfo/systemd-devel sysext true [true, false] install the systemd-sysext stack system-alloc-gid-min -1 minimum system GID used when allocating system-alloc-uid-min -1 minimum system UID used when allocating system-gid-max -1 maximum system GID system-uid-max -1 maximum system UID systemd-journal-gid -1 soft-static allocation for the systemd-journal group systemd-network-uid -1 soft-static allocation for the systemd-network user systemd-resolve-uid -1 soft-static allocation for the systemd-resolve user systemd-timesync-uid -1 soft-static allocation for the systemd-timesync user sysupdate auto [auto, true, false] install the systemd-sysupdate tool sysusers true [true, false] support for the sysusers configuration sysvinit-path /etc/init.d the directory where the SysV init scripts are located sysvrcnd-path /etc/rc.d the base directory for SysV rcN.d directories tape-gid -1 soft-static allocation for the "tape" group telinit-path /lib/sysvinit/telinit path to telinit tests true [true, unsafe, false] enable extra tests with =unsafe time-epoch -1 time epoch for time clients timedated true [true, false] install the systemd-timedated daemon timesyncd true [true, false] install the systemd-timesyncd daemon tmpfiles true [true, false] support for tmpfiles.d tpm true [true, false] TPM should be used to log events and extend the registers tpm2 auto [auto, true, false] TPM2 support translations true [true, false] build and install translations tty-gid 5 the numeric GID of the "tty" group umount-path path to umount update-helper-user-timeout 15s how long to wait for user manager operations urlify true [true, false] enable pager Hyperlink ANSI sequence support user-path $PATH to use for user sessions userdb true [true, false] install the systemd-userdbd stack users-gid -1 soft-static allocation for the "users" group utmp true [true, false] support for utmp/wtmp log handling utmp-gid -1 soft-static allocation for the "utmp" group valgrind false [true, false] do extra operations to avoid valgrind warnings vconsole true [true, false] support for vconsole configuration version-tag override the git version string video-gid -1 soft-static allocation for the "video" group wheel-gid -1 soft-static allocation for the "wheel" group wheel-group true [true, false] the ACL for wheel group should be added www-target www.freedesktop.org:/srv/www.fre the address and dir to upload docs too edesktop.org/www/software/system d xdg-autostart true [true, false] install the xdg-autostart-generator and unit xinitrcdir directory for xinitrc files xkbcommon auto [auto, true, false] xkbcommon keymap support xz auto [auto, true, false] xz compression support zlib auto [auto, true, false] zlib compression support zshcompletiondir directory for zsh completion scripts ["no" disables] zstd auto [auto, true, false] zstd compression supportAs you can see it is quite comprehensive :-)
Even if the various components are all enabled (as they are for most distributions) there's still no need to use them — other programs can be substituted in instead, as per the UNIX Philosophy.
But it is still trying to do more than what an init system needs to do and programs are being built around it as hard dependencies, it has surpassed being just an init system as you have pointed out here, compared to System V. Gentoo has a nice wiki on this subject worth a read: https://wiki.gentoo.org/wiki/Hard_depen … on_systemd
Last edited by hevidevi (2022-04-16 08:59:35)
Offline

But it is still trying to do more than what an init system needs to do
The systemd team are developing an entire suite of utilities to control a Linux system. Those utilities do not have to be used. For example it is perfectly possible to boot Debian with systemd as PID1 and then hand over to runit for the service management and from that point on avoid any systemd tools:
https://packages.debian.org/bullseye/runit-run
Having the same team develop both the init system and user space utilities is standard practice in true UNIX® systems.
Brianna Ghey — Rest In Power
Offline

hevidevi wrote:But it is still trying to do more than what an init system needs to do
The systemd team are developing an entire suite of utilities to control a Linux system. Those utilities do not have to be used. For example it is perfectly possible to boot Debian with systemd as PID1 and then hand over to runit for the service management and from that point on avoid any systemd tools:
https://packages.debian.org/bullseye/runit-run
Having the same team develop both the init system and user space utilities is standard practice in true UNIX® systems.
Having the same team go against unix philosophy is quite the conundrum don't you think? Why was Devuan created ?
There is nothing simple, short, clear, modular, and extensible about systemd in my opinion.
Last edited by hevidevi (2022-04-16 09:23:46)
Offline

I would agree with it not being simple, short or clear but systemd is certainly modular:
archie:~$ systemd-#<tab>
systemd-analyze                         systemd-machine-id-setup       
systemd-ask-password                    systemd-mount                  
systemd-cat                             systemd-notify                 
systemd-cgls                            systemd-nspawn                 
systemd-cgtop                           systemd-path                   
systemd-creds                           systemd-repart                 
systemd-cryptenroll                     systemd-resolve                
systemd-delta                           systemd-run                    
systemd-detect-virt                     systemd-socket-activate        
systemd-dissect                         systemd-stdio-bridge           
systemd-escape                          systemd-sysext                 
systemd-firstboot                       systemd-sysusers               
systemd-hwdb                            systemd-tmpfiles               
systemd-id128                           systemd-tty-ask-password-agent 
systemd-inhibit                         systemd-umount^ They're all separate tools, most of which can be disabled at compile time, and almost all of them are optional.
In my Arch box I'm not using systemd-networkd but I am using systemd-resolved. I don't use systemd-homed or machinectl (which is actually packaged separately in Debian), nor am I forced to use most other components.
In my Alpine box I'm using gummiboot as a bootloader and that is created from the systemd-boot codebase (after patching to work under musl libc) so the modularity is also portable :-)
Brianna Ghey — Rest In Power
Offline

I would agree with it not being simple, short or clear but systemd is certainly modular:
archie:~$ systemd-#<tab> systemd-analyze systemd-machine-id-setup systemd-ask-password systemd-mount systemd-cat systemd-notify systemd-cgls systemd-nspawn systemd-cgtop systemd-path systemd-creds systemd-repart systemd-cryptenroll systemd-resolve systemd-delta systemd-run systemd-detect-virt systemd-socket-activate systemd-dissect systemd-stdio-bridge systemd-escape systemd-sysext systemd-firstboot systemd-sysusers systemd-hwdb systemd-tmpfiles systemd-id128 systemd-tty-ask-password-agent systemd-inhibit systemd-umount^ They're all separate tools, most of which can be disabled at compile time, and almost all of them are optional.
In my Arch box I'm not using systemd-networkd but I am using systemd-resolved. I don't use systemd-homed or machinectl (which is actually packaged separately in Debian), nor am I forced to use most other components.
In my Alpine box I'm using gummiboot as a bootloader and that is created from the systemd-boot codebase (after patching to work under musl libc) so the modularity is also portable :-)
systemd-linux coming soon!
In regards to alpinelinux gummiboot ?
https://git.alpinelinux.org/aports/tree … icts.patch
Done in a hurry to fix build with latest gnu-efi, this project is dead and was absorbed into systemd
but there are still users of its EFISTUB file
Offline
Even if it could be "fully removed" from a Debian system and replaced with an init of your choosing, that ship has sailed a long time ago...
Offline
can't wait to have my home directory managed by systemd-homed. 
homectl create devuan --storage=luks 
simply share your .identity folder between divices and your home directory becomes a modular transferable mount space. This is solving all sorts of problems..
I can't imagine a world where systemd has solved a single problem all it's done is just ended up making things unnecessarily more convoluted.
Offline