AutoMapper et MediatR annoncent un virage vers un modèle commercial : ce qu'il faut savoir

Marc-Andre Roy | 9 avr. 2025 min de lecture

AutoMapper et MediatR sont deux bibliothèques extrêmement populaires dans l’écosystème .NET, qui soutiennent le travail quotidien des développeurs depuis de nombreuses années. Récemment, leur créateur, Jimmy Bogard, a annoncé un changement majeur dans la gestion de ces projets : ils passeront bientôt d’un modèle entièrement open source à un modèle de licence commerciale.

Cette décision soulève plusieurs questions importantes : quelles sont les raisons de ce choix ? Quel impact pourrait-il avoir sur les équipes de développement ? Et surtout, quelles alternatives open source sont disponibles aujourd’hui pour ceux qui veulent se préparer à une transition potentielle ?

Ce billet résume les points clés de l’annonce, décrit les implications pratiques et présente des alternatives viables pour vous aider à anticiper les changements à venir en toute confiance.

Rappel : à quoi servent ces bibliothèques ?

AutoMapper

Automatise le mappage d’objets en .NET (par exemple, des modèles de domaine vers des DTO), réduisant le code répétitif et améliorant la clarté des couches applicatives.

MediatR

Implémente le patron Mediator pour permettre une communication découplée entre les composants via des requêtes, commandes et événements. Couramment utilisé dans les architectures de style CQRS.

Pourquoi ce changement ?

Jimmy Bogard maintient AutoMapper et MediatR depuis plusieurs années, en grande partie sur une base bénévole. Lorsqu’il était employé à temps plein, ce travail était indirectement soutenu par son employeur, ce qui lui permettait d’y contribuer pendant ses heures de travail. Depuis son passage au travail autonome en consultation, ce financement indirect n’existe plus, ce qui limite considérablement le temps et les ressources qu’il peut consacrer à ces bibliothèques.

Cette nouvelle réalité a entraîné une baisse notable des contributions, ralentissant le rythme des corrections de bogues, des améliorations et des nouvelles fonctionnalités. À long terme, cela pourrait menacer la pérennité des projets, menant à une stagnation, voire à une obsolescence éventuelle.

En adoptant un modèle commercial, Bogard vise à atteindre plusieurs objectifs clairs :

  • Fournir un financement durable pour soutenir le développement continu et les améliorations à long terme.
  • Offrir un support plus structuré et professionnel, particulièrement pour les utilisateurs en entreprise.
  • Établir une feuille de route solide et réaliste, avec des ressources dédiées pour maintenir et faire croître ces outils largement utilisés.

Impact pour les utilisateurs

À court terme, cette annonce ne devrait pas affecter directement les utilisateurs actuels :

  • Les versions actuelles d’AutoMapper et MediatR resteront gratuites et disponibles via NuGet.
  • Il n’y a aucune obligation immédiate de passer à un modèle payant.

Cependant, à moyen ou long terme, certains changements pourraient survenir :

  • De nouvelles fonctionnalités ou un support avancé pourraient devenir des offres payantes.
  • Une distinction plus claire entre les versions gratuite et commerciale pourrait être introduite, avec des avantages spécifiques réservés aux utilisateurs payants (par exemple, support prioritaire, fonctionnalités exclusives, outils complémentaires).
  • Un modèle de licence commerciale défini pourrait être progressivement mis en place, potentiellement avec des paliers de prix selon la taille de l’entreprise ou le type d’utilisation.

Jimmy Bogard s’est engagé à faire preuve d’une transparence totale tout au long de cette transition. Il communiquera les détails du modèle commercial (prix, fonctionnalités incluses, échéancier) de façon progressive, laissant amplement de temps aux équipes pour s’adapter.

Les équipes qui dépendent fortement de ces bibliothèques sont donc encouragées à suivre de près les prochaines annonces afin de planifier proactivement tout changement important dans leur utilisation.

Alternatives open source à AutoMapper

Si vous envisagez des solutions alternatives pour le mappage d’objets dans vos projets .NET, voici quelques options à explorer — toutes ayant montré une certaine activité de développement récente (au moins un commit dans les six derniers mois) :

Mapster

  • Description : Mapster est une alternative moderne et performante à AutoMapper. Il prend en charge la génération de code à la compilation (via des générateurs de source) et offre un mappage explicite et semi-automatique avec un haut degré de contrôle.
  • État de maintenance : Actif. Le projet est mis à jour régulièrement, avec des commits récents (par exemple, février 2025).

ExpressMapper

  • Description : ExpressMapper est une solution de mappage légère basée sur des arbres d’expressions, adaptée aux scénarios simples.
  • État de maintenance : Faible activité. Le dernier commit remonte à plusieurs années, ce qui suggère que le projet n’est plus activement maintenu.

Mappage manuel ou générateurs de code

  • Description : Une autre approche viable consiste à implémenter les mappages manuellement ou à utiliser des générateurs de code (comme les générateurs de source Roslyn ou des outils comme Fody) pour automatiser une partie du processus.
  • Avantages : Contrôle et transparence complets sur le code généré; aucune dépendance externe.
  • Inconvénients : Plus verbeux et potentiellement fastidieux pour les mappages complexes.

Mappage assisté par IA générative

  • Description : Avec l’essor des outils d’IA générative (comme GitHub Copilot ou GPT-4), il est désormais possible de générer du code de mappage initial directement depuis son IDE. Cette approche offre un modèle hybride — combinant contrôle explicite du code et automatisation lors de l’implémentation.
  • Avantages : Réduit considérablement le code répétitif; s’intègre au flux de travail de développement.
  • Inconvénients : Nécessite tout de même une revue par un développeur pour assurer l’exactitude et la cohérence.

À retenir

Il n’y a pas d’urgence immédiate, mais il s’agit d’une évolution importante à surveiller — surtout si vous démarrez de nouveaux projets .NET qui dépendent d’AutoMapper ou de MediatR. Pour ceux qui cherchent à réduire leur dépendance à AutoMapper, Mapster se démarque comme une alternative viable et activement maintenue.

De plus, des outils d’IA générative comme GitHub Copilot ou GPT-4 peuvent aider à produire rapidement du code de mappage propre et explicite, offrant une solution hybride qui combine automatisation et plein contrôle sur votre implémentation.