Risposta breve: la differenza è negli ecosistemi che rappresentano e nella base di clienti a cui ciascuno si riferisce.
Sono abbastanza sicuro di avere informazioni su Windows e potrebbe riguardare il suo mondo di sviluppo, che è principalmente il sistema operativo Windows con .NET framework e prodotti iconici come MS Office, Outlook, ecc. Questo mondo è strettamente legato alle licenze.
Mentre il mondo Linux (Unix) è completamente opposto alla licenza con molti prodotti open source come Open Office , Java, ecc. Quindi, gli sviluppatori di Unix world si oppongono sempre religiosamente al mondo Microsoft (Windows) come avidità aziendale, dove ogni prodotto dovrebbe essere pagato per primo.
Tuttavia, ci sono stati cambiamenti drastici nell'approccio allo sviluppo di software Microsoft in termini di open source. Grazie a GitHub e progetti software simili che ospitano siti Web e community di sviluppatori che li utilizzano e contribuiscono. Ad esempio, ASP.NET MVC è un framework open source, i pacchetti NuGet sono gratuiti.
Quindi, la differenza principale è nell'ecosistema che rappresentano. Tuttavia, nel mondo dello sviluppo web queste differenze sono insignificanti.
Dal punto di vista degli analisti aziendali, si tratta più della "base di clienti" che serve ad ogni ecosistema.