Tak jinak...
1) Jsem vývojář, dělám desku s Cortex-A5 s cenou řekněme 25€. Chce tam grafiku a Ethernet.
a) Sáhnu po OS a ovladačích s GPL, řekněme 1,5MLOC. Dopíšu 2kLOC vlastních úprav (řekněme měsíc práce) a zveřejním. Plat za SW licence neřeším, zaplatil jsem to zveřejněním.
b) Sáhnu po komerčním OS, měsíc řeším licenční podmínky a NDA, polovina věcí chybí a musím dopsat 50kLOC. >2 roky zpoždění, +10€ na náklady na vývoj + licencování SW
c) Kompromis, sáhnu po OS a ovladačích s ne zcela otevřeným kódem. Místo 2kLOC dopisuju 5kLOC, nemusím to platit.
(za sebe, A je optimální jak z pohledu rychosti vývoje, tak i ceny pro zákazníka)
2) Jsem obchodník, chci prodat zařízení. Zvolím alternativu, kdy
a) Neplatím SW licenci, jsem rychle na trhu
b) Jsem rychle na trhu, ale musím kvůli koupi licencí na SW zvednout cenu o 5€nad konkurenci
c) Budu trpělivě čekat, až vývojáři dokončí SW a konkurence schramstne trh
(za sebe, A dovoluje být rychlejší a levnější než konkurence)
3) Jsem majitel firmy a plánuju výrobu zařízení. Nejvýhodnější je pro mne:
a) Rychle upravit existující kód na notoricky známé platformě a zveřejnit pár řádků, ale získat za to násobně víc otestovanýho kódu
b) Platit licence a shánět někoho, kdo zná proprietální řešení 3. strany, nebo mu platit školení
c) Najmout navíc 10 vývojářů a 10 tesťáků.
(za sebe, volil bych A, shánění lidí a levnější konkurence nebo menší vývar jsou problém)
4) Jsem zákazník. Zakázku zadám někomu, kdo
a) vyvine to rychle za rozumnou cenu a ještě dodá zdrojáky
b) někomu, kdo je dražší a ještě kvůli licencím sám nemůžu dělat úpravy
c) Budu čekat na drahý řešení s nejistým výsledkem
(volil bych A, rychle a levně vyřeší moje potřeby a navíc zdarma dostanu bonus v podobě zdrojáků, kdyby dodavatel krachl)
Takže koho to vlastně omezuje? Zdá se, že např. symbióza ohledně jádra Linuxu vyhovuje všem, kdo ho používají...
Ono „MIT licence“ je dost mlhavý pojem a je lepší ho nepoužívat (podobně jako BSD, tam bylo taky několik variant licence s dost zásadními rozdíly).
Nicméně to, co se obvykle rozumí pod „MIT“ je licence X11, která s GPL kompatibilní je.
Jinak je dost dobrá stránka Various Licenses and Comments about Them, kde jsou popsané jednotlivé licence a jejich kompatibilita (a viz taky Code for the left border – podle barvy pruhu vlevo se pozná, do které kategorie daná licence patří).
Tak to ale furt není problém, protože:
1) Část pod NDA můžu použít jako binární blob, napsat wrapper na obecný funkce a zveřejnit ten svůj interface. S tím, že si uživatel musí stáhnout ještě odděleně ten binární blob (například protunelování dat z čtečky RFID přes sériovku, zpracování ve vlastním ovladači, nataženým přes modprobe).
2) zahrnout věco pod NDA do vlastní aplikace s jinou licencí, který jenom používá běhový prostředí (např. vlastní aplikace na Linuxu)
3) Nejčistší řešení je, pokud existuje alternativa, vybrat dodavatele, co nechce NDA. Ne jenom kvůli licencím, ale z principu - nemalá část licenčních poplatků nebo ceny HW jde na krmení právnické šepledi a čím víc tihle blbouni mají žrádla, tím větší mají hlad a začnou s vydíráním, patentovým trolováním apod.