Faits:
Faits:
A. A.a A._ SA (ci-après: A._) est une société spécialisée dans la fabrication et la diffusion de logiciels bancaires. Elle est administrée et animée par les époux AA._.
D._ BV (ci-après: D._) était une société de droit néerlandais faisant partie du groupe informatique O._. La société de droit suisse P._ SA (ci-après: P._) était une filiale de D._.
Par contrats des 26 décembre 1991 et 17 juin 1993, D._ avait acquis de la société N._ B.V. l'intégralité des droits de propriété intellectuelle sur un logiciel dénommé Y._ (anciennement: Z._) et destiné aux établissements financiers de gestion de patrimoine et de fortune (private banking).
De son côté, A._, qui s'était vu concéder le droit d'utiliser le code source de Z._, avait développé, dès 1991, un nouveau logiciel dénommé X._ VO et destiné aux banques privées. Sur la base de ce logiciel, elle en avait créé, à grands frais, un nouveau, appelé X._ VA.
Contrairement à X._ VO, X._ VA a pour caractéristique de ne pouvoir fonctionner qu'avec le logiciel Y._, sur lequel il vient se greffer. Y._, en revanche, peut fonctionner de manière autonome. Les deux logiciels sont complémentaires. Y._ couvre les fonctions de "back office", alors que X._ VA couvre celles de gestion avancée. Ces deux logiciels contiennent un module de performance. Le module de performance de Y._ est toutefois moins évolué que celui de X._ VA, dans la mesure où il fonctionne sur un mode statique, en stockant des données à certaines dates, alors que celui de X._ VA fonctionne sur un mode dynamique, qui lui permet de remonter dans le temps, à d'autres dates que celles des stockages, pour analyser la performance.
A.b A._ et D._ sont entrées en négociations en vue de compléter le logiciel Y._ par un autre logiciel coordonné qui comprendrait certaines fonctionnalités que le logiciel de D._ ne possédait pas. Les deux sociétés sont convenues de l'intégration de X._ VA dans Y._ et de la distribution par D._ du premier logiciel intégré dans le second. D._ était ainsi en mesure de proposer un logiciel plus performant à ses clients.
Au terme de ces négociations, A._ et D._ ont signé, le 3 août 1993, un contrat intitulé "Accord de distribution". Par ce contrat, D._ se voyait accorder le droit exclusif de distribuer X._ VA dans plusieurs pays, dont la Suisse, contre paiement de redevances. A cet effet, A._ lui octroyait un certain nombre de licences, pour son usage interne et pour la distribution, et s'engageait à lui transmettre, pour chacune d'elles, une clé d'accès permanente. Ces licences portaient sur le "Produit", terme désignant les logiciels concédés sous licence, la documentation et les mises à jour. Aucun titre ni droit de propriété sur le "Produit" n'était transféré à D._ par ce contrat. L'accord de distribution réglait encore la procédure à suivre pour la révision et la mise à jour du "Produit". Y figuraient aussi des clauses de protection, de confidentialité et de non-concurrence. La cession de l'accord ou des droits et obligations en découlant n'était possible, pour D._, qu'en faveur de P._ ou de l'une de ses filiales. L'accord pouvait être résilié, entre autres hypothèses, si l'une des parties estimait que le "Produit" ne convenait plus pour une distribution par D._, ceci moyennant un préavis écrit de neuf mois. Enfin, le contrat prévoyait l'application du droit suisse et instituait la compétence locale des tribunaux du canton de Genève.
A.c D._, qui s'était réservé cette faculté, a confié à P._ le soin d'exécuter l'accord du 3 août 1993. Elle a désigné BB._ et CC._ comme "interlocuteur privilégié", respectivement "product manager". Ces deux personnes étaient chargées d'assurer, la première, la liaison entre les cocontractants, la seconde la promotion du "Produit". Dans un premier temps, six licences ont été accordées, moyennant un prix forfaitaire de 100'000 fr., pour la distribution de X._ VA par P._ aux clients de D._, au nombre desquels figurait la Q._ (ci-après: la banque Q._). D'autres licences ont été accordées par la suite, notamment pour la Banque S._ SA (ci-après: la banque S._). Des redevances ont été payées par D._ à A._ pour tous les clients chez lesquels Y._ et X._ VA ont été installés. L'installation de X._ VA chez les clients se faisait par A._. Cette société s'est engagée à mettre à disposition de P._, dans les locaux de cette dernière, une personne chargée de la correction des anomalies et de la gestion du code source de X._ VA. Nommé à ce poste, DD._ procédait également aux révisions de X._ en cas de modifications de Y._.
Les parties ont en outre conclu une convention de séquestre, le 3 décembre 1993, avec l'Agence pour la protection des programmes. Le code source de X._ VA, qui contient le savoir-faire et les secrets de A._, devait être déposé auprès de ladite agence et ne pourrait être remis à D._ qu'à certaines conditions.
D._ n'a jamais eu d'accès direct au code source de X._ VA.
A l'usage, des dysfonctionnements sont apparus dans X._ VA, qui ont empêché l'utilisation correcte du logiciel, ce qui a poussé P._ à limiter la prospection de nouveaux clients. De surcroît, un problème de blocage de X._ VA et de ses fonctions est survenu à la fin de l'année 1994, notamment dans les banques S._ et Q._. Selon A._, ce blocage provenait de l'incompatibilité entre X._ VA et la nouvelle version 1.8-2 de Y._, tandis que, pour D._, le problème était dû uniquement au fait que A._ avait installé une clé d'accès qui n'était pas permanente, contrairement à l'engagement pris par elle dans l'accord du 3 août 1993.
Aucune amélioration, sur le plan technique en particulier, n'étant intervenue, D._ a informé A._, le 16 janvier 1995, qu'elle résiliait l'accord du 3 août 1993 avec un préavis de neuf mois. A._ n'a pas contesté la validité de cette résiliation.
Le 14 mars 1995, D._ a déposé une requête de mesures provisionnelles afin d'être autorisée à accéder au code source de X._ VA. Par ordonnance du 21 mars 1995, le Tribunal de première instance du canton de Genève a rejeté cette requête, compte tenu des risques liés à la remise du code source à la requérante et du fait que, selon lui, les problèmes rencontrés provenaient de la nouvelle version 1.8-2 de Y._ et du non-respect de la procédure. de révision.
En raison de la persistance des difficultés et de l'absence de toute réaction de A._ depuis le début du mois de février 1995, P._ a indiqué à cette dernière, le 2 mai 1995, qu'elle avait dû trouver des solutions de remplacement pour ses clients. Elle précisait, par ailleurs, qu'elle estimait ne plus être liée par les dispositions de l'accord du 3 août 1993.
A.d En juillet 1994, le groupe O._ a créé la société L._ SA (ci-après: L._), ayant pour but le développement, l'achat, la vente, l'installation et l'entretien de logiciels d'application pour le secteur bancaire. Cette société a repris les activités et le personnel du Département "Private Banking" de P._, soit la division chargée de la mise en oeuvre de l'accord de distribution du 3 août 1993. BB._, désigné comme "interlocuteur privilégié" dans la gestion dudit accord, était administrateur et président de L._.
Le 7 octobre 1994, en exécution d'un contrat cadre et d'accords particuliers, D._ a cédé le capital-actions de L._, ainsi que le personnel de cette société, à la société américaine J._ Inc. (ci-après: J._). Elle a, d'autre part, vendu la totalité des droits de propriété intellectuelle sur le logiciel Y._ à une filiale de J._. Il était précisé que le terme Y._ ne comprenait pas X._, propriété de A._.
L._ a mis au point les nouvelles versions de Y._ (1.8-2 et 1.8-3).
En raison des difficultés rencontrées avec X._ VA, les parties au contrat cadre précité sont convenues, le 15 mai 1995, de remplacer ce logiciel par un autre. Dans ce but, un logiciel U._ a été acquis en août 1995 d'une société belge. Son code source a été acheté pour être intégré à Y._. Le produit a ensuite été renommé V._. Le logiciel U._/V._ ne contenait pas de module de performance. Destiné à remplacer d'autres fonctionnalités de X._, il a été installé à partir du début de l'été 1996 auprès des clients qui auraient dû utiliser X._ VA, telle la banque Q._.
En raison des difficultés rencontrées avec X._ VA, les parties au contrat cadre précité sont convenues, le 15 mai 1995, de remplacer ce logiciel par un autre. Dans ce but, un logiciel U._ a été acquis en août 1995 d'une société belge. Son code source a été acheté pour être intégré à Y._. Le produit a ensuite été renommé V._. Le logiciel U._/V._ ne contenait pas de module de performance. Destiné à remplacer d'autres fonctionnalités de X._, il a été installé à partir du début de l'été 1996 auprès des clients qui auraient dû utiliser X._ VA, telle la banque Q._.
B. Le 23 février 1995, A._ a ouvert action contre D._, P._, J._ et L._. Dans ses dernières conclusions, elle a demandé à la Cour de justice genevoise de:
- constater le caractère illicite des actes de concurrence déloyale et d'atteinte au droit d'auteur commis par les défenderesses;
- ordonner la publication du dispositif de l'arrêt aux frais des défenderesses dans les trois journaux;
- ordonner la confiscation, aux frais des défenderesses, du module concurrentiel à X._ VA intégré dans Y._, y compris les copies en mains des défenderesses et de toute personne et/ou société tierce détentrice d'une licence d'utilisation;
- faire interdiction aux défenderesses, sous menace des peines prévues à l'art. 292 CP, d'utiliser ou d'exploiter de manière quelconque ses secrets de fabrication et/ou d'affaires;
- condamner les défenderesses, conjointement et solidairement, à des dommages-intérêts de 5'000'000 fr. avec intérêts à 5% dès le 23 février 1995, ainsi qu'à un montant fixé par la Cour en application de l'art. 42 al. 2 CO.
A l'appui desdites conclusions, la demanderesse alléguait, en substance, que, grâce au montage mis en place par D._, sa concurrente J._ avait eu accès à toutes les informations confidentielles relatives à X._ VA, notamment au code source de ce logiciel, en violation de l'accord de distribution du 3 août 1993. De plus, L._ avait développé, à l'insu de A._ et sans respecter la procédure de révision contractuelle, la version 1.8-2 de Y._ qui ajoutait à ce logiciel une fonctionnalité "performance", propre à X._ VA, et qui intégrait par ailleurs, pour le marché suisse, les exigences liées à l'introduction de la TVA au 1er janvier 1995. Ce produit, la documentation et les mises à jour successives avaient en outre été livrés aux clients sans mention du copyright de A._. Les défenderesses avaient ainsi mis au point un produit destiné à remplacer X._ VA sur le marché suisse et à rendre celui-ci inutilisable, puisqu'il ne comportait pas la fonctionnalité TVA. Elles avaient également dénigré A._ auprès de certains clients.
En droit, la demanderesse reprochait aux défenderesses d'avoir violé plusieurs clauses de l'accord de distribution, d'avoir commis des actes illicites, d'avoir porté atteinte à ses droits d'auteur et de lui avoir fait une concurrence déloyale. Il en était résulté, selon elle, un grave préjudice consistant notamment dans la perte des sommes investies pour développer X._ VA et dans son manque à gagner.
Contestant l'intégralité des griefs formulés par la demanderesse, les défenderesses ont conclu au rejet de la demande.
En cours de procédure, les qualités des sociétés défenderesses ont changé à diverses reprises: D._ est devenue C._ BV; P._ est devenue G._ AG, puis F._ GmbH; L._ est devenue M._ SA, puis à nouveau L._ et, finalement, K._ SA; J._ est devenue I._ Inc.
L'instruction de la cause a été suspendue du 18 mai 2001 au 22 octobre 2002 en raison d'une procédure pénale pour faux témoignage ouverte contre DD._. Cette procédure pénale a été classée par le Ministère public, faute de prévention suffisante.
La procédure probatoire a consisté dans la production de pièces et l'audition de témoins. Aucune des parties n'a requis une expertise technique des logiciels.
Statuant par arrêt du 10 octobre 2003, la Chambre civile de la Cour de justice du canton de Genève a débouté la demanderesse de toutes ses conclusions. Les motifs sur lesquels elle a fondé le rejet intégral de la demande seront exposés plus loin dans la mesure utile.
Statuant par arrêt du 10 octobre 2003, la Chambre civile de la Cour de justice du canton de Genève a débouté la demanderesse de toutes ses conclusions. Les motifs sur lesquels elle a fondé le rejet intégral de la demande seront exposés plus loin dans la mesure utile.
C. Parallèlement à un recours de droit public, qui a été rejeté, dans la mesure où il était recevable, par arrêt séparé de ce jour, la demanderesse interjette un recours en réforme dans lequel elle reprend les conclusions qu'elle avait soumises à la Cour de justice. Le Tribunal fédéral est également invité par la demanderesse à rectifier les qualités des défenderesses représentées par Me Edmond Tavernier.
Agissant conjointement par le truchement de cet avocat, D._ et P._ concluent principalement à l'irrecevabilité du recours et, subsidiairement, à son rejet tout en sollicitant la rectification de leurs qualités.
J._ et L._, représentées toutes deux par Me Patrick Blaser, concluent elles aussi, dans des mémoires de réponse distincts, principalement à l'irrecevabilité du recours et, subsidiairement, à son rejet.

Le Tribunal fédéral considère en droit:
Le Tribunal fédéral considère en droit:
1. Il ressort des explications concordantes fournies par les parties, avec pièces à l'appui, que les défenderesses C._ BV et F._ GmbH sont devenues, respectivement, B._ B.V. et E._ GmbH avant le prononcé de l'arrêt entrepris. Il y a lieu de prendre acte de cette double modification et de procéder à la rectification de la désignation de ces deux défenderesses. Cependant, pour faciliter la compréhension du présent arrêt, le Tribunal fédéral, suivant en cela la suggestion commune de la demanderesse et des défenderesses, ne tiendra pas compte des différentes modifications des raisons sociales de toutes les défenderesses intervenues en cours de procédure.
1. Il ressort des explications concordantes fournies par les parties, avec pièces à l'appui, que les défenderesses C._ BV et F._ GmbH sont devenues, respectivement, B._ B.V. et E._ GmbH avant le prononcé de l'arrêt entrepris. Il y a lieu de prendre acte de cette double modification et de procéder à la rectification de la désignation de ces deux défenderesses. Cependant, pour faciliter la compréhension du présent arrêt, le Tribunal fédéral, suivant en cela la suggestion commune de la demanderesse et des défenderesses, ne tiendra pas compte des différentes modifications des raisons sociales de toutes les défenderesses intervenues en cours de procédure.
2. 2.1 Interjeté par la partie qui a succombé dans ses conclusions tendant notamment à faire constater le caractère prétendument déloyal et attentatoire à ses droits d'auteur du comportement adopté par les parties adverses, et dirigé contre une décision finale rendue en instance unique par le tribunal suprême du canton concerné (art. 48 al. 1 OJ), le recours en réforme est en principe recevable, puisqu'il a été déposé en temps utile (art. 54 al. 1 OJ) dans les formes requises (art. 55 OJ).
A l'appui de ses prétentions, la demanderesse invoque la violation des dispositions tant de la loi fédérale sur le droit d'auteur et les droits voisins (LDA; RS 231.1) que de la loi sur la concurrence déloyale (LCD; RS 241) et du code des obligations (art. 97 ss CO). L'art. 45 OJ, qui fixe les conditions du recours en réforme dans les affaires pécuniaires sans égard à la valeur litigieuse, n'est en principe pas applicable aux actions fondées sur la LCD (Poudret, COJ II, n. 2.2 ad art. 45). Conformément à l'art. 12 al. 2 LCD, la connexité des actions basées sur la LDA et la LCD entraîne toutefois la recevabilité du recours pour le tout, indépendamment de la valeur litigieuse (cf. <ref-ruling> consid. 1). De toute façon, la valeur litigieuse résultant de la conclusion condamnatoire chiffrée prise par la demanderesse dépasse nettement le minimum fixé par l'art. 46 OJ.
Rien ne s'oppose donc à l'entrée en matière.
2.2 Le recours en réforme est ouvert pour violation du droit fédéral, mais non pour violation directe d'un droit de rang constitutionnel (art. 43 al. 1 OJ) ou pour violation du droit cantonal (<ref-ruling> consid. 2c; <ref-ruling> consid. 2a, 370 consid. 5). Saisi d'un recours en réforme, le Tribunal fédéral doit conduire son raisonnement juridique sur la base des faits contenus dans la décision attaquée, à moins que des dispositions fédérales en matière de preuve n'aient été violées, qu'il y ait lieu à rectification de constatations reposant sur une inadvertance manifeste (art. 63 al. 2 OJ) ou qu'il faille compléter les constatations de l'autorité cantonale parce que celle-ci a considéré à tort des faits régulièrement allégués comme étant sans pertinence (art. 64 OJ; <ref-ruling> consid. 2c; <ref-ruling> consid. 2a). Si la partie recourante présente un état de fait qui s'écarte de celui contenu dans la décision attaquée sans se prévaloir avec précision de l'une des exceptions qui viennent d'être rappelées, il n'est pas possible d'en tenir compte (<ref-ruling> consid. 2c). Il ne peut être présenté de griefs contre les constatations de fait, ni de faits ou de moyens de preuve nouveaux (art. 55 al. 1 let. c OJ). L'appréciation des preuves et les constatations de fait qui en découlent ne peuvent donner lieu à un recours en réforme (<ref-ruling> consid. 2c p. 547; <ref-ruling> consid. 2a; <ref-ruling> consid. 3a).
Le Tribunal fédéral ne peut aller au-delà des conclusions des parties, mais il n'est pas lié par les motifs qu'elles invoquent (art. 63 al. 1 OJ), ni par l'argumentation juridique retenue par la cour cantonale (art. 63 al. 3 OJ; <ref-ruling> consid. 2e/cc p. 29; <ref-ruling> consid. 2c; <ref-ruling> consid. 2a).
Le Tribunal fédéral ne peut aller au-delà des conclusions des parties, mais il n'est pas lié par les motifs qu'elles invoquent (art. 63 al. 1 OJ), ni par l'argumentation juridique retenue par la cour cantonale (art. 63 al. 3 OJ; <ref-ruling> consid. 2e/cc p. 29; <ref-ruling> consid. 2c; <ref-ruling> consid. 2a).
3. La demanderesse invoque successivement diverses violations de la LCD, de la LDA et de l'accord de distribution du 3 août 1993. Elle s'en prend aussi à la manière dont la cour cantonale a traité la question du dommage, la jugeant contraire aux art. 41 al. 1 et 42 al. 2 CO.
Les règles de protection découlant de lois spéciales, telle la LDA, priment celles du droit de la concurrence déloyale (<ref-ruling> consid. 4a p. 466 et les références). Ce nonobstant, pour faciliter la compréhension du présent arrêt, le Tribunal fédéral examinera les griefs articulés par la demanderesse en suivant l'ordre de leur présentation, lequel correspond d'ailleurs à celui qui a été adopté par la cour cantonale. Quant au problème du dommage, il ne le traitera que si la question devait encore se poser, une fois réglée celle des différents chefs de responsabilité invoqués par la demanderesse.
Les règles de protection découlant de lois spéciales, telle la LDA, priment celles du droit de la concurrence déloyale (<ref-ruling> consid. 4a p. 466 et les références). Ce nonobstant, pour faciliter la compréhension du présent arrêt, le Tribunal fédéral examinera les griefs articulés par la demanderesse en suivant l'ordre de leur présentation, lequel correspond d'ailleurs à celui qui a été adopté par la cour cantonale. Quant au problème du dommage, il ne le traitera que si la question devait encore se poser, une fois réglée celle des différents chefs de responsabilité invoqués par la demanderesse.
4. Dans un premier groupe de moyens, la demanderesse fait grief aux juges cantonaux de n'avoir pas sanctionné les comportements déloyaux adoptés par les défenderesses.
4.1 Le premier point litigieux a trait à l'application de l'art. 3 let. a LCD. Aux termes de cette disposition, agit de façon déloyale celui qui dénigre autrui, ses marchandises, ses oeuvres, ses prestations, ses prix ou ses affaires par des allégations inexactes, fallacieuses ou inutilement blessantes.
4.1.1 Après avoir rappelé les conditions d'application de cette disposition, les juges cantonaux constatent que la demanderesse n'indique pas par quelles allégations elle aurait été dénigrée, se limitant à une affirmation de principe. Selon eux, aucune pièce et aucun témoignage n'établissent que P._ l'a effectivement dénigrée. La demanderesse, qui a le fardeau de la preuve, n'a ainsi pas prouvé que P._ (ou l'une des autres défenderesses) aurait indiqué à ses clients que les problèmes rencontrés proviendraient de X._, ni, par conséquent, que les allégations qui auraient été, par hypothèse, proférées auraient été inexactes, fallacieuses ou inutilement blessantes. Quant à l'arrêt, par la banque Q._, des tests entrepris, circonstance également invoquée par la demanderesse pour illustrer le dénigrement dont elle aurait été l'objet, la cour cantonale constate qu'il peut avoir de multiples causes, sans que cela résulte nécessairement d'un dénigrement de A._ par P._. Elle dit, au surplus, ne pas voir quel aurait été l'intérêt de P._ de dénigrer X._ VA, puisqu'elle était obligée, par contrat, de distribuer son propre logiciel en version intégrée avec X._ VA (arrêt attaqué, consid. 5.2.3, p. 33 s.).
Ces considérations amènent la cour cantonale à rejeter le moyen pris de la violation de la disposition précitée.
4.1.2 A l'appui de son premier grief, la demanderesse soutient que la cour cantonale s'en serait tenue à une interprétation restrictive, contraire à l'esprit de la loi, en affirmant que l'art. 3 let. a LCD ne vise que des "allégations", alors qu'elle s'applique aussi à de simples allusions ou insinuations qui amènent le client à se faire une opinion erronée sur le concurrent.
Toujours selon la demanderesse, les juges précédents n'auraient pas tenu compte de l'atmosphère particulière qui régnait à l'époque dans le domaine des logiciels bancaires en Suisse. Ils se seraient en outre contredits en constatant, d'un côté, l'existence de problèmes continuels imputables à X._ VA et, de l'autre, l'absence de preuve que P._ aurait indiqué à ses clients que les problèmes provenaient de ce logiciel. Qui plus est, la cour cantonale aurait violé l'art. 8 CC et commis des inadvertances manifestes en passant sous silence des faits et des pièces pertinents et régulièrement allégués. Elle aurait, en particulier, ignoré les pièces 46 A._, 29 à 32 D._/P._, 55 A._ et 66 D._/P._, dont il résulterait indubitablement que P._ rendait systématiquement X._ VA responsable de tous les problèmes (cf. recours, ch. 23 à 41).
4.1.3 Il ne ressort nullement de l'arrêt attaqué que la Cour de justice aurait donné au terme "allégations", figurant à l'art. 3 let. a LCD, un sens restrictif. Le seul fait qu'elle utilise le terme mentionné dans cette disposition ne signifie pas encore qu'elle l'ait compris dans l'acception étroite alléguée par la recourante. Celle-ci n'étaye du reste en rien la critique qu'elle formule à ce propos, se bornant à insister - sans que l'on sache si cette remarque correspond à un fait dûment allégué devant l'instance cantonale - sur l'atmosphère particulière régnant à l'époque dans le domaine des logiciels bancaires en Suisse.
La contradiction que la recourante impute aux premiers juges n'est certainement pas irréductible dans la mesure où P._ pouvait fort bien penser que les problèmes rencontrés étaient dus au logiciel X._ VA sans aller, pour autant, jusqu'à jeter le discrédit sur A._ auprès de ses clients. De toute façon, il a été retenu, dans l'arrêt relatif au recours de droit public connexe, que la constatation selon laquelle des dysfonctionnements étaient apparus dans X._ VA résistait au grief d'arbitraire (cf. consid. 4.3.3., 3e §). Ainsi, à supposer que des allégations, lato sensu, aient été formulées par P._ au sujet du logiciel en question, il serait difficile de les qualifier d'inexactes, de fallacieuses ou d'inutilement blessantes.
Sous le couvert de la violation prétendue de l'art. 8 CC, la demanderesse s'en prend en réalité à l'appréciation des preuves, ce qui n'est pas admissible dans un recours en réforme. En effet, elle ne soutient pas que son droit à la preuve aurait été violé, ni que la règle régissant la répartition du fardeau de la preuve aurait été méconnue. Ce qu'elle reproche aux juges cantonaux, c'est d'avoir procédé à des constatations que n'autorisaient pas les éléments de preuve dont ils disposaient ou, inversement, de n'avoir pas procédé aux constatations qu'ils auraient dû tirer des pièces invoquées par elle. On se trouve là manifestement dans le domaine de l'appréciation des preuves, terrain sur lequel la demanderesse tente en vain de conduire la juridiction fédérale de réforme.
Quant à l'inadvertance manifeste, au sens de l'art. 63 al. 2 OJ, elle n'existe que si l'autorité cantonale a omis de prendre en considération une pièce déterminée, versée au dossier, ou l'a mal lue, s'écartant par mégarde de sa teneur exacte, en particulier de son vrai sens littéral (<ref-ruling> consid. 2a; <ref-ruling> consid. 2b; cf. également <ref-ruling> consid. 2b). De toute évidence, cette condition n'est pas réalisée en l'espèce. La Cour de justice se réfère expressément aux pièces 29 à 32 D._/P._ (rapports trimestriels envoyés par P._ à A._) et à la pièce 55 A._ (note interne de DD._) dans son arrêt (p. 15, 18 et 19) et elle le fait implicitement en ce qui concerne la pièce 46 A._ (lettre de la banque Q._ à P._ concernant l'arrêt des tests), en exposant l'argumentation de la recourante fondée sur ce courrier (arrêt attaqué, consid. 5.2.3, p. 33). Elle ne s'est pas écartée de la teneur exacte de ces pièces, mais a fait, à partir de celles-ci, des déductions qui relèvent de l'appréciation des preuves. Il n'y a pas trace d'une inadvertance manifeste dans cette manière de procéder.
Ce premier moyen se révèle, dès lors, infondé dans la mesure où il est recevable.
4.2 Le litige porte aussi sur l'application de l'art. 3 let. d LCD qui sanctionne le comportement déloyal de celui qui prend des mesures qui sont de nature à faire naître une confusion avec les marchandises, les oeuvres, les prestations ou les affaires d'autrui.
4.2.1 Invoquant cette disposition, la demanderesse a soutenu, devant la juridiction cantonale, que les produits, la documentation et les mises à jour livrés aux clients par "le groupe O._" ne portaient pas la mention "copyright" © de A._, contrairement à ce que prévoyait l'art. 10.2 de l'accord du 3 août 1993. De ce fait, le client, qui croyait utiliser un produit O._, était trompé et il pouvait ainsi être détourné, grâce à la confusion créée, en violation de l'art. 3 let. d LCD.
La Cour de justice commence par rappeler le sens que la jurisprudence et la doctrine ont donné à cette disposition (cf. <ref-ruling> consid. 3a; <ref-ruling> consid. 1b; <ref-ruling> consid. 3b et les auteurs cités dans ces arrêts).
Appliquant les principes jurisprudentiels et doctrinaux exposés par eux au cas concret, les juges cantonaux tiennent ensuite le raisonnement résumé ci-après, qui les conduit à exclure toute violation de la disposition susmentionnée (arrêt attaqué, consid. 5.3.3 p. 35 s.): en l'absence de preuve fournie par la demanderesse au sujet de ses allégations, seul sera retenu le fait, admis par D._ et P._, que les "Software Product Description" pour les mises à jour ("release notes") ne portaient pas la mention "copyright" de A._. La demanderesse invoque avant tout une violation du contrat de distribution sur ce point, il convient néanmoins d'examiner si, indépendamment de l'éventuelle violation d'une disposition contractuelle, l'absence du signe "copyright" de A._ sur les mises à jour peut constituer une violation de la LCD. Force est de souligner, en premier lieu, que le sigle du "copyright" n'a aucunement pour fonction d'écarter un risque de confusion. Ensuite, on notera qu'en l'absence de deux éléments à comparer, une "confusion par omission" ne peut pas se produire. Par ailleurs, il est constant que X._ VA s'adressait à des professionnels, si bien que ses utilisateurs ne pouvaient pas ignorer, malgré l'absence du signe "copyright" de la demanderesse sur les notes relatives aux mises à jour, que A._ était l'auteur de ce logiciel, ce qui exclut tout risque de confusion. De plus, comme Y._ était livré avec X._ VA, les clients n'étaient pas détournés de X._ au profit de Y._ du fait de l'absence d'indication du signe "copyright" de A._. Enfin, il y aurait une certaine contradiction à alléguer d'une part un dénigrement et à se plaindre d'autre part de voir son identité cachée (arrêt attaqué, consid. 5.3.3, p. 35 s.).
4.2.2 La demanderesse reproche, tout d'abord, à la cour cantonale de n'avoir pas vu qu'un même comportement peut tomber à la fois sous le coup de l'art. 97 CO et de la LCD. Selon elle, les juges genevois, ayant admis par ailleurs que le comportement incriminé violait l'accord du 3 août 1993, auraient dû nécessairement conclure à la violation de l'art. 3 let. d LCD, les clients pensant avoir affaire au logiciel Y._ et non à X._ VA.
La solution adoptée par la cour cantonale serait d'ailleurs démentie par les faits. Ainsi, le cas de la banque S._, attesté par la pièce 78 A._ et totalement ignoré par la Cour de justice, en violation de l'art. 8 CC, établirait clairement l'existence d'un risque de confusion, dès lors que cet établissement bancaire, qui aurait disposé de X._ VA aux dires des intimées, ne savait pas qu'il utilisait ce logiciel.
La demanderesse fait encore grief aux juges précédents d'avoir subordonné l'application de la disposition précitée à l'existence d'une confusion avérée et d'un rapport de concurrence entre les parties.
Elle nie enfin que son argumentation ait comporté quoi que ce soit de contradictoire (cf. recours, ch. 42 à 62).
4.2.3 Contrairement à ce que soutient la demanderesse, la cour cantonale n'a pas ignoré la possibilité d'un concours entre la responsabilité contractuelle et la responsabilité fondée sur la LCD puisqu'elle a examiné le comportement incriminé au regard de ces deux chefs de responsabilité. C'est la demanderesse, au contraire, qui fait erreur lorsqu'elle soutient la thèse que l'admission de la violation de la clause de distribution relative au "copyright" impliquait nécessairement la reconnaissance d'une infraction à la LCD. En argumentant ainsi, elle oublie que cette loi poursuit un objectif général, qui est de garantir une concurrence loyale, tandis que les dispositions du code des obligations sanctionnant la violation des contrats (art. 97 ss) tendent à assurer le respect des accords passés entre les contractants.
Il n'apparaît pas non plus, malgré qu'en ait la demanderesse, que la cour cantonale ait exigé qu'une confusion se soit effectivement produite. Force est de constater, à cet égard, que les premiers juges ne parlent que de "risque de confusion". Qu'ils examinent de quelle manière un tel risque peut s'actualiser et s'il est possible qu'une confusion résulte d'une simple omission ne signifie pas qu'ils aient fait de la concrétisation du risque de confusion une condition sine qua non de l'application de la LCD.
En outre, lorsque la cour cantonale retient, pour exclure l'existence d'un risque de confusion, que les utilisateurs de X._ VA ne pouvaient ignorer, nonobstant l'absence du signe "copyright" de A._ sur les notes relatives aux mises à jour, que cette société était l'auteur dudit logiciel, elle pose une constatation de fait qui lie la juridiction fédérale de réforme. Sur la base de cette constatation, il n'était pas contraire au droit fédéral d'exclure l'existence d'un risque de confusion. La demanderesse s'abstient, au demeurant, de critiquer l'argument des juges précédents concernant la fonction assignée au "copyright". Sans doute croit-elle discerner dans le cas de la banque S._ la preuve irréfutable que ceux-ci ont fait fausse route. Cependant, elle n'indique pas, dans son mémoire de recours, si et, le cas échéant, où elle a allégué les faits concernant cet établissement bancaire dans la procédure cantonale, en offrant de les prouver par des éléments de preuve concrets. Aussi invoque-t-elle en pure perte, sur ce point, une violation de son droit à la preuve.
De plus, si la Cour de justice affirme certes que "la LCD réprime la confusion lorsqu'elle permet d'exploiter les prestations d'un concurrent", on ne saurait tirer de cette affirmation - ce que fait pourtant la demanderesse - que les juges genevois auraient soumis l'application de l'art. 3 let. d LCD à la condition de l'existence d'un rapport de concurrence entre les parties. C'est le verbe "exploiter" qui revêt de l'importance dans cette phrase, comme on peut s'en convaincre en lisant la suite du paragraphe dans lequel elle figure et où les juges genevois constatent que les clients n'étaient pas détournés de X._ au profit de Y._ du fait de l'absence d'indication du signe "copyright" de A._.
Il ressort enfin de la systématique de l'arrêt attaqué que la contradiction relevée par la cour cantonale n'a pas eu d'incidence sur le rejet du moyen pris de la violation de l'art. 3 let. d LCD. Point n'est dès lors besoin de s'y attarder.
Le deuxième grief formulé par la demanderesse tombe ainsi à faux.
4.3 Est aussi en cause la prétendue "exploitation d'une prestation d'autrui" que la demanderesse impute aux défenderesses. Sous cette note marginale, l'art. 5 LCD dispose qu'agit de façon déloyale celui qui, notamment, exploite de façon indue le résultat d'un travail qui lui a été confié, par exemple des offres, des calculs ou des plans (let. a); exploite le résultat du travail d'un tiers, par exemple des offres, des calculs ou des plans, bien qu'il sache que ce résultat lui a été remis ou rendu accessible de façon indue (let. b); reprend grâce à des procédés techniques de reproduction et sans sacrifice correspondant le résultat de travail d'un tiers prêt à être mis sur le marché et l'exploite comme tel (let. c).
4.3.1
4.3.1.1 La cour cantonale examine en premier lieu et conjointement le moyen pris de la violation des let. a et b de la disposition citée (arrêt attaqué, consid. 5.4.3, p. 38 à 40). Elle indique, tout d'abord, références jurisprudentielles et doctrinales à l'appui, quel est le comportement sanctionné par cette disposition et ce qui différencie la lettre b de la lettre a.
Appliquant ensuite les principes juridiques posés par elle aux circonstances du cas particulier, la Cour de justice expose, en substance, ce qui suit: l'exploitation de X._ VA par les défenderesses pour créer leur propre logiciel aurait nécessité d'avoir accès au code source de ce logiciel pour l'utiliser ou le copier, de la même façon qu'un ingénieur se servirait de plans. Toutefois, les défenderesses n'ont jamais eu accès à ce code source. Par ailleurs, s'il y avait eu exploitation de X._, il aurait dû en résulter un logiciel présentant les mêmes caractéristiques que ce dernier ou présentant, à tout le moins, la même conception de base. Or, la différence essentielle de conception entre le module de performance de X._ VA et celui dont disposait Y._ à l'origine, à savoir que le premier fonctionnait sur un mode dynamique, alors que le second fonctionnait sur un mode statique, a subsisté dans la nouvelle version 1.8-2 de Y._. Ainsi, si la nouvelle version de Y._ contient bien un module de performance qui vise au même résultat que celui obtenu avec X._ VA, ce dernier ne peut pas être le fruit d'une exploitation par les défenderesses de X._ VA. Le grief fondé sur les art. 5 let. a et b LCD sera donc écarté.
4.3.1.2 En second lieu, la cour cantonale envisage la violation alléguée de l'article 5 let. c LCD (arrêt attaqué, consid. 5.4.4, p. 40 à 42).
Après avoir rappelé que la protection des logiciels contre la reproduction est avant tout assurée par la LDA et que l'application de la disposition précitée à l'utilisation d'un logiciel comme point de départ pour la création de son propre logiciel et son intégration à un autre programme est discutée (cf. Carl Baudenbacher, Lauterkeitsrecht, n. 67 ad art. 5 LCD avec des références), les magistrats genevois exposent les motifs qui les amènent à exclure toute violation de l'art. 5 let. c LCD dans le cas concret. Selon eux, la reprise directe de X._ VA, au sens de cette disposition, supposerait que ce logiciel ait été directement reproduit par un moyen technique, partant que le module de performance de Y._ soit identique à celui de X._. Or, les deux modules ont une conception différente, puisque l'un fonctionne sur un mode statique et l'autre sur un mode dynamique. Il n'est par conséquent pas possible que L._, qui a développé le nouveau module de performance, se soit limitée à reprendre le module de performance de X._ par un procédé technique. Au demeurant, même s'il fallait admettre que la simple reproduction d'un logiciel en vue de son adaptation ultérieure à des besoins particuliers tombe sous le coup de l'art. 5 let. c LCD, il n'en resterait pas moins qu'une telle copie n'a pas été prouvée par la demanderesse et qu'il n'est pas possible, sur la base des enquêtes et sans expertise technique démontrant la similitude des deux modules (moyen de preuve dont aucune des parties n'a requis l'administration), de savoir s'il a été repris, puis retravaillé, ou s'il a directement été élaboré par L._, sans se servir du module de performance de X._ VA comme base.
4.3.2 A titre liminaire, la demanderesse fait grief à la cour cantonale d'avoir méconnu le rapport dans lequel se trouvent la LCD et la LDA. Puis elle argumente, en substance, comme il suit quant à la manière dont les juges précédents ont appliqué l'art. 5 let. a et b. LCD (cf. recours, ch. 67 à 111): contrairement à l'opinion émise par la cour cantonale, l'accès au code source est un fait pertinent pour l'application de l'art. 5 let. c LCD, mais pas pour celle de l'art. 5 let. a et b LCD, ces deux dernières dispositions, à l'inverse de la première, ne visant pas la copie simple, mais l'utilisation du résultat d'un travail. Quoi qu'il en soit, la constatation selon laquelle D._ n'a jamais eu d'accès direct au code source résulte d'une violation de l'art. 8 CC ainsi que d'inadvertances manifestes (art. 63 al. 2 OJ), tant en ce qui concerne les personnes entendues (BB._, EE._, CC._, DD._) qu'au regard des pièces versées au dossier. En outre, les juges précédents n'ont manifestement pas compris les données techniques du cas qui leur était soumis puisqu'ils ont fait une confusion entre mode statique/dynamique et calcul statique/dynamique. S'ils n'avaient pas commis de telles erreurs, les magistrats genevois n'auraient pu qu'admettre l'existence d'une violation de l'art. 5 let. a et b LCD.
Pour étayer ensuite le grief de violation de l'art. 5 let. c LCD, la demanderesse allègue derechef la même confusion imputée à la cour cantonale. Elle reproche par ailleurs, à cette dernière de n'avoir pas compris la question du "fichier technique" et de n'avoir pas constaté que si X._ VA est utilisé pour éditer les fonctions CLIV 001 et CLIV 006 de Y._, cela témoigne d'un acte de piratage, car X._ VA est inclus indûment dans Y._ (cf. recours, ch. 112 à 132).
4.3.3 Quoi qu'en dise la demanderesse, les juges cantonaux n'ont pas du tout méconnu la relation qui existe entre la LDA et la LCD. En accordant la priorité à celle-là sur celle-ci, ils n'ont fait qu'appliquer la jurisprudence en la matière (cf. consid. 3 ci-dessus).
On ne voit pas non plus ce qui permet à la demanderesse d'affirmer que la Cour de justice a considéré l'accès au code source d'un logiciel comme un élément constitutif de toute infraction à l'art. 5 let. a et b LCD. L'autorité cantonale s'est bornée à relever que, pour exploiter le travail de A._ à leur profit, les défenderesses auraient dû avoir accès au code source de X._ VA. Elle n'en dit pas davantage et la demanderesse ne démontre pas, de son côté, en quoi l'exploitation indue de X._ VA aurait pu se faire sans accès au code source de ce logiciel.
Par ailleurs, sous l'angle de l'art. 5 let. c LCD, le Tribunal fédéral, en tant qu'autorité de réforme, est lié par la constatation des juges du fait selon laquelle la copie de ce logiciel n'a pas été prouvée par la demanderesse.
Pour le reste, qu'il s'agisse du problème de l'accès au code source, de la prétendue confusion entre mode statique/dynamique et calcul statique/dynamique ou encore de la question du fichier technique et des fonctions CLIV 001 et CLIV 006, la demanderesse ne fait que s'en prendre, de manière irrecevable, aux constatations définitives que la cour cantonale a posées dans son arrêt en fonction du résultat de son appréciation des éléments de preuve qui lui ont été fournis par les parties. Force est de souligner, à cet égard, comme cela ressort de la mise en parallèle des deux mémoires de recours, que l'intéressée se contente de reprendre, souvent mot pour mot, dans son recours en réforme, les arguments qu'elle a soumis à la juridiction constitutionnelle fédérale dans son recours de droit public connexe. On la renverra, dès lors, à la lecture de l'arrêt séparé rendu ce jour au sujet dudit recours, en précisant qu'il ne suffit pas d'invoquer une violation de l'art. 8 CC ou une inadvertance manifeste pour obtenir, par ce biais, que la juridiction fédérale de réforme revoie, à l'égal d'une cour d'appel, l'appréciation des preuves effectuée par les juges de l'instance précédente. Pour le surplus, on se bornera à observer que si des inadvertances manifestes ont peut-être été commises par les premiers juges, notamment en ce qui concerne la qualité en laquelle l'un ou l'autre des protagonistes de la présente affaire a été entendu, ces erreurs n'ont pas porté à conséquence pour les motifs indiqués dans l'arrêt sur le recours de droit public.
D'où il suit que le grief tiré de la violation de l'art. 5 LCD est en grande partie irrecevable et infondé pour le surplus.
4.4 Il a aussi été question, devant la cour cantonale, d'une éventuelle violation de l'art. 6 LCD par les défenderesses.
4.4.1 Par cette disposition, le législateur fédéral a entendu sanctionner celui qui, notamment, exploite ou divulgue des secrets de fabrication ou d'affaires qu'il a surpris ou dont il a eu indûment connaissance d'une autre manière.
La Cour de justice constate, à cet égard, qu'il appartenait à D._, en vertu de l'accord du 3 août 1993, de distribuer X._ VA conjointement avec Y._. Toutefois, cette défenderesse n'avait pas d'accès au code source de X._ VA dans lequel était contenu le savoir-faire de la demanderesse, au dire de cette dernière. Par conséquent, il n'est pas établi que D._, ou P._, L._ ou J._, aient eu accès à des secrets de fabrication ou d'affaires de A._.
De toute façon, poursuit la cour cantonale, même s'il fallait admettre qu'il y a eu connaissance d'un secret, cette connaissance ne se serait pas faite de manière indue, car elle est intervenue dans le cadre de l'accord du 3 août 1993.
Pour les premiers juges, les conditions d'application de l'art. 6 LCD ne sont donc pas remplies en l'espèce (arrêt attaqué, consid. 5.5.3, p. 43).
4.4.2 La demanderesse rétorque que les défenderesses, par le débauchage systématique de ses employés, qui avaient développé X._ VA et travaillé sur ce logiciel, ont eu accès au code source de celui-ci, tant il est vrai que le savoir-faire et l'expertise relatifs à un logiciel ne se trouvent pas seulement dans le logiciel lui-même, mais aussi dans la personne des employés qui ont conçu et élaboré le logiciel.
La cour cantonale n'aurait, en outre, pas compris que ce n'est pas parce qu'un accord autorise l'utilisation d'un logiciel d'une certaine manière que ce dernier peut être pillé par l'utilisateur.
De surcroît, les juges genevois, en violation de l'art. 8 CC, n'auraient pas du tout examiné l'allégation de la demanderesse selon laquelle la violation de l'art. 6 LCD était aussi réalisée par la divulgation de ses secrets d'affaires à J._, soit L._, en raison de la vente des droits du logiciel Y._ par le groupe O._ à ces sociétés (cf. recours, ch. 133 à 142).
4.4.3 Tel qu'il est présenté, le moyen pris de la violation de l'art. 6 LCD revêt un caractère appellatoire manifeste. En effet, pour l'étayer, la demanderesse se limite à substituer sa propre version des faits à celle qui a été retenue souverainement par les juges genevois, en affirmant qu'il y a eu débauchage de ses employés par les défenderesses, ce qui aurait permis à celles-ci d'avoir accès au code source de X._ VA. Dans cette mesure, le grief soumis à l'examen du Tribunal fédéral est irrecevable.
Pour le reste, comme le soulignent à juste titre les défenderesses, la Cour de justice n'a pas ignoré les allégations de la demanderesse touchant la divulgation de ses secrets d'affaires à M._, puisqu'elle en fait état au considérant 5.5.1 de son arrêt (p. 42). Les juges cantonaux constatent d'ailleurs expressément qu'il n'est pas établi que ces deux sociétés aient eu accès à des secrets de fabrication ou d'affaires de A._ (consid. 5.5.3, p. 43), ce qui lie la juridiction fédérale de réforme. Aussi ne discerne-t-on pas la violation de l'art. 8 CC que la demanderesse allègue à ce propos.
Le moyen est ainsi voué à l'échec.
4.5 A l'appui de sa demande, A._ a encore fait fond sur la clause générale de l'art. 2 LCD. Aux termes de cette disposition, est déloyal et illicite tout comportement ou pratique commercial qui est trompeur ou qui contrevient de toute autre manière aux règles de la bonne foi et qui influe sur les rapports entre concurrents ou entre fournisseurs et clients.
4.5.1 La cour cantonale souligne derechef, à titre de remarque préalable, que la violation d'une obligation contractuelle ne saurait à elle seule constituer une attitude déloyale tombant sous le coup de la LCD.
Les juges cantonaux examinent ensuite la pertinence de l'argument de la demanderesse voulant que les défenderesses, en introduisant la fonction TVA dans la version 1.8-2 de Y._ sans l'en informer et en lui cachant ainsi la nécessité de modifier X._ VA pour l'adapter aux exigences de la TVA, auraient trouvé un moyen leur permettant de la pousser hors du marché et d'amener ses clients à abandonner X._ pour choisir leur propre produit. Les magistrats genevois considèrent que cet argument n'est pas fondé pour les cinq motifs indiqués au considérant 5.6.2 de leur arrêt (p. 44 s): 1) la demanderesse n'a pas établi que les blocages intervenus après l'installation de la version 1.8-2 de Y._ étaient dus à une incompatibilité de ce logiciel avec X._ VA, de sorte que l'introduction de la fonction TVA ne saurait être considérée comme un moyen déloyal de l'éliminer du marché; 2) les clients chez qui la version 1.8-2 de Y._ a été installée, et qui ont déploré des blocages, avaient déjà acquis une licence pour X._ VA, si bien qu'ils n'étaient pas détournés de ce logiciel au profit d'un autre qui leur aurait été vendu en lieu et place de X._ VA; 3) ne disposant pas, à l'époque où les blocages sont intervenus, d'un logiciel susceptible de remplacer X._ VA, les défenderesses n'avaient pas d'intérêt à rendre ce logiciel inutilisable, sauf à courir le risque de voir leurs clients renoncer non seulement à X._ VA, mais également à Y._, au profit du logiciel d'un concurrent; 4) comme, en vertu de l'accord du 3 août 1993, X._ VA devait être fourni au client dans une version intégrée à Y._, la nouvelle version de ce logiciel ne pouvait pas remplacer X._ VA auprès des clients; 5) il aurait été possible de modifier X._ pour y intégrer la fonction TVA sans que cela représente un engagement en temps et en argent trop important pour la demanderesse.
S'agissant de l'utilisation par les défenderesses du fichier technique qui permet à Y._ d'éditer des données pour produire des évaluations de portefeuille en se servant de X._ VA, la cour cantonale souligne, par ailleurs, qu'en l'absence de toute autre explication technique, elle ne voit pas en quoi l'utilisation de ce fichier technique et le recours à des fonctions de X._ VA par des clients qui ont acquis une licence pour ce logiciel serait contraire à la LCD (consid. 5.6.3, p. 45).
4.5.2 La demanderesse reproche, tout d'abord, à la cour cantonale d'avoir retenu qu'elle n'aurait allégué qu'une violation de l'accord du 3 août 1993, alors qu'elle avait allégué une attitude générale de mauvaise foi du groupe O._, notamment lors des blocages intervenus auprès des clients.
A propos de ces blocages, la demanderesse conteste n'avoir pas établi qu'ils étaient dus à une incompatibilité de la version 1.8-2 du logiciel Y._ avec X._ VA. L'affirmation contraire des juges précédents procéderait, selon elle, d'une violation de l'art. 8 CC et serait démentie tant par les pièces que par les témoignages figurant au dossier.
Qui plus est, la cour cantonale se serait contredite, au sujet du logiciel U._/V._, en affirmant, d'un côté, que ce logiciel était destiné à remplacer X._ VA et en retenant, par ailleurs, qu'il ne contenait pas de module de performance. Il y aurait là la preuve indubitable que le groupe O._ a dû développer un module de performance nécessaire aux banques à partir de X._ VA. En fait, ledit groupe se serait servi de ce logiciel, dans un premier temps, pour le pirater, puis, dans un deuxième temps, aurait évincé A._, grâce à la nouvelle version qu'il avait pu développer, en résiliant l'accord de distribution.
En n'admettant pas l'existence d'une violation de l'art. 2 LCD, la Cour de justice aurait, dès lors, méconnu la portée générale de cette disposition et violé l'art. 8 CC (cf. recours, ch. 143 à 158).
4.5.3 Contrairement aux affirmations de la demanderesse, les juges précédents n'ont pas restreint l'examen du cas, sous l'angle de l'art. 2 LCD, à la seule violation contractuelle mentionnée dans l'arrêt attaqué. Le résumé, fait ci-dessus, des motifs retenus par eux pour exclure toute violation de la clause générale de la LCD démontre au contraire qu'ils ont examiné la question litigieuse sous tous ses aspects.
A cet égard, force est de souligner que la demanderesse laisse intacts la plupart des motifs sus-indiqués, puisqu'elle se contente de critiquer le premier et le troisième d'entre eux, sans toucher non plus à la seconde branche de l'argumentation (utilisation du fichier technique).
De toute façon, les griefs qu'elle formule ne consistent qu'en la remise en cause des constatations opérées par les juges précédents. Que cette tentative soit faite sous le couvert de la violation alléguée de l'art. 8 CC ne la rend pas moins vaine. Aussi est-ce en pure perte que la demanderesse s'emploie à démontrer, en se référant à différents éléments de preuve, que ce sont bien les modifications effectuées sur Y._ et sa nouvelle version 1.8-2 qui ont entraîné les problèmes avec X._ VA. Il a du reste été retenu, dans l'arrêt rendu sur le recours de droit public connexe, que les constatations de fait y relatives étaient exemptes d'arbitraire (cf., not., les consid. 4.3.4, 4.4.2.3, 4.4.2.4.2 et 4.4.2.8).
Relève également de l'appréciation des preuves et échappe aussi, partant, à l'examen de la juridiction fédérale de réforme le point de savoir si la Cour de justice s'est contredite dans ses constatations de fait relatives aux fonctions contenues dans le logiciel U._/V._. Au demeurant, à supposer que la contradiction relevée par la demanderesse soit avérée, la déduction qu'en tire cette dernière - soit que l'absence de module de performance dans ledit logiciel impliquait nécessairement que le groupe O._ a dû développer un tel module à partir de X._ VA - ressortit, elle aussi, au domaine des faits qui est étranger à la présente procédure.
Par conséquent, si tant est qu'il soit recevable, le moyen pris de la violation de l'art. 2 LCD ne saurait être accueilli.
Par conséquent, si tant est qu'il soit recevable, le moyen pris de la violation de l'art. 2 LCD ne saurait être accueilli.
5. Le différend porte, en outre, sur le droit d'auteur de la demanderesse. En première instance, celle-ci avait allégué une violation des art. 10 al. 1 et 11 al. 1 LDA. La première disposition reconnaît à l'auteur le droit exclusif de décider si, quand et de quelle manière son oeuvre sera utilisée. La seconde lui confère le droit exclusif de décider si, quand et de quelle manière l'oeuvre peut être modifiée (let. a) ou peut être utilisée pour la création d'une oeuvre dérivée ou être incorporée dans un recueil (let. b).
5.1 Dans une première partie théorique, fondée sur les enseignements de la doctrine, les magistrats genevois rappellent que les programmes d'ordinateurs sont également considérés comme des oeuvres au sens de la LDA en vertu de l'art. 2 al. 3 de cette loi; que l'auteur d'un logiciel dispose des mêmes droits que les auteurs d'oeuvres littéraires ou artistiques, sous réserve des dispositions spéciales de la LDA; enfin que l'employeur est le seul autorisé à exercer les droits exclusifs d'utilisation du logiciel créé par le travailleur (art. 17 LDA). Ils relèvent en outre que si le degré d'individualité requis par la LDA pour qu'une création de l'esprit puisse être considérée comme une oeuvre ne doit pas être trop élevé en ce qui concerne les logiciels, il y a lieu d'admettre, en contrepartie, que seule la reprise in extenso d'un logiciel devrait être qualifiée de piraterie, toute création autonome simulant les effets du programme, s'inspirant du programme original mais s'en écartant sur quelques points, étant autorisée en droit d'auteur (cf., sur ce dernier point, François Dessemontet, Le droit d'auteur, Lausanne 1999, n. 144, cité par la cour cantonale).
Appliquant ces règles et principes au cas particulier, la Cour de justice admet, dans un premier temps, que X._ VA, bien qu'il ne présente pas un degré d'individualité particulièrement élevé par rapport aux autres logiciels du même type existant sur le marché, est néanmoins protégé par la LDA. Elle reconnaît aussi à la demanderesse la qualité pour exercer les droits exclusifs d'utilisation de ce logiciel (arrêt attaqué, consid. 6.3.1, p. 48).
Quant à la violation alléguée de ces droits, les juges cantonaux l'excluent par les motifs suivants (arrêt attaqué, consid. 6.3.2, p. 49 s.): en concluant le contrat du 3 août 1993, A._ a accepté que D._ distribue X._ VA; par conséquent, il ne saurait être reproché à cette défenderesse d'avoir proposé X._ à ses clients, en violation de l'art. 10 al. 2 let. b LDA. Au demeurant, les reproches adressés par la demanderesse aux défenderesses ne concernent pas la question de la reproduction d'exemplaires de l'oeuvre au sens de l'art. 10 al. 2 let. a LDA. Se pose, en revanche, la question de savoir si X._ VA a été modifié, ou s'il a été utilisé par les défenderesses pour créer la nouvelle version de Y._, en violation de l'art. 11 LDA. A cet égard, il appartenait à la demanderesse de démontrer que le module de performance de Y._ n'est pas une simple évolution du module dont il était doté dès l'origine, mais constitue une véritable oeuvre dérivée de X._. Or, il ressort des enquêtes que le développement de la nouvelle version de Y._ ne s'est pas fait sur la base du module de performance de X._ VA. En outre, si la version 1.8-2 de Y._ permet effectivement d'obtenir des résultats comparables à ceux obtenus avec X._, les fonctions et les caractéristiques de X._ n'y sont pas reconnaissables. En particulier, cette nouvelle version fonctionne toujours, comme à l'origine, sur un mode statique, alors que X._ fonctionne sur un mode dynamique, ce qui constitue l'une de ses originalités. Enfin, la demanderesse n'a apporté aucune preuve que, sur le plan technique, Y._ reprendrait dans une large mesure la structure de X._ VA. Par conséquent, il n'est pas possible de retenir que Y._ constitue une oeuvre dérivée de ce logiciel, qui aurait été développée en violation du droit de la demanderesse à l'intégrité de son oeuvre.
5.2 La demanderesse fait grief à la Cour de justice d'avoir violé les art. 10 et 11 LDA (cf. recours, ch. 159 à 204). Elle rappelle, en préambule, les mesures législatives qui ont été prises en Suisse comme au niveau international pour lutter contre la piraterie dans le domaine de l'informatique.
Reproduisant ensuite la définition du logiciel donnée par le professeur Dessemontet (op. cit., n. 140), la demanderesse y voit la preuve que la cour cantonale a confondu mode statique/dynamique et fonction statique/dynamique.
Elle expose, par ailleurs, les raisons pour lesquelles X._ VA est assurément une oeuvre à caractère individuel protégée par l'art. 2 al. 3 LDA, comme l'a admis à contrecoeur (sic) la cour cantonale, sa qualité d'auteur de ladite oeuvre n'étant au demeurant pas litigieuse.
Selon la demanderesse, les juges précédents n'auraient pas examiné ses allégations touchant la violation de l'art. 10 al. 1 LDA, ne les ayant du reste pas comprises. Leur aurait en particulier échappé l'élément essentiel que constituait l'interdépendance existant entre les deux logiciels en cause. Point n'était d'ailleurs nécessaire, contrairement à leur avis, que le logiciel ait été repris in extenso, les parties d'oeuvres étant également protégées par la loi (art. 2 al. 4 LDA). Or, en l'occurrence, les pièces et témoignages attestaient que le logiciel X._ VA avait été utilisé par les défenderesses de façon contraire à l'autorisation qui leur avait été octroyée par l'auteur. La violation de l'art. 10 al. 1 LDA était ainsi démontrée.
Toujours selon la demanderesse, la Cour de justice aurait dû admettre que les défenderesses avaient violé l'art. 11 al. 1 LDA. En effet, il ressortirait d'un fait allégué et dûment prouvé par la pièce 48 A._ que les deux logiciels pouvaient tout à fait être distingués, de sorte que la condition du caractère individuel de X._ VA était remplie. Or, il existe une protection absolue pour les auteurs d'oeuvres reprises dans une oeuvre subséquente. En l'espèce, le logiciel X._ VA serait l'oeuvre préexistante et le nouveau module de performance de Y._ l'oeuvre dérivée. Par conséquent, dès lors que la demanderesse n'a jamais donné son autorisation pour une utilisation indue de son logiciel, une infraction à l'art. 11 al. 1 LDA serait établie.
5.3 L'argumentation de la demanderesse, difficilement compréhensible et de nature essentiellement appellatoire, ne suffit pas à étayer les reproches formulés par l'intéressée à l'encontre des magistrats genevois.
La demanderesse ne précise pas dans quelle écriture elle a soumis à la cour cantonale ses prétendues allégations se rapportant à la violation de l'art. 10 al. 1 LDA. Il n'appartient pas au Tribunal fédéral de les rechercher lui-même. La motivation du recours est ainsi lacunaire sur ce point. Qui plus est, la demanderesse ne démontre pas en quoi les défenderesses auraient utilisé son logiciel X._ VA en violation des dispositions adoptées par elles d'un commun accord quant aux modalités d'exploitation de celui-ci, se contentant, ici comme ailleurs, de présenter les circonstances du cas concret de manière à asseoir sa thèse, sans s'arrêter aux constatations différentes faites souverainement par la cour cantonale. A cet égard, il ne suffit pas d'alléguer le caractère indu de l'utilisation de X._ VA, comme elle le fait par exemple sous ch. 188 de son mémoire de recours, voire d'invoquer l'art. 8 CC sans aucune explication (ch. 189), pour établir que cette utilisation était contraire à l'autorisation donnée par l'auteur du logiciel. Pour le surplus, on ne voit pas où la demanderesse veut en venir dans le cas concret en opposant les notions de reprise intégrale d'une oeuvre et de protection d'une partie d'une oeuvre. La cour cantonale s'est du reste prévalue, sur ce point, de l'avis autorisé du professeur Dessemontet pour fixer les limites de la protection des programmes d'ordinateurs sous l'angle du droit d'auteur (cf. consid. 5.1, 1er § in fine).
Les mêmes remarques peuvent être faites, mutatis mutandis, en ce qui concerne l'application de l'art. 11 al. 1 LDA. Ici aussi, la demanderesse tente de faire accroire, en substituant sa version des faits à celle retenue par la cour cantonale, que le nouveau module de performance de Y._ constitue une oeuvre dérivée de ce logiciel, qui aurait été développée en violation du droit de la demanderesse à l'intégrité de son oeuvre.
Les mêmes remarques peuvent être faites, mutatis mutandis, en ce qui concerne l'application de l'art. 11 al. 1 LDA. Ici aussi, la demanderesse tente de faire accroire, en substituant sa version des faits à celle retenue par la cour cantonale, que le nouveau module de performance de Y._ constitue une oeuvre dérivée de ce logiciel, qui aurait été développée en violation du droit de la demanderesse à l'intégrité de son oeuvre.
6. La demanderesse avait encore invoqué une quinzaine d'infractions à l'accord du 3 août 1993, engageant la responsabilité contractuelle des défenderesses (art. 97 ss CO).
6. La demanderesse avait encore invoqué une quinzaine d'infractions à l'accord du 3 août 1993, engageant la responsabilité contractuelle des défenderesses (art. 97 ss CO).
6.1 6.1.1 Selon la demanderesse, D._ aurait violé l'art. 1bis de l'accord du 3 août 1993 en ne sollicitant pas l'accord de A._ quant à "l'intervention de L._" et du fait "qu'elle n'a rien fait pour que L._, en tant que filiale à 100% du groupe O._, respecte l'accord du 3 août 1993".
L'art. 1bis de l'accord du 3 août 1993 prévoit que la distribution de X._ par d'autres sociétés que P._ ou ses filiales nécessite l'accord de A._.
La cour cantonale met l'accent sur le fait que cette clause contractuelle a trait à la distribution de X._ et non, de manière générale, à l'intervention de tiers, le terme d'"intervention" utilisé par la demanderesse étant par ailleurs assez vague. Or, selon elle, les pièces du dossier et les témoignages recueillis ne fournissent aucun élément permettant de conclure que L._ aurait distribué le produit faisant l'objet de l'accord du 3 août 1993. La violation de la disposition citée n'a donc pas été établie (arrêt attaqué, consid. 7.2., p. 50 s.).
6.1.2 La demanderesse fait grief aux juges précédents de n'avoir pas retenu que, suite au montage mis en place par le groupe O._ - à savoir, la création de L._, la reprise par cette société du personnel et de l'activité du département private banking de P._ et la cession de son capital-actions à J._, ceci sans l'accord de A._ -, l'art. 1bis dudit accord avait été violé (cf. recours, ch. 209 à 215).
6.1.3 En argumentant ainsi, la demanderesse soulève un moyen sans rapport avec le motif retenu par la cour cantonale pour exclure la violation de la clause contractuelle en question et donc tout à fait impropre à démontrer l'existence d'une violation de cette clause.
Ainsi que le souligne clairement la Cour de justice, ladite clause porte sur la distribution de X._ VA, ce que la demanderesse ne conteste pas. Pour le reste, les juges du fait ont constaté qu'une distribution, par L._, du produit visé par l'accord du 3 août 1993 n'avait pas été établie. Cette constatation, qui lie la juridiction fédérale de réforme, prive de tout fondement le grief tiré de la violation de la susdite clause.
6.2 L'art. 2 (b) de l'accord du 3 août 1993 prévoit que D._ jouit d'une exclusivité pour distribuer Y._ dans sa version intégrée à X._ VA en Suisse, au Liechtenstein et au Luxembourg.
6.2.1 La demanderesse reprochait à A._, d'une part, d'avoir arrêté la prospection pour la distribution de X._ en dehors de la Suisse au 31 octobre 1993 et, d'autre part, d'avoir inclus la banque S._ parmi les six banques auxquelles une licence était accordée comme clientes du groupe O._ pour un montant forfaitaire de 100'000 fr., alors que le contrat avec cette banque n'a été signé qu'au mois d'octobre 1993.
S'agissant du premier grief, les juges genevois constatent, tout d'abord, qu'il n'a pas été établi, ni même allégué, que X._ VA n'ait pas été proposé avec Y._ dans les pays susmentionnés, de sorte qu'une violation de l'art. 2 (b) de l'accord de distribution ne saurait être retenue (1). Ils observent, par ailleurs, que si la prospection à l'étranger a effectivement été stoppée à un moment donné, elle a toutefois repris par la suite (2). On ne saurait non plus reprocher, selon eux, à D._ de ne pas avoir développé à grande échelle la distribution d'un produit qui n'était pas encore techniquement irréprochable (3). Au demeurant, l'art. 2 (b) de l'accord litigieux conférait à D._ le droit exclusif de distribuer X._ VA dans les pays indiqués par lui, mais ne l'obligeait pas à distribuer ce logiciel ou à octroyer un nombre minimum de licences (4).
En ce qui concerne la banque S._, la cour cantonale dit ne pas comprendre, sans autre explication, en quoi la mention de cet établissement bancaire à l'Annexe 11 pourrait constituer une violation de l'art. 2 (b) de l'accord de distribution. Elle ajoute que, de toute façon, l'Annexe 11 ne précise pas que l'octroi d'une licence à un prix forfaitaire nécessite qu'un contrat portant sur Y._ soit déjà conclu. Or, poursuit-elle, les négociations avec cette banque étaient en cours à l'époque de la conclusion de l'accord du 3 août 1993.
Sur la base de cette argumentation, la Cour de justice écarte le moyen relatif à la violation de l'art. 2 (b) de l'accord de distribution (arrêt attaqué, consid. 7.3, p. 51 s.)
6.2.2 Les juges cantonaux se voient reprocher par la demanderesse d'avoir prétendu que D._ était autorisée à violer l'accord de distribution au motif que le produit X._ VA n'aurait pas encore été techniquement irréprochable. Ce motif serait, au demeurant, contraire aux pièces du dossier, lesquels attesteraient, d'une part, que les problèmes rencontrés étaient dus à l'installation de Y._ et, d'autre part, que la prospection de nouveaux clients avait été restreinte pour des raisons purement économiques.
Quant à la banque S._, la demanderesse reproche aux juges précédents d'avoir inclus indûment cet établissement bancaire dans la catégorie, visée par l'art. 2 (b) de l'accord de distribution, des clients de O._ qui avaient déjà installé un autre système de gestion de portefeuilles que X._ VA et pour lesquels l'Annexe 11 prévoyait l'octroi par A._ à D._ d'une licence à un prix forfaitaire avantageux. Selon elle, cette banque n'aurait pas dû être mentionnée dans l'Annexe 11 puisqu'elle n'avait pas encore conclu de contrat portant sur l'achat du logiciel Y._ lors de la signature de l'accord de distribution. Il ne résultait d'ailleurs nullement de la disposition contractuelle en cause que le simple fait d'être en négociation permettait de considérer que le client du groupe O._ avait déjà installé ou commandé un autre système de gestion de portefeuilles.
Cela étant, la violation de l'art. 2 (b) de l'accord du 3 août 1993 serait avérée (cf. recours, ch. 216 à 224).
6.2.3 Le reproche fait à la cour cantonale d'avoir cautionné une violation de l'accord de distribution est purement gratuit. Il ne porte d'ailleurs que sur l'un - celui auquel a été attribué le n° 3 ci-dessus - des quatre motifs, indépendants, par lesquels les juges genevois ont écarté la violation alléguée.
Pour ce qui est du cas de la banque S._, la Cour de justice constate que la demanderesse ne lui a pas fourni les explications nécessaires qui lui auraient permis de vérifier en quoi la mention de cet établissement bancaire à l'Annexe 11 pourrait constituer une violation de l'art. 2 (b) de l'accord de distribution. Or, dans son acte de recours, la demanderesse n'indique pas si et, le cas échéant, dans quelle écriture elle avait fourni de telles explications à l'autorité cantonale. Elle est donc malvenue à lui reprocher de n'avoir pas compris de quoi il en retournait. L'intéressée est du reste tout aussi avare d'explications dans son acte de recours, qui revêt ici, une fois de plus, un caractère appellatoire manifeste.
Le moyen pris de la violation de la disposition examinée est, dès lors, irrecevable.
Le moyen pris de la violation de la disposition examinée est, dès lors, irrecevable.
6.3 6.3.1 La demanderesse avançait que l'installation de X._ VA sur le système interne de L._ constituait une violation de l'art. 3.1 de l'accord de distribution. L'art. 3 dudit accord prévoit, en préambule, qu'au moment de l'entrée en vigueur de l'accord, A._ est réputée avoir octroyé à D._ diverses licences, et notamment, selon l'art. 3.1, des licences pour l'usage interne de cette dernière.
A cet égard, la cour cantonale constate que l'art. 3.1 de l'accord ne comporte aucune obligation à la charge de D._. Elle en déduit que la demanderesse ne saurait en tirer avantage. Selon elle, une violation de cette disposition pourrait tout au plus être invoquée par D._, si A._ ne lui avait pas fourni de licences pour son usage interne. Par conséquent, le fait que L._ dispose d'une licence X._ VA sur son système interne ne peut pas constituer, en lui-même, une violation de l'art. 3.1 (arrêt attaqué, consid. 7.4, p. 52 s.).
6.3.2 A cette argumentation, la demanderesse oppose le fait qu'il ressort clairement de la disposition citée que les licences pour l'usage interne sont octroyées à D._. Cette société avait ainsi l'obligation de ne plus utiliser le code d'accès associé à la licence octroyée dès l'expiration de celle-ci. En installant X._ VA sur le système interne de L._, filiale de J._, la défenderesse aurait dès lors violé à l'évidence la disposition contractuelle précitée (cf. recours, n. 226 s.).
6.3.3 Le grief formulé par la demanderesse se limite à de simples affirmations. L'intéressée ne démontre pas, en revanche, en quoi le texte de l'art. 3.1 de l'accord de distribution exclurait l'interprétation qu'en a faite l'autorité cantonale, à savoir qu'il ne confère que des droits à D._ sans lui imposer d'obligations. Soutenir le contraire ne saurait remplacer semblable démonstration.
Au surplus, la demanderesse ne prétend pas avoir allégué et prouvé, en première instance, si et quand la licence octroyée à D._ pour son usage interne avait expiré, ni que la défenderesse aurait continué à utiliser le code d'accès après la date d'expiration de la licence.
Le moyen sera dès lors écarté.
Le moyen sera dès lors écarté.
6.4 6.4.1 Au titre de la violation des art. 4.3 et de l'Annexe 11, la demanderesse soutenait, devant la juridiction cantonale, que les dispositions en matière de paiement n'avaient pas été respectées par D._, des retards dans les paiements s'étant produits, ce que D._ admettait d'ailleurs.
Pour écarter ce grief, les juges genevois constatent que A._ n'allègue pas que, au jour du jugement, des factures resteraient encore impayées, pas plus qu'elle n'en sollicite le paiement. Aussi ne voient-ils pas ce que la demanderesse tente de tirer de la prétendue violation de l'art. 4.3 (arrêt attaqué, consid. 7.6, p. 53).
6.4.2 La demanderesse rétorque qu'il a été prouvé que le groupe O._ a toujours payé les factures de A._ avec de nombreux mois de retard, en invoquant de prétendus motifs administratifs. Peu importe, selon elle, qu'il les ait finalement acquittées. Le seul fait que ce groupe ait été en retard pour les honorer démontrerait que, dès le début des relations entre les parties, il n'entendait absolument pas respecter ses obligations contractuelles (cf. recours, ch. 228 s.).
6.4.3 Il est difficile de discerner ce que la demanderesse reproche au juste à la cour cantonale. Aussi bien, elle ne prétend pas au paiement d'intérêts moratoires sur les sommes qui lui ont été versées avec retard. On ne saurait d'ailleurs inférer du retard dans les paiements un indice sérieux quant à la volonté du débiteur de ne pas respecter ses autres engagements contractuels. Pareille généralisation est d'autant moins de mise en l'occurrence que la cause des paiements tardifs ne ressort pas de l'arrêt attaqué, si bien que l'on ne peut exclure, a priori, que le débiteur des paiements ait eu des raisons valables de les différer ou, à tout le moins, que les motifs l'ayant poussé à le faire aient été incompatibles avec la volonté que lui prête la demanderesse de ne pas respecter sa signature.
Par conséquent, le grief examiné ne peut pas être admis.
Par conséquent, le grief examiné ne peut pas être admis.
6.5 Selon la demanderesse, D._ n'aurait pas respecté la procédure de révision, prévue par l'art. 6.1.2 de l'accord de distribution, qui lui prescrivait d'informer A._ de toute modification de Y._ nécessitant une modification de X._ VA, de même que son obligation de lui fournir tous les éléments nécessaires pour lui permettre de se conformer à son obligation de maintenance et de mise à jour (art. 6.2 ter dudit accord).
6.5.1 Au sujet de ce moyen, les juges cantonaux observent, dans une remarque préalable, que la procédure de révision prévue par le contrat n'était, dans les faits, pas appliquée par les deux parties.
Examinant toutefois si, en relation avec l'introduction de la fonction TVA et, de manière plus générale, avec l'introduction de la version 1.8-2 de Y._, la procédure de révision aurait dû être utilisée, la cour cantonale argumente comme il suit: la procédure de révision doit être utilisée dans l'hypothèse où l'évolution de Y._ rend une révision du "Produit" nécessaire, et non, de manière générale, à chaque fois qu'une modification est apportée à ce logiciel. Une révision est nécessaire quand des éléments communs aux deux logiciels sont touchés. Selon D._, la version 1.8-2 de Y._ est parfaitement compatible avec la version de X._ qui était utilisée concurremment, de sorte qu'il n'y avait pas lieu de recourir à la procédure de révision. Or, la demanderesse, qui a le fardeau de la preuve sur ce point, n'a pas prouvé que les blocages de X._ qui sont intervenus après l'installation de la version 1.8-2 de Y._ seraient dus à une incompatibilité entre les deux logiciels, qui aurait nécessité une révision. Par conséquent, en l'absence de preuve sur ce point, une violation des art. 6.1.2. ou 6.2ter de l'accord ne peut être retenue à la charge de D._ ou des autres défenderesses (arrêt attaqué, consid. 7.7, p. 53 s.).
6.5.2 Dans son recours en réforme (ch. 230 à 244), la recourante s'en prend tout d'abord à la constatation de la cour cantonale selon laquelle les parties étaient convenues tacitement de ne pas mettre en oeuvre la procédure formelle de révision prévue dans l'accord de distribution. Cette constatation, infirmée par les preuves ressortant du dossier, violerait l'art. 8 CC.
En outre, il ne résulterait pas de la définition des révisions figurant à l'art. 1.5 de l'accord en question qu'une révision n'était nécessaire que si des éléments communs aux deux logiciels étaient touchés.
Enfin, les juges précédents auraient violé l'art. 8 CC en n'admettant pas que les blocages de X._ VA étaient intervenus après l'installation de la version 1.8-2 de Y._, en raison d'une incompatibilité entre les deux logiciels, ce qui aurait nécessité une révision.
6.5.3 Sous le couvert du grief tiré de la violation de l'art. 8 CC, c'est à l'appréciation des preuves, telle qu'elle a été effectuée souverainement par les juges cantonaux, que s'en prend la demanderesse tant en ce qui concerne la renonciation tacite des parties à la mise en oeuvre de la procédure formelle de révision que pour ce qui est de la cause du blocage de X._ VA. Partant, le recours est manifestement irrecevable sur ces points-là.
Au demeurant, l'art. 1.5 de l'accord de distribution, cité par la demanderesse sous ch. 231 de son acte de recours, fait certes état des "adaptations du produit nécessitées par l'évolution du système informatique de Y._ ...", mais ne précise pas quand cette évolution nécessite de telles adaptations. Le déterminer était donc aussi une question ressortissant aux faits. Par conséquent, c'est bien une constatation de fait que la cour cantonale a posée en affirmant qu'une révision n'eût été nécessaire, en l'espèce, que si des éléments communs aux deux logiciels avaient été touchés. Cette constatation lie la juridiction fédérale de réforme.
Il s'ensuit l'irrecevabilité du recours sur ce point.
Il s'ensuit l'irrecevabilité du recours sur ce point.
6.6 6.6.1 Selon l'art. 8 de l'accord du 3 août 1993, D._ doit, à niveau de services et à prix égaux, sous-traiter en priorité à A._ les services de consultation liés à la distribution du "Produit". Plus généralement, elle s'efforcera de protéger les intérêts commerciaux et industriels de A._.
Dans un premier temps, la cour cantonale s'emploie à démontrer que D._ n'a pas violé cette disposition en tant qu'elle a trait à la question de la sous-traitance.
Examinant ensuite la mention selon laquelle D._ doit "de manière générale" faire de son mieux pour sauvegarder les intérêts de A._, la Cour de justice considère que, du fait de sa formulation très vague, cette mention ne permet pas à A._, en l'absence d'autre explication, d'en tirer quoi que ce soit, les intérêts de la demanderesse étant par ailleurs déjà protégés par d'autres dispositions spéciales (arrêt attaqué, consid. 7.8, p. 55).
6.6.2 La demanderesse précise qu'elle n'a jamais allégué que certaines tâches auraient dû lui être sous-traitées, si bien que les considérations émises par les juges précédents à ce sujet sont hors de propos.
Quant à la question de la sauvegarde de ses intérêts, la demanderesse soutient que la cour cantonale a violé les principes généraux touchant l'interprétation des contrats en excluant que la mention topique figurant à l'art. 8 de l'accord de distribution lui permît d'en tirer un quelconque droit en sa faveur. Les premiers juges auraient dû admettre, bien plutôt, la nécessité pour D._ d'informer A._ de l'intervention de L._ dans l'exécution de l'accord de distribution. L'examen des nombreux contrats conclus entre les défenderesses démontrerait, de surcroît, qu'aucune clause visant à protéger les intérêts commerciaux et industriels de A._ n'y figure, fait corroboré par plusieurs témoignages (cf. recours, ch. 245 à 249).
6.6.3 Du propre aveu de la demanderesse, le problème de la sous-traitance n'a jamais été litigieux. Il y a lieu d'en prendre acte.
Pour le reste, la cour cantonale a estimé ("en l'absence de toute explication") que la demanderesse n'avait pas suffisamment allégué ni démontré en quoi D._ aurait violé son devoir de protéger les intérêts commerciaux et industriels de A._. Cet argument suffit à écarter le grief qui lui est fait d'une violation de la clause contractuelle précitée. Au surplus, le fait allégué par la demanderesse pour illustrer cette violation ne ressort pas des constatations de la cour cantonale et ne peut, dès lors, pas être pris en considération à ce stade de la procédure.
Le moyen pris de la violation de l'art. 8 de l'accord de distribution est ainsi dénué de fondement.
Le moyen pris de la violation de l'art. 8 de l'accord de distribution est ainsi dénué de fondement.
6.7 6.7.1 Les juges cantonaux retiennent - seule infraction admise par eux - que le signe "copyright" de A._ aurait dû également figurer sur les "release notes" et que D._, en ne l'y apposant pas, a effectivement enfreint l'art. 10 de l'accord du 3 août 1993.
Cependant, comme la demanderesse n'a pas prouvé que l'absence de mention du signe "copyright" était en relation de causalité tant naturelle qu'adéquate avec un éventuel dommage, la cour cantonale écarte également la prétention élevée de ce chef (arrêt attaqué, consid. 7.9, p. 56 s.).
6.7.2 Pour la demanderesse, il est certain que la violation retenue fait partie d'un ensemble d'autres violations contractuelles ayant entraîné un dommage correspondant à l'investissement de A._ pour le développement du logiciel X._ qui, aujourd'hui, aurait totalement disparu du marché en raison des agissements du groupe O._.
Dès lors, les conditions de la responsabilité contractuelle, au sens des art. 97 ss CO, seraient réalisées (cf. recours, ch. 250 à 252).
6.7.3 La cour cantonale a constaté, notamment, que l'existence d'un lien de causalité naturelle entre l'infraction retenue par elle et le dommage, au demeurant non prouvé, allégué par la demanderesse n'avait pas été établie par cette dernière. Cette constatation, qui relève du fait (cf. <ref-ruling> consid. 5d p. 456 et les arrêts cités), ne peut pas être revue dans le cadre de la présente procédure. Or, elle suffit, à elle seule, à justifier le rejet de l'action fondée sur la responsabilité contractuelle des défenderesses. Il s'ensuit l'irrecevabilité du grief tiré de la violation de l'art. 10 de l'accord de distribution.
Au demeurant, il est erroné de parler d'un ensemble de violations contractuelles, comme le fait la défenderesse pour étayer son grief, puisque les juges précédents n'ont reconnu qu'une seule et unique infraction au contrat.
Au demeurant, il est erroné de parler d'un ensemble de violations contractuelles, comme le fait la défenderesse pour étayer son grief, puisque les juges précédents n'ont reconnu qu'une seule et unique infraction au contrat.
6.8 6.8.1 La demanderesse reprochait, en outre, à D._ d'avoir violé l'art. 11.2 de l'accord du 3 août 1993, lequel accordait aux parties le droit de faire connaître à des tiers, à des fins de promotion et/ou de communication, l'existence de l'accord, mais leur interdisait d'en divulguer le contenu sans l'accord écrit et préalable de l'autre partie. Elle avait produit, à l'appui de ses dires, une lettre du 25 janvier 1995 d'un conseil américain de J._ qui évoque l'accord et indique, en substance, que L._ n'est pas tenue par les termes de celui-ci (pièce 83 A._).
De l'avis de la cour cantonale, ce courrier, qui constitue une réponse à une lettre du conseil de A._ à L._, n'établit nullement que le contenu de l'accord de distribution aurait été divulgué par D._, mais, tout au plus, que cette dernière en aurait révélé l'existence, ce qui était autorisé par la disposition contractuelle en cause. Il n'est par conséquent pas établi que celle-ci ait été violée (arrêt attaqué, consid. 7.10, p. 57 s.).
6.8.2 La demanderesse rétorque que, si le conseil américain parle, dans la susdite lettre, des termes de l'accord, c'est bien que sa mandante a eu connaissance du contenu de celui-ci.
Au demeurant, si L._ n'a eu connaissance que de l'existence de l'accord de distribution, ce n'était certainement pas à des fins de promotion et/ou de communication.
Ainsi, l'art. 11.2 dudit accord aurait bien été violé, à suivre la demanderesse (cf. recours, ch. 253 à 256).
6.8.3 Savoir si le contenu de l'accord du 3 août 1993 a été divulgué à un tiers est une pure question de fait. De même, déterminer à quelles fins l'existence de cet accord a été révélée à un tiers est une démarche qui procède de l'appréciation des preuves et qui ressortit également au domaine des faits. Aussi la demanderesse critique-t-elle en pure perte la réponse qui a été donnée à cette question par la cour cantonale.
Le recours est irrecevable sur ce point.
Le recours est irrecevable sur ce point.
6.9 La cour cantonale a exclu la violation alléguée de l'obligation de confidentialité stipulée à l'art. 13 de l'accord du 3 août 1993 au motif que les défenderesses n'avaient pas eu accès au code source (arrêt attaqué, consid. 7.11, p. 58).
Pour établir la violation de cette clause contractuelle, la demanderesse se borne à renvoyer le Tribunal fédéral aux explications qu'elle a fournies précédemment sur la question de l'accès au code source (cf. recours, ch. 257 à 259). Ce problème ayant déjà été traité par ailleurs, il n'y a pas lieu d'y revenir (cf. consid. 4.3.3 et 4.4.3).
6.10
6.10.1 Selon la demanderesse, L._, en violation de l'art. 14 de l'accord de distribution, avait développé dans Y._ une fonction concurrente à X._ VA, relative au calcul de performance, lequel pouvait désormais s'effectuer entre deux dates "paramétrables", et non plus uniquement depuis une date quelconque.
Par l'art. 14 de l'accord du 3 août 1993, D._ s'était engagée, pour la durée de l'accord, à ne pas développer, acheter ou distribuer pour les pays pour lesquels elle avait un droit exclusif de distribution de X._ VA, des "produits similaires au Produit destinés au créneau du private banking".
Pour exclure une infraction à cette disposition, les juges précédents ont tenu le raisonnement suivant: l'art. 14 ne définit pas ce qu'il faut entendre par "similaires" et la demanderesse ne précise pas la manière dont ce terme devrait être interprété à son avis. On peut cependant en déduire que la volonté des parties était, par cette disposition, d'empêcher D._ de concurrencer A._ avec un produit présentant les mêmes caractéristiques et assurant les mêmes fonctions et qui pouvait donc remplacer X._ VA auprès des clients. Par ailleurs, comme cette clause de l'accord se réfère au "Produit", il n'est pas possible de ramener l'interdiction de développer un produit similaire au seul module de performance de X._ VA, cette interdiction devant s'entendre par rapport à ce logiciel dans son ensemble. A cet égard, l'existence d'un module de performance au sein de la version 1.8-2 de Y._ ne saurait constituer, à elle seule, une infraction à la disposition précitée puisque Y._ contenait déjà un module de performance lors de la conclusion de l'accord du 3 août 1993, même s'il était moins performant que celui de X._ VA. Au demeurant, de l'avis même des utilisateurs de X._ VA, qui est le point de vue déterminant, la version 1.8-2 de Y._ n'a pas remplacé ce logiciel, car il a fallu attendre l'intégration, après la fin de l'accord, d'un autre logiciel - le logiciel U._/V._ - pour effectuer les fonctions qui devaient être assurées par X._ VA. Le module de performance utilisé dans la version 1.8-2 de Y._ ne saurait donc constituer un produit similaire au "Produit", au sens de l'art. 14 de l'accord du 3 août 1993, dans la mesure où il faut considérer X._ VA dans son ensemble et où, selon les utilisateurs, ce n'est pas la version 1.8-2 de Y._ qui a remplacé X._ VA, mais le logiciel U._/V._ (arrêt attaqué, consid. 7.12, p. 59 s.).
6.10.2 Selon la demanderesse, la cour cantonale aurait, à tort, donné du produit "similaire" une définition correspondant en fait à celle du produit "identique". En outre, au vu du partenariat liant les cocontractants, il serait indiscutable, à l'en croire, que le produit similaire visait le module de performance et ses spécificités.
Or, toujours selon la demanderesse, comme il n'a pas été contesté dans la procédure que le logiciel Y._ est désormais doté d'un nouveau module de performance permettant un calcul dynamique et qu'il est également admis que le nouveau logiciel U._/V._ n'est pas doté d'un module de performance, il serait ainsi prouvé que le groupe O._ a développé un produit similaire, en violation de l'art. 14 de l'accord de distribution (cf. recours, ch. 260 à 267).
6.10.3 Les premiers juges constatent, dans leur arrêt, que la demanderesse ne leur a pas indiqué de quelle manière le terme "similaire", utilisé à l'art. 14 de l'accord du 3 août 1993 devait être interprété, selon elle. Aussi l'intéressée ne peut-elle venir leur reprocher aujourd'hui de n'avoir pas donné à ce terme le sens qu'elle lui prête mais au sujet duquel elle ne leur a pas fourni d'explications.
Au demeurant, on ne discerne pas en quoi la cour cantonale aurait méconnu la disposition contractuelle litigieuse en donnant à la notion de "Produit", qui y figure, une signification large, allant au-delà de l'acception étroite que la demanderesse voudrait lui prêter en la restreignant au module de performance et à ses spécificités. Le texte de cette disposition ne fournit en tout cas aucun appui à l'interprétation restrictive proposée dans le recours en réforme.
Pour le reste, la demanderesse ne critique pas valablement les déductions faites par la cour cantonale sur la base de son interprétation, non contraire au droit fédéral, de l'art. 14 de l'accord du 3 août 1993.
Le moyen pris de la violation de cette clause contractuelle tombe, dès lors, à faux.
6.11
Constatant que D._ a envoyé des rapports réguliers à A._, même s'il y a eu certains retards, et qu'il en ressort que les parties ont été régulièrement en contact pour la mise en oeuvre de l'accord de distribution, la cour cantonale considère que l'art. 15 dudit accord, relatif au devoir d'information incombant à D._, n'a pas été violé (arrêt attaqué, consid. 7.13, p. 60 s.) .
La demanderesse soutient, sans plus amples explications, que les magistrats genevois, ayant admis les retards apportés dans la transmission des rapports trimestriels, auraient dû reconnaître la violation alléguée, qui "peut paraître mineure" (cf. recours, ch. 268 s.).
Cette simple affirmation ne constitue pas une motivation en bonne et due forme du grief tiré de la violation de l'art. 15 de l'accord du 3 août 1993. Par conséquent, le recours est irrecevable sur ce point.
6.12
6.12.1 L'art. 16.2 de la convention du 3 août 1993 prévoit que D._ ne pourra céder l'accord, de même que tout droit ou obligation en découlant pour elle, qu'à P._ ou à l'une de ses filiales.
Pour écarter la violation alléguée de cette clause, la Cour de justice expose, entre autres motifs, qu'il n'y a pas eu de cession formelle de l'accord de D._ à L._, que cette dernière société n'a joué aucun rôle dans la distribution de X._ VA et que, de toute façon, une cession de l'accord à L._, filiale de D._, n'eût pas enfreint la clause contractuelle susmentionnée (arrêt attaqué, consid. 7.14, p. 61 s).
6.12.2 La demanderesse fait grief aux juges précédents d'avoir retenu, à tort, que la cession de l'accord par D._ ne pouvait se faire qu'avec le consentement de A._. Elle soutient en outre, que, grâce au montage mis en place par D._ - création de L._, reprise par L._ du département private banking de P._, puis vente de L._ à J._ -, l'interdiction de cession stipulée à l'art. 16.2 de l'accord de distribution a manifestement été contournée (cf. recours, ch. 270 s.).
6.12.3 Il faut admettre, avec la demanderesse, que l'art. 16.2 du contrat litigieux ne prévoit pas la possibilité pour D._ de céder l'accord à des tiers autres que P._ ou l'une des filiales de celle-ci moyennant le consentement de A._, même si l'on voit mal comment cette dernière société pourrait venir se plaindre de bonne foi de la violation de ladite clause dans l'hypothèse où elle aurait expressément consenti à une telle cession. Quoi qu'il en soit, l'inadvertance commise sur ce point par les premiers juges n'a pas eu d'incidence sur la solution du litige dès lors qu'ils ont admis que L._, la prétendue cessionnaire de l'accord, était une filiale du groupe O._.
Pour le surplus, la seule affirmation quant au prétendu contournement de l'interdiction de cession ne vaut pas démonstration de cette violation déguisée de l'accord de distribution. La demanderesse laisse, en particulier, intact l'argument selon lequel L._ n'a pas exercé les droits ni exécuté les obligations dérivant de l'accord du 3 août 1993, comme l'eût fait un cessionnaire, et n'a notamment pas joué de rôle dans la distribution de X._ VA.
Ce dernier grief est dès lors voué à l'échec.
Ce dernier grief est dès lors voué à l'échec.
7. Il ressort des explications précédentes que la responsabilité des défenderesses envers la demanderesse n'a pas été établie, quel que soit l'angle sous lequel on la considère. Par conséquent, la Cour de justice n'a pas violé le droit fédéral en déboutant la demanderesse de toutes ses conclusions.
Cela étant, il n'est pas nécessaire d'examiner les moyens soulevés dans le présent recours en rapport avec les autres conditions générales de la responsabilité civile (causalité et dommage).
Cela étant, il n'est pas nécessaire d'examiner les moyens soulevés dans le présent recours en rapport avec les autres conditions générales de la responsabilité civile (causalité et dommage).
8. La demanderesse, qui succombe, devra supporter les frais de la procédure fédérale (art. 156 al. 1 OJ) et verser des dépens aux défenderesses (art. 159 al. 1 OJ). Pour fixer le montant des dépens, le Tribunal fédéral tiendra compte du travail important qu'a nécessité la rédaction de la réponse en raison, notamment, de la longueur de l'acte de recours. D'un autre côté, il aura aussi égard au fait que les réponses déposées pour chacun des deux groupes de défenderesses et pour chacune des défenderesses représentées par Me Patrick Blaser sont quasiment identiques sur le fond.

Par ces motifs, le Tribunal fédéral prononce:
Par ces motifs, le Tribunal fédéral prononce:
1. La désignation des parties intimées représentées par Me Edmond Tavernier est rectifiée en ce sens que C._ BV et F._ GmbH deviennent, respectivement, B._ B.V. et E._ GmbH.
1. La désignation des parties intimées représentées par Me Edmond Tavernier est rectifiée en ce sens que C._ BV et F._ GmbH deviennent, respectivement, B._ B.V. et E._ GmbH.
2. Le recours est rejeté dans la mesure où il est recevable.
2. Le recours est rejeté dans la mesure où il est recevable.
3. Un émolument judiciaire de 20'000 fr. est mis à la charge de la recourante.
3. Un émolument judiciaire de 20'000 fr. est mis à la charge de la recourante.
4. La recourante versera à B._ B.V. et à E._ GmbH, créancières solidaires, une indemnité de 15'000 fr. à titre de dépens.
4. La recourante versera à B._ B.V. et à E._ GmbH, créancières solidaires, une indemnité de 15'000 fr. à titre de dépens.
5. La recourante versera à I._ Inc. et à K._ SA, créancières solidaires, une indemnité de 15'000 fr. à titre de dépens.
5. La recourante versera à I._ Inc. et à K._ SA, créancières solidaires, une indemnité de 15'000 fr. à titre de dépens.
6. Le présent arrêt est communiqué en copie aux mandataires des parties et à la Chambre civile de la Cour de justice du canton de Genève.
Lausanne, le 15 avril 2004
Au nom de la Ire Cour civile
du Tribunal fédéral suisse
Le président: Le greffier: