Yhteistyöohjelmisto, joka tunnetaan myös nimellä työryhmän tukiohjelmisto, on tietokoneohjelmisto, joka on suunniteltu auttamaan ihmisryhmiä tai -ryhmiä – usein eri paikoissa – työskentelemään yhdessä projektin loppuun saattamiseksi. Avoimen lähdekoodin yhteistyöohjelmisto on ilmainen tai edullinen versio tästä, jonka avulla kehittäjät voivat muokata koodausta omiin tarpeisiinsa, vaikka tekninen tuki saattaa puuttua. Yksi avoimen lähdekoodin yhteistyöohjelmiston ensisijaisista näkökohdista on ohjelman tarkoitus, koska jotkin yhteistyöohjelmistot sopivat musiikkiyhteistyöhön, kun taas toiset ohjelmistot on suunnattu enemmän projektinhallintaan. Jäsenten hallinta on tärkeä ohjelmisto-ominaisuus suurissa projekteissa, ja ohjelman käyttöönotto-sekä pöytäkone- että verkkopohjainen-määrää ohjelman käytön. Yhteistyöominaisuudet, kuten mahdollisuus jakaa tiedostoja tai videokeskustelu, määräävät, miten käyttäjät jakavat tietoja.
Avoimen lähdekoodin yhteistyöohjelmistoympäristöjä on monia erilaisia, ja useimmat niistä on tarkoitettu käytettäväksi tietyntyyppisissä projekteissa. Jotkut niistä on tehty musiikkiyhteistyöhön, toiset projektinhallintaan ja sisältösivustoihin ja toiset liiketoimintaan. Vaikka musiikin yhteistyöohjelmistoa voitaisiin käyttää projektinhallintaan, markkinarako määrittää, mitkä moduulit ohjelmalle on esiasennettu, jolloin ohjelma sopii paremmin tiettyyn tarkoitukseen.
Avoimen lähdekoodin yhteistyöohjelmiston käyttöönotto on joko työpöytä- tai verkkopohjaista; eli ohjelma avautuu joko käyttäjän työpöydän näytöllä tai Internet -ohjelmassa. Ellei Internetiin siirtyminen ole vaikeaa, verkkopohjainen on yleensä helpompaa, koska se voi toimia millä tahansa tietokoneella käyttöjärjestelmästä tai laitteistosta riippumatta. Jos Internet -signaalin löytäminen on vaikeaa, työpöytäversiot ovat todennäköisesti parempia.
Yhteistyöympäristössä käyttäjien on jaettava tietoja, jotta jokainen jäsen tietää mitä tapahtuu ja että hänellä on tehtävän suorittamiseen tarvittavia tietoja. Tätä varten avoimen lähdekoodin yhteistyöohjelmiston tulisi olla täynnä erilaisia tapoja, joilla käyttäjät voivat integroitua keskenään. Tarvitaan esimerkiksi ominaisuuksia, joiden avulla käyttäjät voivat keskustella, lähettää sähköpostia, ladata ja ladata tiedostoja sekä ajoittaa kokouksia. Siellä on myös laajennettuja ominaisuuksia, kuten videokeskustelu ja projektiblogit, jotka voivat auttaa hallitsemaan yhteistyötoimia, mutta voivat myös olla tarpeettomia käyttäjistä riippuen.
Useimmat avoimen lähdekoodin yhteistyöohjelmistot edellyttävät järjestelmänvalvojaa, joka pystyy lisäämään ja hallitsemaan tiimin jäseniä. Ohjelmiston pitäisi antaa järjestelmänvalvojalle mahdollisuus lisätä tai vähentää käyttöoikeuksia, ryhmittää jäseniä tiimeiksi ja rakentaa profiileja jäsenille. Tämä auttaa tiimiä toimimaan yhtenä yksikkönä ja luo myös komentoketjun ja näyttää jäsenille, kenen kanssa heidän on työskenneltävä.