A.- Depuis le 23 décembre 1998, X._ se trouve en détention préventive sous l'autorité du Juge d'instruction du canton de Vaud. Il est prévenu d'avoir participé à l'enlèvement de Stéphane Lagonico, perpétré à Lausanne le 21 décembre 1998 dans le but d'extorquer une rançon à sa famille. Il est soupçonné d'avoir recruté les individus chargés de l'enlèvement, puis d'avoir assuré la liaison entre eux et le principal concepteur du forfait; il aurait en outre personnellement pris part à d'autres actes préparatoires qui n'ont pas abouti, avant l'enlèvement effectivement exécuté, et se serait chargé de répartir la rançon espérée. La victime, menacée de mort, est demeurée séquestrée jusqu'à sa libération par la police, le jour de l'arrestation de X._. Celui-ci a présenté une demande de mise en liberté que le Juge d'instruction a rejetée en raison du risque de fuite, par ordonnance du 15 mars 2000. Le prévenu a recouru sans succès au Tribunal d'accusation du Tribunal cantonal, qui a confirmé l'ordonnance. L'arrêt de cette juridiction ne contient toutefois aucune allusion au risque de fuite. D'après ce prononcé, la mise en liberté doit être refusée surtout "en raison du trouble [qu'elle] porterait à l'ordre public": elle "apparaîtrait choquante au regard de la moralité publique" compte tenu de "l'importance du rôle tenu par le prévenu". Le Tribunal d'accusation retient en outre un risque de collusion, au motif que X._ est revenu à plusieurs reprises sur ses déclarations, en tentant constamment de minimiser son rôle, et qu'il pourrait donc être tenté "d'accorder sa version des faits" avec celle des autres prévenus et des témoins. Entre-temps, le 10 avril 2000, le Juge d'instruction a adressé aux parties l'avis que l'enquête serait prochainement close, et qu'elles disposaient d'un délai pour consulter le dossier et demander des investigations supplémentaires. B.- Agissant par la voie du recours de droit public, X._ requiert le Tribunal fédéral d'annuler l'arrêt du Tribunal d'accusation, rendu le 25 avril 2000, et d'ordonner sa mise en liberté. Il tient le motif tiré d'une prétendue atteinte à la moralité publique pour incompatible tant avec le droit cantonal applicable qu'avec l'art. 5 CEDH; il conteste l'existence d'un risque de collusion compte tenu que l'enquête est en principe terminée et que tous les prévenus et témoins ont été interrogés à plusieurs reprises; il se plaint enfin d'inégalité de traitement par rapport à d'autres prévenus qui ont obtenu, eux, leur mise en liberté. Une demande d'assistance judiciaire est jointe au recours. Invités à répondre, le Ministère public cantonal et les parties civiles, soit Stéphane Lagonico et sa famille, proposent le rejet du recours; le Tribunal d'accusation et le Juge d'instruction ont renoncé à déposer des observations. Le recourant a été autorisé à répliquer au Ministère public et aux parties civiles. 