Wanted to float a question here for the Asterisk core team, that has been discussed amongst several other Asterisk/DAHDI developers a bit.

As we all know, the DAHDI project has been neglected the past few years and it does not appear that there is any team at Sangoma that is actively working on it or cares about it. Sangoma has repeatedly failed to take responsibility for DAHDI and is not letting the community maintain it either, i.e. PRs are not being merged, build failures are not addressed. Numerous developers, myself included, have long been maintaining external patch sets[1] or forks[2] to address this.

At this point, it is unrealistic to expect the DAHDI project in its current form to ever really get back on track. Some distros I'm told have already abandoned Sangoma and now use the osmocom fork as their upstream for packages. Most people have been using these methods to build DAHDI, rather than using the Sangoma tarballs.

Merely maintaining patch sets or forks is not a long term solution. Many new Asterisk features require DAHDI changes, and thus require patches to be maintained for multiple projects. Even if the Asterisk side could be merged in fine, some changes may require or depend on a DAHDI change to work properly. Over time, patches begin to conflict with or step on each other. DAHDI does not live in a bubble and has impacts that ripple out to other things, like Asterisk.

Since DAHDI has no active maintainer currently, I wanted to float a couple ideas here to remedy the situation, in order of feasibility (I think):

1. Would it be possible for the DAHDI project to be moved to fall under
   the scope of the Asterisk project? e.g. similar to libpri. The
   Asterisk team would not need to actively do anything with it, but
   just merge changes into it as it does for libpri, for example (kind
   of like extended support). I think this would make the most sense
   because fundamentally, DAHDI is part of the Asterisk ecosystem.
   Asterisk has a dependence on DAHDI and so bringing that dependency
   in house makes sense since it eliminates friction. For example, this
   change[3] stalled solely because nobody is merging PRs into DAHDI.
   If the Asterisk team was able to merge DAHDI changes, problem
   solved, and then Asterisk changes aren't stalled because DAHDI is
   stalled.
2. Similar to how Thunderbird was maintained by the community[4] for a
   number of years, DAHDI Linux/Tools could be fully community
   maintained. A core team of Asterisk/DAHDI developers that are
   familiar with and care about maintaining the project would be
   charged with the responsibility of merging PRs, etc. Sangoma would
   still own the project, but not actively manage it, freeing it to do
   other things.
3. Asterisk could use the Osmocom DAHDI fork as its upstream, rather
   than the Sangoma repo. The Osmocom fork uses Gerrit to merge changes
   in from the community, with a robust CI process. Tarballs would
   probably need to be generated from here. This is obviously a more
   drastic change, as Sangoma effectively relinquishes the project
   officially, but using a third-party repo is still preferable to
   using a broken and unusable one, in my opinion.
    1. Option 3B: Don't officially move to using the Osmocom fork, but
       support it as one of the possible dependencies. i.e. new
       features present in Osmocom DAHDI but not Sangoma DAHDI can be
       utilized by Asterisk, e.g. using #ifdef NEW_DAHDI to detect
       support. This allows Asterisk to continue to move forward
       without DAHDI moving forward on the Sangoma side, at the expense
       of a messier codebase since DAHDI support would need to be
       guarded all over the place.

In discussing these ideas with the community, there has been a lot of support for these ideas, but I'm wondering from a Sangoma/Asterisk team perspective what might be practical here. Just based on my experience with the project, I'm inclined to think #1 would be the most feasible of these. The project is already on GitHub in the Asterisk organization and I think this would make the most sense, treating DAHDI as an extended support project that the community can continue to maintain, in a way that is facilitated by Sangoma.

NA

[1] https://github.com/InterLinked1/phreakscript
[2] https://gitea.osmocom.org/retronetworking/dahdi-linux/
[3] https://gerrit.asterisk.org/c/asterisk/+/17948
[4] https://blog.thunderbird.net/2023/02/the-future-of-thunderbird-why-were-rebuilding-from-the-ground-up/

--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-dev

Reply via email to