Un' applicazione può essere progettata in modo che gli stessi Group siano usati da molti client. In questi casi l'utilizzo dei Group pubblici del server fornisce un meccanismo per client e server per condividere questi Group.
Groups pubblici possono essere creati dal server o da un client. Quando sono creati dal client, vengono prima creati come group privati e dopo vengono convertiti in group pubblici con MoveToPublic.
Un client può enumerare i group pubblici disponibili, dal nome, usando IOPCServer:: CreateGroupEnumerator. Per connettersi ad un group pubblico basta invocare il metodo GetPublicGroupByName. Con IEnumOPCItemAttributes si esaminano i contenuti del gruppo.
Si possono stabilire degli identificatori client e dei tipi di dati significativi per il particolare client usando varie funzioni IOPCItemMgt. Una volta che un client si è connesso a un group pubblico, quest'ultimo si comporta come se fosse un group privato. Il client può attivare e disattivare il group o items del group. Può settare i tipi di dato desiderati per gli item del group. Tutte queste operazioni riguardano solo quel client particolare. Non incidono sul comportamento di altri clients connessi a quel group. L'unica restrizione è che non può aggiungere o rimuovere items