État des lieux et perspectives
Salut,
Après réflexions, @ornanovitch et moi-même (@f00wl), on aimerait vous proposer un état des lieux du développement de Hiboo, et quelques perspectives d'avenir.
Nous ne sommes pas les devs principaux, donc ce qu'on dit est à prendre avec le recul nécessaire. @kaiyou reste le plus à même de juger de la codebase.
Hiboo est un super projet:
- La réflexion sur l'authentification avec laquelle nous sommes toujours en accord.
- Des fonctionnalités assez introuvables ailleurs (plusieurs profiles, possibilité de claim, changement de type d'application, api pour masquer les emails etc.) qui ont été bien pensées dès le début pour les administrateurices et les utilisateurices.
- La qualité du code et sa factorisation, promesse d'une autonomie dans le développement.
- La simplicité et la légèreté de l'application qui contraste avec les usines à gaz comme keycloak ou gluu.
Tout ça nous a convaincu de l'adopter il y a trois ans comme solution SSO de notre petite infrastructure, et de participer à son développement.
Notre contribution au développement de Hiboo s'est fait en dents de scie (une scie bien édentée), mais on a quand même réussi à résoudre quelques bugs, dev quelques features (invitation, 2FA, groupes, templates flarum et nextcloud), passer à admin-lte v3 et à poetry, ainsi que pas mal d'améliorations et optimisation du front, et enfin à remettre en place une instance Weblate pour les traductions. Merci @kaiyou pour ton aide bienveillante sur tout ça.
Malgré ça, et malgré les maj apportées ponctuellement par @kaiyou
- 19 dépendances directes sur 19 à mettre à jour
- dont 12 dépendances contiennent des breaking changes
-
27 vulnérabilités trouvées dans 9 paquet (17 concernant la crypto)
- dont 12 dépendances contiennent des breaking changes
- 35 issues ouvertes
- la dernière issue fermée remonte à 6 mois
- 2 issues ~"type / security" sans activité depuis 6 mois
- 6 issues en priority / 1 sans activité depuis 5 mois
- 1 MR ouverte pour changement de licence sans activité depuis 1 an
Là s'impose un constat qu'il va bien falloir regarder en face : Hiboo n'est pas vraiment maintenu, et n'est clairement pas à la hauteur d'être utilisé comme « Security framework for small-sized hosting services ». Aussi petites soient nos infras, la sécurité de nos utilisateurices et de leurs données est compromise. Combien d'instances Hiboo sont actuellement en prod d'ailleurs ? On ne sait guère si d'autres que celles de la FELINN et de Tedomum existent.
Nous avons identifié quelques raisons qui nous font arriver à ce constat:
- manque de contributeurices (dev, test, traduction, etc.)
- manque de temps consacré à ce projet
- manque de compétences partagées entre les devs (par exemple on se repose beaucoup sur @kaiyou pour audit le code, car il semble à ce jour le plus compétant, notamment sur les questions de sécurité)
Nous pensons qu'il est temps faire un choix quant à l'avenir de Hiboo, en évitant de tomber dans le piège de l'escalade d'engagement.
Voici en très gros ce que ça pourrait impliquer, c'est juste une idée, la suite serait à construire ensemble.
flowchart TD
A[Abandon de Hiboo]
A -->|oui| B{Alternatives}
B -->|migration ?| BA(keycloak)
B -->|migration ?| BB(authelia)
B -->|migration ?| BC(authentik)
BA --> BAA[PR les features manquantes]
BB --> BAA
BC --> BAA
A -->|non| C{dev soutenable}
C --> CA[communauté active]
C --> CB[devs engagé·es]
CA --> CAA[besoin de visibilité]
CA --> CAB[licence, coc, releases, etc]
CAA --> CAAA[mirroir github]
CAA --> CAAB[fediverse]
CAA --> CAAC[CHATONS]
CB --> CAA
CB --> CBA[payer un·e dev ?]
CBA --> CBAA[financement participatif]
CBA --> CBAB[demander une aide]
Nous espérons par ce message faire naître des discussions, qui nous permettront de savoir où nous en sommes et ce dont on est capable. Le but est de prendre une décision collective, alors n'hésitez pas à participer. Et quel que soit le choix qui sera fait, nous continuerons à nous entraider. On espère que ce message vous trouvera en forme !