ReactOS: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Aggiunta citazione a riprova di ciò che è stato scritto.
Nessun oggetto della modifica
Riga 26:
'''ReactOS''' (in precedenza conosciuto col nome '''FreeWin95''') è un [[sistema operativo]] [[Software libero|libero]] [[Open source|open-source]] che si pone l'obiettivo di essere totalmente compatibile con il [[codice oggetto]] delle [[Applicazione (informatica)|applicazioni]] e dei [[driver]] realizzati per [[Microsoft]] [[Windows NT]] 5 e versioni successive ([[Windows 2000]], [[Windows XP|XP]], [[Windows Server 2003|2003]], [[Windows Vista|Vista]], [[Windows 7|7]], [[Windows 8|8]] e [[Windows 10|10]]).
 
Il termine è stato coniato dal fondatore del progetto Jason Filby, uno sviluppatore di [[Oracle Database]] di Durban, in Sud AfricaSudafrica. "OS" sta per "sistema operativo" mentre "React" sta alla disapprovazione di massa verso Microsoft e la sua posizione monopolistica e quindi alla necessità di una "Reazione". Attualmente il progetto si trova nello stadio di [[sviluppo (informatica)|sviluppo]] ''[[Collaudo del software#Il collaudo Alfa|alpha]]'' e gli stessi sviluppatori ne sconsigliano l'impiego per le attività di tutti i giorni a causa della sua instabilità, anche se l'85% degli obiettivi è stato raggiunto nel novembre del [[2005]].
 
== Storia ==
Riga 32:
Intorno al 1996 un gruppo di sviluppatori open source avviò un progetto chiamato ''FreeWin95'', con l'intento di implementare un sistema operativo compatibile con [[Windows 95]]. Il progetto si arrestò alle discussioni riguardanti la progettazione del sistema, perché Windows 95 appariva carente in molte delle caratteristiche richieste.
 
Pertanto alla fine del 1997 i membri del progetto cambiarono il "sistema obiettivo" in Windows NT ede il nome stesso del progetto fu modificato in ''ReactOS''; il progetto nacque ufficialmente nel febbraio [[1998]] con lo sviluppo del [[kernel]] e dei driver di base.<ref>{{cita web|url=https://www.reactos.org/it/about_history.html|titolo=Storia di ReactOS|sito=ReactOS Website|accesso=13 giugno 2009|urlmorto=sì|urlarchivio=https://web.archive.org/web/20110708045742/http://www.reactos.org/it/about_history.html|dataarchivio=8 luglio 2011}}</ref>
 
[[File:Reactos 3 italiano.png|thumb|ReactOS 0.3.10 in italiano con Mozilla Firefox in esecuzione]]
 
=== Il ramo 0.3 ede il supporto USB ===
A partire dal ramo di sviluppo della versione 0.3 è stato introdotto il supporto per i temi e per per l'[[USB]], che nella versione 0.3.14 consentiva solo il funzionamento di tastiere e mouse, ancorché sotto forma di patch, mentre nella versione 0.3.15 supportava anche i dischi dotati di tale [[bus (informatica)|bus]].
 
La versione 0.3.16 è stata precocemente distribuita, con lo scopo di implementare le ultime modifiche in concomitanza del progetto ''Thorium'', un tentativo del progetto di guadagnare visibilità tramite una campagna di raccolta fondi sulla piattaforma ''[[Kickstarter]]''. Nella versione 0.3.17 è stato incluso NTVDM, ancora in fase di progettazione, che fornisce il supporto a una vasta gamma di applicazioni a 16 bit. Lo sviluppo preliminare alla ''[[release]]'' 0.3.17 ha inoltre registrato un notevole impegno da parte della comunità nelle prove su hardware; diversi ''[[rollback]]'' e ''[[bug (informatica)|bugs]]'' scoperti nelle ''[[Release (informatica)|release candidate]]'' vennero prontamente risolti e inseriti nella versione finale. La ''ReactOS Foundation'' però ha voluto saltare appositamente il ramo di sviluppo 0.3.18 per passare direttamente a quello 0.4, in modo da sottolineare la crescita avuta dal codice in tutti questi anni di miglioramenti.
 
=== La presenza di codice non libero ===
Il 17 gennaio [[2006]] [[Harmut Birr]] contattò gli sviluppatori di ReactOS presenti nella [[mailing list]] ufficiale (ros-dev) affermando che in ReactOS risultava esserci qualche riga di codice identica a quelle di Windows NT, invalidando la sua licenza libera. Il risultato di queste affermazioni ha fatto chiudere per un periodo di tempo il server [[Subversion|SVN]] dedicato al progetto e gli sviluppatori si sono preoccupati di contattare coloro che contribuivano a migliorare il software ada utilizzare solo ed esclusivamente del codice ottenuto tramite il metodo [[Clean room design|Clean Room Reverse Engineering]]. Dato che ReactOS è distribuito come software open source questa azione ha causato una reazione negativa da parte della comunità del software libero. Non ci sono comunque state conseguenze a danno degli sviluppatori e l'accesso al programma di sviluppo è stato ripristinato quasi immediatamente.
 
Il codice che Birr ha contestato coinvolgeva la funzione BadStack presente in syscall.S, e altre voci non specificate. Confrontando questa funzione con il codice binario ottenuto dal reverse di Windows XP, Birr ha sostenuto che la funzione BadStack era semplicemente un mero copia-incolla, dato che erano identici. Alex Ionescu, l'autore del codice, ha affermato che mentre il binario di Windows XP è stato effettivamente studiato, il codice non era copiato, ma reimplementato; il motivo per cui le funzioni sono identiche, ha sostenuto Ionescu, è stato perché c'era solo un modo per implementare la funzione. Il fatto è analogo alla causa intentata da Sony Computer Entertainment contro Connectix relativa al reverse engineering fatto nel corso dello sviluppo di Virtual Game Station: Connectix ebbe successo nel ricorso contro la sentenza iniziale, sostenendo che il reverse e l'osservazione diretta del codice proprietario era resa necessaria perché non c'era altro modo per determinare il suo comportamento e quindi le fu riconosciuto l'"uso legittimo".
 
Come conseguenza dall'8 marzo 2006 fino a dicembre 2007 gli sviluppatori di ReactOS hanno iniziato un'analisi auto-imposta di tutto il codice che riguarda la compatibilità con Microsoft Windows. A settembre del 2007, quando il controllo del codice era quasi ultimato, lo stato dell'analisi venne rimosso dalla homepage di ReactOS. Quando l'analisi venne definitivamente completata, i dettagli nello specifico non furono resi pubblici e rimasero solo come dati interni per essere sicuri della completa legalità del prodotto.
 
=== L'implementazione di nuove funzionalità e gli ''hackfest'' ===
A partire dal 2008 il lavoro di sviluppo è stato rivolto, tra gli altri obiettivi, ada implementare nel sistema un migliore supporto di rete, un supporto per la [[multimedialità]] e un completo supporto [[hardware]] di tipo [[plug-and-play]] oltre al miglioramento della [[GUI]]. Java e il supporto per applicazioni .NET (e Mono) vennero rese funzionanti, anche se la compatibilità con alcune applicazioni non è garantita. Tuttavia il sistema è ancora carente di molte API fondamentali, prova ne è il frequente ''crash'' di applicazioni e l'impossibilità di installarne molte di più. Solo un piccolo gruppo di programmi, indicati come ''golden app'', possono essere installate<ref>https://www.reactos.org/wiki/Testing_Central#TESTING_APPS</ref> e funzionare su ReactOS. Gli sviluppatori si sono inoltre concentrati per rendere il kernel del sistema operativo ancora più compatibile con quello di Windows NT 5.x e 6 e per rendere funzionanti ancora più applicazioni, prevedendo di implementare il supporto in lettura e scrittura del filesystem [[NTFS]].<ref>{{cita web|url=https://www.reactos.org/wiki/index.php/File_Systems/NTFS|titolo=File Sytestems/NTFS|sito=ReactOS Wiki|lingua=en|accesso=13 giugno 2009|urlmorto=sì|urlarchivio=https://web.archive.org/web/20081122102922/http://www.reactos.org/wiki/index.php/File_Systems/NTFS|dataarchivio=22 novembre 2008}}</ref>, [[ext2]] e seguenti<ref>{{cita web|url=https://www.reactos.org/wiki/index.php/File_Systems/ext2|titolo=File Sytestems/ext2|sito=ReactOS Wiki|lingua=en|accesso=13 giugno 2009|urlmorto=sì|urlarchivio=https://web.archive.org/web/20081122111508/http://www.reactos.org/wiki/index.php/File_Systems/ext2|dataarchivio=22 novembre 2008}}</ref>.
 
Intanto nei primi mesi del 2015 gli sviluppatori hanno lavorato molto per migliorare il supporto delle ''[[Dynamic-link library]]'' circa l'introduzione delle funzionalitòà di stampa e il 23 luglio 2015 si è riuscito a stampare il primo documento.{{sf}} Con la versione 0.4.0 nel 2016 venne aggiunto il supporto ai dispositivi audio, e con la versione 0.4.4 pubblicata nel febbraio 2017 sono iniziati i primi lavori volti alla creazione di un pieno supporto di stampa. Nel mentre gli sviluppatori di ReactOS hanno organizzato un ''[[hackfest]]'' dal 7 al 12 agosto 2015, nella città di Aachen in Germania, l'iniziativa si rivelò un successo ede ha permesso l'aggiunta di moltissime funzioni in ReactOS; ada esso sono seguite ulterioroulteriori edizioni nel 2017 a CologneColonia, in Germania dal 14 al 18 agosto 2017 e a Berlino dal 16 al 21 agosto 2018.
 
=== Trasloco su Github e nuovo sito ===
Diversi sviluppatori del team di ReactOS durante l'Hackfest 2018 si sono resi conto della cattiva progettazione del sito del loro progetto, il quale ormai risultava superato concettualmente rispetto alle nuove esigenze richieste. Per questo motivo il 21 marzo 2020 ne è stato pubblicato uno completamente nuovo, più ordinato e, soprattutosoprattutto, orientato al rispetto della privacy nei confronti dell'utenza. Per giunta il suo codice è stato reso open-source e liberamente consultabile sulla piattaforma Github, su cui è stato spostato, dopo diverse richieste, anche il codice del sistema operativo ReactOS, attirando così più sviluppatori volontari, come dimostrato dai dati analizzati dal team.<ref>{{Cita web|url=https://reactos.org/project-news/reactos-repository-migrated-github//|titolo=ReactOS Repository migrated to GitHub|sito=reactos.org|lingua=en-us|accesso=2020-04-12}}</ref>
 
== Caratteristiche ==
Riga 61:
[[File:ReactOS 0.3 - 1.png|thumb|ReactOS 0.3.0 in inglese con AbiWord e ReactOS Explorer (versione precedente al 2014) in esecuzione]]
 
Il [[kernel]] di ReactOS ricalca quello con [[architettura Windows NT]] ed èe risulta essere abbastanza stabile, con molte [[Application programming interface|API]] e [[Application binary interface|ABI]] pronte per lo sviluppo ad alto livello; è disponibile anche una [[GUI|interfaccia utente]] di base. ReactOS utilizza ''ReactOS Explorer'', una snella [[Shell (informatica)|shell]] grafica simile a [[Windows Explorer]]. Nel 2014 l'esplora risorse è stato totalmente riscritto, correggendo diversi bug che lo affliggevano e implementando nuove caratteristiche che rendono l'esplora risorse molto simile a quello di Windows 2003.
 
Molte applicazioni per Windows risultano funzionare correttamente grazie anche alle librerie del progetto [[Wine]], con cui collabora lo stesso staff di ReactOS. Per consentire di provarlo senza disporre di un computer apposito, oltre alla versione installabile e al [[Live CD]], si possono scaricare dal sito le immagini in formato .ISO per vari software di virtualizzazione.
Riga 70:
Le architetture ufficialmente supportate sono [[x86]], [[amd64]], [[i686]] e [[Architettura ARM|ARM]]: su tali piattaforme può essere eseguito con software di [[virtualizzazione]] come [[VMware]], [[VirtualBox]] e [[QEMU]]. Il supporto per Microsoft VirtualPC non è attualmente disponibile, ma verrà ripreso in futuro.
 
Dato che Windows NT 4.0 funzionava su architetture MIPS, Alpha AXP, e PowerPC oltre che sull'architettura i386, e che i sistemi operativi di derivazione NT come Windows XP e Windows Server 2003 sono stati portati su diverse architetture (AMD64, IA-32, e IA-64), gli sviluppatori di ReactOS hanno lavorato per implementare supporto anche su altre piattaforme: ad esempio il supporto per una variante dell'architettura [[IA-32]] e uno per la piattaforma Xbox sono stati aggiunti nella release 0.2.5 e nel 2005 ci sono già stati tentativi per portare ReactOS su architetture [[PowerPC]] e [[Xen]], ede il supporto per l'ARM è in lavorazione.
 
=== Requisiti minimi di sistema ===
Riga 76:
 
* 64 MB di RAM (consigliati 256 MB)
* Hardhard-disk IDE o SATA, quest'ultimo parzialmente supportato ede in via di sviluppo, con minimo 450 MB di spazio con partizione primaria in FAT16/FAT32
* CPU x86 Intel Pentium o superiore
* scheda video VGA (VESA BIOS v2.0 o superiore)
* Tastieratastiera e mouse con connettore PS/2 o USB
 
Le funzionalità di rete attualmente supportate di ''[[Default (informatica)|default]]'' è coi seguenti tipi di schede:<ref name="installazione" />
Riga 92:
 
== Premi e riconoscimenti ==
* Il team di ReactOS ha vinto al Seliger Youth Forum del 2011 il premio come migliore presentazione, aggiudicandosi una somma di 100. 000 rubli russi (≈US≈ 2 700 US$2700) ritirati da Alexander Rechitskiy, uno dei principali sviluppatori del progetto.
* È stato progetto del mese di [[SourceForge]] di giugno 2013.
* Nel 2015, ReactOS è stato definito dal Ministro Russo delle Comunicazioni una degna alternativa lato client e server ai più conosciuti sistemi operativi, per merito del suo potenziale nel rendere la Russia meno dipendente dal software proprietario straniero.
Riga 103:
Ndiswrapper è un altro progetto correlato che mira a ricreare parzialmente il kernel di Windows NT dentro il kernel Linux in modo da avviare i driver creati per Windows in un Linux Box. NDISWrapper include le Api NTOSKRNL oltre a un semplice controller WDM.
 
Un progetto correlato, ma che risulta distante dagli obiettivi di ReactOS, è [[Longene]] (Linux Unified Kernel), che intende divenire compatibile con i driver e le applicazioni realizzati sia per Microsoft Windows sia per Linux. Si tratta di una versione modificata del kernel Linux che cerca di includere le funzioni chiave dei sistemi operativi Windows e per questo utilizza codice proveniente sia da ReactOS chesia da Wine e NDISWrapper.
 
== Fork e progetti correlati ==
Sono state create occasionalmente alcunealcuni derivatederivati di ReactOS:
 
* Ekush OS (2004)
Riga 113:
* FusionOS (2013)
* ReactOS NG (2015) – con l'obiettivo di essere compatibile con Windows 8
* Greentea OS (2016) – con l'obiettivo di velocizzare e semplificare lo sviluppo del sistema operativo.
 
== Cronologia delle versioni ==