OpenURL est un protocole standardisé[1] d’Uniform Resource Locator (URL) décrivant un objet bibliographique (livre, revue, article, brevet...) et le contexte de sa demande afin que le demandeur de cet objet puisse aboutir aux ressources (site de revue, archive ouverte...) contenant cet objet et qui lui sont accessibles. Ce protocole est principalement mis en œuvre dans les services de bibliothèques.
OpenURL est conçu par Herbert Van de Sompel dans les années 1990 : bibliothécaire belge, il part du constat que, pour un utilisateur de bibliothèque, « il n'est pas compréhensible que les sources secondaires, les catalogues, et les sources primaires, qui sont logiquement liés, ne soient pas fonctionnellement liés[2] ». Il conçoit un logiciel établissant des liens sous le nom de « Special Effects » qui devient SFX lors de sa commercialisation par le groupe de services aux bibliothèques Ex Libris[3].
Publiée en 2000, la version 0.1 de la norme est liée au contexte de SFX[4]. Elle contient des fonctionnalités limitées mais reste pendant des années une norme très utilisée[5].
En 2005, la version 1.0 de la norme est publiée par la National information standards organization (Niso) et consiste en une généralisation de la norme initiale conçue par Herbert Van de Sompel[6]. Cette norme est intitulée Z39.88-2004[7]
En juin 2006, Online computer library center (OCLC) reçoit de la Niso la responsabilité d'agence de maintenance et d'enregistrement d'OpenURL pour une durée initiale de 5 ans[8]. Dans ce contexte, la norme fait l'objet de propositions d'améliorations dont OCLC est responsable de la validation[9].
En 2010, la norme Niso connaît une révision : Z39.88-2004 (R2010)[7].
Depuis 2022, OCLC considère OpenURL comme un projet terminé et en reporte le registre dans ses archives[6].
Dans son utilisation principale en bibliothèques, OpenURL permet à un utilisateur trouvant une référence bibliographique d'être automatiquement ramené vers les ressources qui la contiennent et qui lui sont accessibles. Par exemple, de la simple référence d'un article de revue dans un catalogue de bibliothèque, l'utilisateur aboutit grâce à OpenURL à la revue contenant l'article, sur le site de l'éditeur auquel sa bibliothèque est abonnée ou dans l'archive ouverte proposant l'article.
La mise en œuvre de la norme se fonde sur le registre (Registry) qui contient les formats de métadonnées validés.
Ces métadonnées comprennent[10] :
L'ensemble de ces métadonnées décrivent une ressource et son contexte : elles constituent le ContextObject qui est transmis par OpenURL, protocole de transmission de ces métadonnées fondé sur le HTTP.
Les métadonnées du ContextObject doivent permettre de gérer l'accès aux ressources recherchées : la transmission des métadonnées à un résolveur de liens lui permet l'« analyse les métadonnées, les droits de l’usager et le service demandé. En fonction de ce qui a été spécifié pour l’interface, le résolveur trie les références auxquelles le lecteur peut avoir accès et écarte celles auxquelles il n’a pas accès. En réponse, le lecteur reçoit une liste de liens correspondant à sa demande, par exemple l’article complet chez [un éditeur et] l’article dans une archive ouverte. Mais pas l’article chez un autre éditeur pour lequel sa bibliothèque n’est pas abonnée[4] ».
OpenURL peut être utilisé avec tout type de ressource sur internet, mais il est particulièrement utilisé pour les collections gérées par les bibliothèques universitaires pour donner accès à des articles en ligne.