Yeni hizmetin kaynakları GNU C kütüphanesinin parçası olmak zorunda değildir (hatta olmamalıdır). Geliştiricinin kaynaklar ve tasarım üzerinde tam hakimiyeti olmalıdır. C kütüphanesi ile yeni hizmet modülü arasındaki bağları sadece arayüz işlevleri oluşturur.
Her modül burada açıklanan özel bir arayüz belirtimine göre tasarlanır. Şimdilik sürümü 2'dir (arayüzün 1. sürümü yetersizdi) ve bu NSS modülünün paylaşımlı kütüphane nesnesinin sürüm numarası olarak belirtilir: bu nesnelerin isimleri .2 uzantısını içerir. Eğer arayüz şimdikiyle uyumsuz olarak değitirilirse bu numara artacak ama eski arayüzü kullanan modüller hala kullanılabilir olacaktır.
Yeni hizmetin geliştiricileri modülün doğru arayüz numarası kullanılarak oluşturuduğundan emin olmak zorundadır. Yani, dosyanın ismi doğru tanımlanacak ve ELF sistemlerde paylaşımlı nesne ismi (so uzantısı) ayrıca bu numarayı içerecektir. Bir modül, bir ELF sisteminde GNU CC ile nesne dosyalarından şöyle derlenir:
gcc -shared -o libnss_NAME.so.2 -Wl,-soname,libnss_NAME.so.2 nesneler
Bu komut satırı hakkında daha fazla bilgi için: info gcc 'Options for Linking'
Yeni modülü, onu kullanacak kütüphane bulabilmelidir. Bu özdevimli ilintileyici seçenekleri kullanılarak yapılabilir, böylece ikilik nesne dosyasının yerleştirildiği dizini bulabilir. ELF sistemlerde bu, modülün bulunduğu dizini LD_LIBRARY_PATH ortam değişkenine ekleyerek yapılır.
Fakat bu, bazı uygulamalar bu değişkeni yoksaydığından (bunlar kullanıcının kimliğini kullanmazlar) daima mümkün olmaz. Bu nedenle, modülün kararlı sürümü özdevimli ilintileyicinin araştırdığı dizinlere konulması önem kazanır. Normalde bu dizin önek/lib dizini olmalıdır, burada önek derleme öncesi yapılandırma sırasında --prefix seçeneğinde belirtilen dizindir. Ama dikkatli olmalısınız: bu sadece, modül herhangi bir bozukluğa yol açmıyorsa yapılabilir. Sistem yöneticisi bu bakımdan dikkatli olmalıdır.