Open source betekent dat je de
programmacode (meestal in een taal als C, C++, of Java) volledig vrijgeeft, zodat iemand anders deze code kan nakijken, aan kan passen, of kan verbeteren. Meestal zit er in de code zelf documentatie bij zodat je als je 'm nakijkt je een beetje een idee hebt van wat wat doet. De term heeft dus enkel en alleen te maken met software, niet met hardware.
Het voordeel? Je bent niet van 1 enkel bedrijf afhankelijk die updates uitvoeren. Je code kan door meer mensen worden bekeken en verbeterd. Je code kan door mensen worden 'geport' naar andere operating systems en processors - als jij niks van Apple of Windows weet maar vrolijk programmeert in Linux kan iemand die wel z'n specialiteit heeft gemaakt van A of W de code overzetten, en opnieuw compileren. Als je bedrijfje failliet gaat en jouw code was open source, dan kan een stel vrijwilligers of een ander bedrijf die code overnemen en onderhouden. Met closed-source (waarbij je dus alleen de gecompileerde versie uitgeeft) kun je dat vergeten - failliet gaan of overgenomen worden betekent meestal dat je updates, bugfixes, en andere versies kan vergeten.
Het nadeel? Is er eigenlijk niet. Open source betekent niet dat je alles gratis moet weggeven. Het betekent ook niet dat er alleen maar hobbyisten aan werken (IBM en Sun zijn er ook mee bezig). Het betekent dat oudere programma's "gered" kunnen worden (
http://www.openaladdin4d.com/modules/news/ ). Het betekent dat kennis niet verloren gaat en dat je van code kan leren (best-practice, design patterns) omdat je er in kan kijken hoe iemand anders (en hoogstwaarschijnlijk beter in zijn vak) het heeft gedaan.
Kijk maar hier :
http://en.wikipedia.org/wiki/Open_source
Overigens staat er wel open source hardware tussen, maar dat houdt in dat je alle specificaties en dergelijke vrijgeeft van je chips. Dit betekent dat het schrijven van drivers voor andere operating systems heel makkelijk is, maar het verandert de hardware zelf niet.