[AlternC-dev] Offre de service de la part d'un revenant

Retour à l'archive de la liste
Le site d'AlternC
Google Custom Search

larpoux larp at larpoo.net
Mer 27 Sep 13:15:56 CEST 2006


Salux à l'équipe,

Après le fiasco du printemps dernier, je reviens vers vous pour vous
offrir les (maigres) forces de la CNT pour contribuer si possible au
projet Alternc.
Tout d'abord je vous présente mes excuses pour ce qui c'est passé en
mai : il y a eu un certain nombre d'incompréhensions réciproques
doublées d'une réalité : j'ai *très* mauvais caractère.

Voici la situation actuelle à la CNT :
-----------------------------------
La CNT exploite avec succès un serveur pour gérer tout son intranet
depuis un an.
L'administration de ce serveur est entièrement basée sur un fork
d'alternc 0.9.3

Les modifications suivantes ont été portées sur ce fork :

- utilisation d'apache2 au lieu du couple apache/apache-ssl
- instalabilité sur une Ubuntu 64 bits (ce n'était pas le cas de la 0.9.3)
- instalabilité sur un vserver (ce n'était pas le cas à l'époque)
- découplage d'alternc et de bind (la CNT n'utilise pas de serveurs de
noms)
- rajout d'un "hook" permettant de personnaliser les fichiers
/var/alternc/apache/... en fonction du site
- possibilité pour un compte alternc de gérer des sous-comptes
(suivant quota), sous forme de ressources
- gestion des comptes alternc sous forme arborescente
- ... (?)

Création de certains modules dont nous avions besoin pour notre intranet:

- création d'un module "forums" permettant de gérer des forums
conjointement sous forme de newsgroups-NNTP et de forums PHPBB
- création d'un module "wiki" permettant de gérer des "twiki-webs"
directement depuis  les "comptes alternc"
- création d'un module permettant de gérer nos utilisateurs d'une
manière décentralisée, à l'intérieur de chaque comptes alternc
- création d'un module permettant l'accessibilité de certaines
ressources d'un compte à des utilisateurs d'autres comptes alternc


D'autres modules sont actuellement planifiés:

- Faire un module BIND pour ceux qui veulent réellement gérer un
serveur de noms depuis alternc (c'est pas le cas de la CNT!)
- Faire des modules HTTP qui permettent de rendre alternc indépendant
du serveur choisi (Apache-SSL, apache2, autre...)
- Faire un module MAIL qui permettrait d'enlever la dépendance
d'alternc (le noyau)  avec postfix
- Faire un module SPIP
- création d'un module permettant de gérer des serveurs jabber
(ejabberd), des salons, ...

Prévisions
----------
La CNT doit maintenant migrer son intranet sur un serveur définitif.
Mais reprendre le code issu de la 0.9.3 ne nous convient pas trop :
la CNT n'a que trois ou quatre développeurs avec des disponibilités
quasi nulles. L'équipe alternc pas beaucoup plus!
avancer séparément sur deux forks distincts n'a pas beaucoup de sens.
La force des fourmis, c'est de pouvoir cumuler leurs énergies dans un
même but.

Je pense souhaitable de repartir maintenant sur la version courante
officielle d'alternc : 0.9.5
Et d'y reporter correctement nos développements (en tenant compte,
bien sûr, des autres sites qui ont des besoins très différents de
celui de la CNT)
Il sera alors possible de proposer à l'équipe alternc l'intégration
(ou non) de nos développements dans le tronc principal.

Méthodologie
--------------
- Il semble que l'équipe alternc ne gère toujours qu'une seule branche
(pas de distinction entre branche stable et branche instable)
- Mon expérience a montré la grande difficulté pour un simple
programmeur de travailler pendant un mois ou deux sur un développement
spécifique, puis de pouvoir ensuite l'intégrer (commit) :
      - Le projet évolue pendant ce temps sans tenir compte du projet
en cours de développement, car ce dernier n'a pas été réellement planifié
      - Le projet n'ayant jamais été décidé démocratiquement, rien
n'est moins sur qu'il réponde réellement aux besoins de la communauté
      - Le travail d'incorporer ensuite ces développements dans le
tronc principal n'est pas négligeable et la décision de le faire
devrait être prise démocratiquement
      - A l'inverse, certains développeurs décident d'incorporer des
nouvelles fonctions (commit) dans le tronc principal sans en référer
aux autres et sans décisions démocratiques (AG, votes, ...)
      - Et, encore une fois, développer de nouvelles fonctions dans
une branche (soit-disant) stable ne me conviens définitivement pas


Ma proposition :
----------------
- Virer la branche morte qui traîne dans la base SVN, au nom de
"larpoux" et qui ne sert vraiment plus à rien
- Refaire une branche spécifique à la CNT à partir de quelque chose
d'à la fois récent et stable (est-ce le cas de ce qui se trouve
actuellement dans le tronc principal ?)
- Pour chaque nouvelle fonction nécessaire à la CNT
       - Faire un document de spécifications clair :-)
       - Faire lire, amender, et approuver ces specs par l'équipe (qui
? Ya-t-il des AG décisionnelles ?)
       - Programmer la fonctionnalité, la tester, et l'archiver dans
la branche CNT

Il sera ensuite possible à un grand-gouroo alternc (Anarcat, Benjamin,
Lunar, ...) de vérifier la qualité de ces patchs et de décider s'il
faut les intégrer dans le tronc principal.
Mais si ce n'est pas le cas, ça fait beaucoup de tintouin pour rien!


Mes questions
---------------
- Est-il réellement souhaitable de gérer une branche CNT, puis, plus
tard, d'essayer de merger les développements dans le tronc principal,
au lieu de le faire au fur et à mesure ?
- La branche CNT, si elle est nécessaire,  peut-elle être hebergée sur
https://dev.alternc.org/trac/ ?
- La documentation et les spécifications fonctionnelles de la CNT
peuvent-elles être faites en utilisant le wiki standard :
https://dev.alternc.org/trac/alternc/wiki ?
- Si on utilise une branche sur https://dev.alternc.org/trac/ peut-on
(faut-il) gérer également des tickets (ou ces tickets c'est simplement
pour le tronc principal) ?
- Ai-je encore un accès SVN dans le cas où la CNT doive utiliser le
SVN de l'équipe ?
- Si la CNT possède un accès SVN, est-il reservé à sa branche
spécifique pour ses propres développements ou peut il publier
parallèlement quelques fixs de bugs dans le tronc principal ?
- Qui voudrait encore être mon "mentor" (tout le monde connait
maintenant mon
sale caractère)!

Bisoux
A plux
/larpoux







Plus d'informations sur la liste de diffusion Dev