Az Oz programozási nyelv egy adott könyvtárra épül, amit modulokkal ki lehet egészíteni.
Minden paradigmához külön könyvtárakat készítettek a készítők, de külön modul van a megosztott számításokra, az internetes alkalmazások fejlesztésére, filekezelésre, operációs rendszerek kezelésére, memóriakezelésre és ablakkezelésre is.
A modul (más néven csomag) olyan eljárásoknak, osztályoknak, objektumoknak, stb. a gyűjteménye, melyek egymással szorosan összefüggnek, és együtt egy jól definiált szolgáltatást nyújtanak. Egy modul tipikusan több privát és több interfész eljárásból áll. A privát eljárások csak a modulon belülről, míg az interfész eljárások a modulon kívülről is hívhatók. A nyelv támogatja modul specifikációkat, erre egy funktornak nevezett koncepciót használ. A funktor egy kifejezés, mely a modulnak egy komponensét határozza meg: