Est-ce que différents paquets ou classes avec des fonctionnalités similaires sont autorisées ?

Il n'y a pas de problèmes à ce que certains paquets soient concurrents. Cependant nous voulons éviter de nous retrouver avec une multitude de classes faisant la même chose mais avec des noms différents.

Premièrement, faîtes une vérification : Pourquoi est-ce que je veux vraiment commiter un nouveau paquet ? Les mauvaises raisons sont << Pour avoir mon nom dans PEAR >> ou << Je ne comprends rien à la classe existante >>.

Par contre, s'il manque des fonctionnalités ce peut être une bonne raison d'ajouter une nouvelle classe. Dans ce cas avant de tout recoder, regardez si vous ne pourriez pas étendre la classe existante. Si ce n'est pas possible alors vous avez une bonne raison de commiter une nouvelle classe. << Que ce ne soit pas possible >> signifie que vous ne pouvez pas ajouter vos fonctionnalités sans changer les bases de la classe existante.

Si vous écrivez une nouvelle classe, essayez de garder autant que possible une compatibilité avec l'API des classes existantes. éventuellement, réfléchissez à créer un wrapper (même si celui-ci demande de la mémoire) qui permettra une migration plus facile.

Si vous commitez une classe concurrente vous devez l'annoncer sur la liste de diffusion des développeurs PEAR!