Bendradarbiavimo programinė įranga, taip pat žinoma kaip darbo grupės palaikymo programinė įranga, yra kompiuterių programinė įranga, skirta padėti žmonių grupėms arba komandoms (dažnai skirtingose vietose) dirbti kartu užbaigiant projektą. Atvirojo kodo bendradarbiavimo programinė įranga yra nemokama arba nebrangi jos versija, leidžianti kūrėjams manipuliuoti kodavimu pagal savo poreikius, nors gali trūkti techninės pagalbos. Vienas iš pagrindinių atvirojo kodo bendradarbiavimo programinės įrangos aspektų yra programos tikslas, nes kai kuri bendradarbiavimo programinė įranga yra tinkama bendradarbiauti muzikoje, o kita programinė įranga yra labiau skirta projektų valdymui. Narių valdymas yra svarbi programinės įrangos ypatybė dideliems projektams, o programos diegimas, nesvarbu, ar tai būtų darbalaukis, ar žiniatinklis, nulems, kaip programa bus naudojama. Bendradarbiavimo funkcijos, pvz., galimybė bendrinti failus ar vaizdo pokalbiai, lems, kaip vartotojai dalinsis informacija.
Yra daug skirtingų atvirojo kodo bendradarbiavimo programinės įrangos aplinkų ir dauguma jų yra skirtos naudoti tam tikro tipo projektuose. Kai kurie yra skirti bendradarbiauti muzikoje, kai kurie skirti projektų valdymui ir turinio svetainėms, o kiti – verslo pastangoms. Nors muzikinio bendradarbiavimo programinė įranga gali būti naudojama projektų valdymui, niša nulems, kokius modulius programa iš anksto įdiegė, todėl ta programa geriau tinka konkrečiam tikslui.
Atvirojo kodo bendradarbiavimo programinė įranga bus diegiama darbalaukyje arba žiniatinklyje; Tai reiškia, kad programa bus atidaryta vartotojo darbalaukio ekrane arba interneto programoje. Jei nėra sunku prisijungti prie interneto, žiniatinklis paprastai yra lengvesnis, nes jis gali veikti bet kuriame kompiuteryje, nepriklausomai nuo operacinės sistemos (OS) ar aparatinės įrangos. Jei sunku rasti interneto signalą, darbalaukio versijos greičiausiai bus geresnės.
Bendradarbiavimo aplinkoje vartotojai turi dalytis informacija, kad kiekvienas narys žinotų, kas vyksta, ir turėtų informacijos, būtinos užduočiai atlikti. Šiuo tikslu atvirojo kodo bendradarbiavimo programinė įranga turėtų būti supakuota su daugybe skirtingų būdų, kaip vartotojai galėtų integruotis vieni su kitais. Pavyzdžiui, būtinos funkcijos, leidžiančios vartotojams kalbėtis, siųsti el. laiškus, įkelti ir atsisiųsti failus bei planuoti susitikimus. Taip pat yra papildomų funkcijų, pvz., vaizdo pokalbių ir projektų tinklaraščių, kurios gali padėti valdyti bendradarbiavimo pastangas, tačiau taip pat gali būti nereikalingos, priklausomai nuo vartotojų.
Daugumai atvirojo kodo bendradarbiavimo programinės įrangos reikalingas administratorius, galintis įtraukti ir valdyti komandos narius. Programinė įranga turėtų leisti administratoriui padidinti arba sumažinti vartotojo teises, sugrupuoti narius į komandas ir kurti narių profilius. Tai padės komandai veikti kaip vienetui, taip pat sukurs komandų grandinę ir parodys nariams, su kuo jie turi dirbti.