Vorrei sapere/capire perchè non vengono sviluppati maggiormente driver o/e programmi per una distro desktop Gnu-Linux, tra le più diffuse o/e per una distro desktop BSD based, tra le più diffuse.
Mi chiedo cosa ti abbia dato quest'impressione. Ci sono intere categorie di software e driver che nascono prima su Linux e poi vengono portati su altri sistemi operativi. I linguaggi di programmazione si fanno su Linux, per esempio. Le nuove tecnologie hardware vengono testate su Linux
https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.11-PCI-64-GTs-PCIe-6.0
Inoltre, i driver non sono legati alla distribuzione, essendo parte del kernel. Quindi non ci sono distribuzioni che supportano meno hardware, filesystem, ecc... rispetto ad altre. A meno, ovviamente, di usare versioni vecchie del kernel, dove manca il componente X. O aver esplicitamente compilato il kernel escludendo il componente X.
Le distro desktop BSD semplicemente non esistono. GhostBSD è l'unica che ha ancora velleità sul desktop. NomadBSD è più che altro un esperimento per creare un sistema FreeBSD stateless. E sono entrambi basate su FreeBSD, perchè gli altri 3 BSD non hanno nessuna distribuzione desktop degna di nota. Paradossalmente, Debian/kFreeBSD e Gentoo/FreeBSD sono le più vicine ad essere distro desktop.
Resta il lato software applicativo ed è lì il problema delle millemila distro. Problema che sta sparendo gradualmente con l'adozione di Snap e Flatpak. E infatti Snapcraft.io ha un bel pò di software, anche commerciali.
Però riflettendoci, nulla vita ad azienda portare un determinato driver/software su una sola distro di Linux tra le più diffuse.
E infatti è quello che le società commerciali hanno sempre fatto. Software per Ubuntu, Redhat e SuSE. E gli altri si attaccano o portano il software per fatti loro ( vedi Archlinux ).
Un altro motivo che ho letto riguarda il tipo di licenza su cui si basano le distro Linux e che devono rispettare. Come minimo svariate aziende (intendo in generale) sarebbero d' accordo con il tipo di licenza che hanno le distro BSD based anzichè su quella Gnu-linux. Altro dubbio: Allora perchè per quanto riguarda FreeBSD oppure GhostBSD la situazione non cambia?
La licenza non c'entra. I software applicativi non devono rispettare la licenza GPL. Nulla che non non sia derivato o linkato da/con codice GPL deve rispettarne la licenza. Nessuno ti può impedire di creare un software proprietario, magari incorporando codice BSD, MIT e altre licenze permissive, e poi distribuirlo per Linux.
Quando si parla di licenza BSD, ci si riferisce al fatto che le aziende prendono codice BSD e lo usano nei loro prodotti, e non sono costrette a rilasciarne i sorgenti. Mentre se usi codice GPL, devi rilasciare i sorgenti del tuo programma, che devono ovviamente essere sotto GPL.
Ma tutto questo non c'entra niente con la possibilità di creare software closed ( o con altre licenze ) e distribuirlo per Linux.
I BSD non si sono sviluppati, perchè c'era già Linux. Per una volta la comunità non si è frammentata. Ed inoltre la BSD era vista come una licenza che permette alle multinazionali di "rubare" codice. Non è un segreto che lo stack di rete di Windows fosse basato ( non si sa adesso ) su quello di FreeBSD. Che macOS abbia preso grosse parti di Mach e FreeBSD. Che la Sony usi ampi pezzi di FreeBSD per i sistemi operativi delle sue Playstation ( pensavo che Orbis OS fosse in realtà FreeBSD, ma un ingegnere Sony mi ha confermato tempo fa che è un mix di codice proprietario, specialmente un microkernel proprietario, e codice FreeBSD ).
E senza pagare, ma soprattutto senza rilasciare i prodotti derivati come opensource. E questo ha infastidito la comunità open, che si è allineata alla FSF e alla GPL.
E poi ci fu una causa legale con la AT&T, perchè BSD violava i termini della licenza per la distribuzione del software ( questo perchè c'erano parte del codice AT&T in BSD ). Tutto questo rallentò il progetto e scoraggiò molti a contribuire, per paura di ripercussioni legali.
Una o più di queste aziende hanno sviluppato almeno un software o/e un driver per Gnu-Linux o distro desktop di BSD based.
Non esistono distro desktop di BSD, tranne cose usate da 10 gatti. Chi usa BSD parte dalla distribuzione ufficiale e la installa/customizzazione a suo piacimento.
La cooperazione di alcune aziende è dovuta agli enormi vantaggi in termini di parco software ( e anche reputazione ) ottenuti dal collaborare a progetti open. Per esempio, MS ha fornito un mucchio di patch per Linux, ma sono tutte orientate a portare Linux su Azure e, recentemente, a renderlo utilizzabile in WSL. Ma questo perchè c'è tanta gente che vuole Linux e che andrebbe altrove ( magari su AWS ) se MS non fornisse il supporto.
Ora ho scoperto che Maya 3D è disponibile anche per Ubuntu.
Maya esiste per Unix dal principio. Fu lanciato sulle workstation Silicon Graphics, che erano tutte Unix. Successivamente è stato portato su Windows e macOS.
Però ad es. Autocad è solo per Windows e Mac e non capisco il perchè.
Sarà perchè gli utenti Autocad usano Windows. E l'azienda non ha nessun incentivo a portarlo su Linux. Le aziende lavorano per i soldi, mica per la gloria.
Adobe Acrobat Reader DC, si però non capisco perchè Photoshop, Premiere etc..., no.
Perchè gli utenti Linux vogliono poter leggere, annotare e condividere i PDF. Ma non vogliono disegnare.
Per quanto riguarda lo sviluppo di driver tra i vari aspetti bisogna avere in possesso di tutte le informazioni/specifiche tecniche relative al compente etc... di cui si vuole/si ha la necessità di sviluppare il driver.
Per questo il 99% dei driver sono scritti dal produttore dell'hardware.
Com'è la situazione per lo sviluppo driver (compresi quelli base) in ambito desktop per quanto Gnu-linux e le distro BSD based? Intendo anche i pro/contro ed eventuali difficoltà rispetto a Windows/OS X.
Difficoltà? Linux ha un supporto hardware molto maggiore rispetto a Windows. Supporta periferiche embedded, in ambito industriale, che Windows o non supporta o supporta solo tramite specifiche versioni di driver+programmmi forniti dal produttore e spesso non aggiornati alle ultime versioni di Windows ( per questo trovi ancora bancomat o macchine industriali con Windows XP ).
Il modello di driver degli Unix è banale, decisamente più semplice di quello Windows. Apri un device node in /dev e da lì puoi comunicare col software applicativo. Una funzione init, una exit, e il kernel è contento di accogliere il tuo driver nella sua famiglia.
Poi mi piacerebbe includere nel discorso anche i videogiochi.
Stesso discorso del software normale. Si portano i giochi se la gente li vuole. Steam segna percentuali che non superano l'1% per Linux. Vuol dire che i gamer usano Windows ( e vogliono continuare ad usare Windows ) e infatti quasi tutti i gamer sono fan Windows.
Valve iniziò l'avventura su Linux perchè voleva lanciare SteamOS. E che io sappia, il progetto non mi pare abbia riscosso chissà quale successo.
Sui BSD è inutile lavorarci. Hanno percentuali d'utilizzo ridicole in ambito desktop/gaming/ufficio. Sono sistemi operativi da server e i server non giocano a Fortnite.
E infatti su FreeBSD girano alcuni giochi Steam ( e Wine ) ma tramite il linuxulator.
Secondo me, una persona che è solo inesperta o/e non conosce una o più determinate cose non è utonto. Ci vuole altro per essere utonto.
L'utonto non è tale perchè non sa, ma perchè non vuole applicarsi. E' la curiosità che manca a questa categoria di persone. E vale su tutte le questioni. Sono persone che a stento vogliono fare le cose che hanno imparato, magari a scuola. Non è gente che ha quella verve che la spinge ad indagare e capire qualsiasi cosa nuova gli capiti sotto gli occhi.
Per capirci. C'è un uomo che si chiama Con Kolivas. E' famosissimo nel mondo Linux per il suo contributo al software open, in particolare per i suoi scheduler ad alte prestazioni. Ebbene, quest'uomo è un anestesista!!!!
Ma c'ha sempre avuto quella predisposizione ad indagare cose nuove, quella curiosità fanciullesca. Ecco, l'utonto non ce l'ha! E' il tipo che si blocca davanti al PC perchè l'icona del browser è cambiata e vuole che arrivi "l'amico smanettone" e gli dica dove cliccare. Converrai con me, che il problema non è il know-how, ma l'elasticità mentale.