Il semble que l'affiche originale ait déjà été efficace, mais a déprécié de manière informelle son API (tout ce qui est appelé «ancienne API»). Cependant, tant qu'elle n'est pas annoncée et que les utilisateurs ne sont pas informés qu'une API est obsolète, elle n'est pas officiellement obsolète.
L'API obsolète est une étape de code provisoire et inactive. Ce sont les derniers rites. C'est la période qui permet aux adoptants / consommateurs de reconfigurer leurs applications pour une nouvelle API et de faire leurs adieux, faisant la paix avec l'API. Certaines API peuvent persister plus longtemps que d'autres, mais à ce stade, nous savons que leur temps n'est pas long.
L'API supprimée est un enterrement de code. Il ne peut rien faire de plus, mais bien disposé et commémoré de manière appropriée.
De nombreux développeurs d'API et de services optent pour des funérailles de code plutôt que pour effectuer les derniers rites; cependant, je pense que c'est quelque peu risqué. Si une promesse de service ou d'assistance a été faite lors de l'adoption initiale ou du renouvellement de l'API / du service, vous souhaiterez peut-être honorer cet engagement pendant une période raisonnable avant d'effectuer les funérailles.
Pour les bibliothèques hors service, je pense qu'une version majeure, quelle que soit la période, est probablement une période plus qu'acceptable et équitable de compatibilité descendante garantie. Au-delà, cela dépend de l'influence et du lobbying des utilisateurs pour prolonger sa durée de vie au-delà de cette période. Et ne soyez pas surpris s'il y a de temps à autre des objections dues à des dépendances irremplaçables de tiers coincées dans les limbes et liées à certaines versions de certaines plateformes.
Pour les services, je pense que vous voudrez peut-être regarder une période de six mois ou d'une année, simplement en raison de la variation par qui et par la façon dont un service peut être consommé, et la variance correspondante du cycle de développement d'un projet à l'autre - de nombreux projets susceptibles de consommer votre service pourraient tout de même avoir une grande conception initiale et planifier un cycle de publication de plus d'un an. La plupart des opinions des développeurs de l'extérieur suggèrent que ceux qui ont de longs horaires sont responsables du respect de vos temps de cycle, et ces projets consommant un cycle long devraient adopter un cycle de publication plus rapide, et cela peut être vrai. Mais finalement, la date de suppression est quelque chose que vous devez négocier avec les utilisateurs.
Une bonne stratégie de dépréciation, mais pas à l'épreuve des balles, pourrait être lorsque vous annulez la dépréciation, mettez en évidence le calendrier de l'intention de suppression, ainsi qu'une demande de commentaire ou d'objection dans un format d'enquête des sections API en question. Si vous n'avez pas de liste de contacts d'utilisateurs parce que votre service fonctionne avec un accès [semi] anonyme, vous pouvez envisager de consulter les journaux des utilisateurs fréquents et actifs et d'envoyer la notification à l'hôte ou à l'administrateur de domaine pour la transmettre comme ils l'entendent.