Nuovo arrivato

Moderators: gabrielilardi, forart, Davy Bartoloni

Post Reply
CodeVisio
Posts: 22
Joined: Sun Feb 19, 2012 10:36 am

Nuovo arrivato

Post by CodeVisio »

Ciao a tutti,

sono nuovo di questo forum.
Ho dato un'occhiata in giro e mi sono rimasti dei dubbi ed
essendo un novizio in materia probabilmente vi farò delle domande sciocche, chiedo venia.

DOMANDE GENERALI
- Se ho ben capito l'obiettivo è quello di creare un os il più possibile compatibile con windows, è così?
- E Siccome il sorgente di windows è chiuso vi basate sulla vostra esperienza e sulle chiamate pubbliche delle sue api, è così?
- Se ho letto bene: chi ha scritto codice per windows(r) non può scrivere lo stesso codice su reactos, è così?

DOMANDA SULLO SVILUPPO
- C'e' qualcuno che porta avanti lo sviluppo in ambiente windows? se si, mi può dare delle spiegazioni dettagliate su come procedere?
- Quali sono le linee guida nella scrittura del codice?

Grazie!

User avatar
Davy Bartoloni
Posts: 1483
Joined: Wed Jan 04, 2006 11:31 pm
Location: Cuneo
Contact:

Re: Nuovo arrivato

Post by Davy Bartoloni »

ciao!
CodeVisio wrote: - Se ho ben capito l'obiettivo è quello di creare un os il più possibile compatibile con windows, è così?
Indubbiamente, nello specifico NT5 ( WIndows server 2003)
CodeVisio wrote: - E Siccome il sorgente di windows è chiuso vi basate sulla vostra esperienza e sulle chiamate pubbliche delle sue api, è così?
Un po' piu' complesso.. considerando che lo sviluppo del kernel, dei drivers, del boot, dell' installer e di altri componenti (senza considerare l'enorme lavoraccio del porting ARM) sn ad un livello in cui le winapi contano poco o niente.
CodeVisio wrote: - Se ho letto bene: chi ha scritto codice per windows(r) non può scrivere lo stesso codice su reactos, è così?
Umhh.. questa mi sfugge.. od ho franteso la domanda.. chi sviluppa software.. lo puo' fare per qualsiasi piattaforma.. anche utilizzando Visual studio di Microsoft, il binario che viene compilato, e' perfettamente utilizzabile su ROS, e puo' essere scritto inserendo alcuni "hacks" per il corretto funzionamento su ROS, pur destinandolo al mondo windows. Penso che microsoft sia ben felice se uno sviluppatore impara ad utilizzare la sua suite di sviluppo.. perche' in fin dei conti anche se poi la utilizzera' su WIne o ROS... l'importante e' che in futuro incrementi il parco software win-compatibile.

P.S. ti volevi riferire a qualcosa relativo a clausole di sicurezza nei contratti di lavoro di sviluppatori "DI" windows, stipendiati Microsoft?
CodeVisio wrote: DOMANDA SULLO SVILUPPO
- C'e' qualcuno che porta avanti lo sviluppo in ambiente windows? se si, mi può dare delle spiegazioni dettagliate su come procedere?
- Quali sono le linee guida nella scrittura del codice?
Penso che gran parte dei devs lavori su piattaforma windows (a giudicare dagli screenshoots che si sono visti nel passare degli anni) e negli ultimi tempi grazie al passaggio a cmake, con l'introduzione del poter compilare con VC... l'interesse verso una build machine su windows sia incrementato ulteriormente. (e' cmq possibile utilizzare direttamente ROS per lo sviluppo.. questo e' stato uno dei requisiti di compatibilita' che doveva avere Ros-BE)
ti rimando, per tutta la faccenda a: http://www.reactos.org/wiki/Building_ReactOS
una volta che il sistema di sviluppo e' messo inpiedi... principalmente gli eventuali nuovi devs, si dedicano al bugfixing/finding prendendo spunto dalle nuove segnalazioni bugs "ricevibili" iscrivendosi alla mailing-list del bugzilla. ( http://www.reactos.org/mailman/listinfo/ros-bugs )
per scrivere da zero nuovi componenti ROS ancora mancanti... non saprei... (al volo non mi vengono in mente nomi di qualcosa che manca...penso cmq ci siano alcune parti ferme da anni, sopratutto quelle di non eccessiva importanza.)
umh... linee guida... bella domanda, ad occhio e croce direi che qualsiasi cosa scritta da una new-entry non piaccia a priori ai devs anziani :P (nn e' per fare polemica :) e' solo che spesso si vedono risposte alle patchs presentate che hanno toni decisamente coloriti... fa parte dello strano mondo di ROS)

Ancora benvenuto!

CodeVisio
Posts: 22
Joined: Sun Feb 19, 2012 10:36 am

Re: Nuovo arrivato

Post by CodeVisio »

Ciao,

piccola premessa prima di scrivere delle risposte. Avevo scritto un commento sul giornale online FattoQuotidiano e mi aveva risposto una persona che pubblicizzava ROS ed evidenziava che c'era bisogno di dare una mano per chi fosse interessato. Al che sono venuto qui per dare un'occhiata con maggiore attenzione in quanto avevo già visitato questo sito in passato. Questa persona penso sia Carlo, almeno il nick mi ricorad lo stesso che aveva nel commento sul FQ.

---------------------------------------------------------
Indubbiamente, nello specifico NT5 ( WIndows server 2003)
Ok. Ma seguite entrambe le linee desktop e server? o solo server?
Un po' piu' complesso.. considerando che lo sviluppo del kernel, dei drivers, del boot, dell' installer e di altri componenti (senza considerare l'enorme lavoraccio del porting ARM) sn ad un livello in cui le winapi contano poco o niente.
Ok. Mi sfugge però qual è lo spirito del vostro lavoro. Capisco il significato tecnico di poter eseguire un programma scritto per windows anche per ROS. Capisco anche che per un tecnico può avere un interesse fare un progetto simile, ma poi alla fine il progetto verrà usato anceh da persone non tecniche e queste si domanderanno "che differenza c'è con windows a parte il nome?".
Che senso ha "copiare" pari pari un OS già esistente? Portare avanti un OS/2 o un BeOS ha un senso perché avevano delle differenze con windows, ma avere e fare una copia il più possibile fedele all'originale non ha molta attrattiva, anche solo per poter reclutare persone che partecipino al sviluppo/test/doc ecc.. Mi sbaglio? ROS ha qualcosa di diverso con la sua controparte?

Poi, come vi siete comportati, con lo sviluppo, con tutte le parti che hai elencato? vi siete messi lì a dare un'occhiata come si comportava windows a livello di kernel con le releative chiamate? che so usando WinDBG, SoftICE, i libri di Russinovich, DDK ecc? immagino abbiate replicato win32k.sys e ntoskrnl.exe e tutti i moduli kernel e user mode, directx, opengl, gdi, è così?
Umhh.. questa mi sfugge.. od ho franteso la domanda.. chi sviluppa software.. lo puo' fare per qualsiasi piattaforma.. anche utilizzando Visual studio di Microsoft, il binario che viene compilato, e' perfettamente utilizzabile su ROS, e puo' essere scritto inserendo alcuni "hacks" per il corretto funzionamento su ROS, pur destinandolo al mondo windows. Penso che microsoft sia ben felice se uno sviluppatore impara ad utilizzare la sua suite di sviluppo.. perche' in fin dei conti anche se poi la utilizzera' su WIne o ROS... l'importante e' che in futuro incrementi il parco software win-compatibile.

P.S. ti volevi riferire a qualcosa relativo a clausole di sicurezza nei contratti di lavoro di sviluppatori "DI" windows, stipendiati Microsoft
No. Guarda, mi riferisco a ciò che è scritto qui:
http://www.reactos.org/en/dev_start.html
alla sezione Developing ReactOS alla terza frase quando dice "The only prerequisite is that you have not had access to Microsoft source code..." e a seguire. A me sembra che dica che chi ha lavorato con i sorgenti di microsoft non puoò fare le stesse cose qui, o ho capito male?

Poi, cosa intendi per "hacks"?

Penso che gran parte dei devs lavori su piattaforma windows (a giudicare dagli screenshoots che si sono visti nel passare degli anni) e negli ultimi tempi grazie al passaggio a cmake, con l'introduzione del poter compilare con VC... l'interesse verso una build machine su windows sia incrementato ulteriormente.
CMake non lo conosco, immagino quindi ci sia una solution che si può caricare direttamente con Visual Studio, è così? Ok, mi rispondo me, ho trovato la parte in cui si mostra come creare una solution per VS. Lo chiedevo perchè per chi come me non ha dimistichezza con il codice di ROS, all'inizio può tornare utile avere dare un'ocvchiata allo stesso con l'auito di intellisense di VS.
umh... linee guida... bella domanda, ad occhio e croce direi che qualsiasi cosa scritta da una new-entry non piaccia a priori ai devs anziani :P (nn e' per fare polemica :) e' solo che spesso si vedono risposte alle patchs presentate che hanno toni decisamente coloriti... fa parte dello strano mondo di ROS)
No, mi riferivo ad un qualcosa di più tecnico. Alla fine avevo trovato qualcosa che rispondesse a questa domanda, qui http://www.reactos.org/wiki/Coding_Style
ma non mi sembra sufficiente. Ad esempio, non avete degli accorgimenti tipo assert in debug mode ecc? controllate tutti i parametri in entrata e uscita ad una funzione? o fate delle assunzioni(per avere performance)? avete edlle policy in tal senso? In soldoni, delle linee guida sullo sviluppo di codice, sia esso api pubbliche che private (interno e non visibili).

Grazie.

Tenebra
Posts: 73
Joined: Tue Nov 11, 2008 12:33 pm
Contact:

Re: Nuovo arrivato

Post by Tenebra »

Ciao e benvenuto. Mi permetto di anticipare qualche risposta!
Ok. Ma seguite entrambe le linee desktop e server? o solo server?
La base di Windows, client o server, è la stessa. Ottenuto un sistema compatibile con Windows sarà possibile dotarlo degli opportuni software che fanno la differenza fra l'una e l'altra versione.
Ok. Mi sfugge però qual è lo spirito del vostro lavoro. Capisco il significato tecnico di poter eseguire un programma scritto per windows anche per ROS. Capisco anche che per un tecnico può avere un interesse fare un progetto simile, ma poi alla fine il progetto verrà usato anceh da persone non tecniche e queste si domanderanno "che differenza c'è con windows a parte il nome?".
Che senso ha "copiare" pari pari un OS già esistente? Portare avanti un OS/2 o un BeOS ha un senso perché avevano delle differenze con windows, ma avere e fare una copia il più possibile fedele all'originale non ha molta attrattiva, anche solo per poter reclutare persone che partecipino al sviluppo/test/doc ecc.. Mi sbaglio? ROS ha qualcosa di diverso con la sua controparte?
La differenza con Windows oltre al nome sta nel fatto che di ReactOS puoi fare ciò che vuoi, perché è software libero: lo spirito è lo stesso che ha mosso Richard Stallman a clonare Unix con GNU (componente importante di quei sistemi che comunemente chiamiamo semplicemente "Linux", qualora non fossi informato su questo progetto). Windows è soggetto alla sua licenza che ti consente, con parecchie restrizioni, di utilizzarlo sul tuo computer. ReactOS invece sarà disponibile a tutti in formato binario (come Windows) o sorgente, quindi se lo desidererai potrai compilarti una versione modificata, ridistribuirlo gratis o a pagamento, ecc. Inoltre non ci sarà più la scelta obbligata fra lavorare su un sistema libero e lavorare su una piattaforma Windows-like! Insomma, è una grande risorsa che va ben oltre il semplice fatto di avere un altro sistema operativo installabile sul tuo computer e di vantaggi puoi trovarne altri rispetto a quei pochi che ho elencato!
Poi, come vi siete comportati, con lo sviluppo, con tutte le parti che hai elencato? vi siete messi lì a dare un'occhiata come si comportava windows a livello di kernel con le releative chiamate? che so usando WinDBG, SoftICE, i libri di Russinovich, DDK ecc? immagino abbiate replicato win32k.sys e ntoskrnl.exe e tutti i moduli kernel e user mode, directx, opengl, gdi, è così?
Qui ti risponderà meglio qualcuno che si è addentrato meglio di me nelle tecniche utilizzate. Ovviamente dove manca la documentazione bisogna ingegnarsi facendo uso di Reverse Engineering od altre tecniche che forse qualcuno saprà esporti meglio.
Per quanto riguarda i moduli user mode, molto lavoro è condiviso con il progetto Wine, eccetto ovviamente quelle parti che su Wine si interfacciano direttamente col sistema sottostante.
No. Guarda, mi riferisco a ciò che è scritto qui:
http://www.reactos.org/en/dev_start.html
alla sezione Developing ReactOS alla terza frase quando dice "The only prerequisite is that you have not had access to Microsoft source code..." e a seguire. A me sembra che dica che chi ha lavorato con i sorgenti di microsoft non puoò fare le stesse cose qui, o ho capito male?
Questo prerequisito mira semplicemente a tutelare il progetto da eventuali rivalse di Microsoft su codice che le appartiene. In pratica, se tu hai avuto a che fare con del codice che appartiene alla Microsoft potresti sfruttarlo per aggiungere funzionalità a ReactOS o, in casi estremi, piazzare del codice coperto da licenze/brevetti Microsoft su ReactOS e questo gli costerebbe molto probabilmente una causa che danneggerebbe il progetto stesso. Per questa ragione si evita a priori questa possibilità!

User avatar
Davy Bartoloni
Posts: 1483
Joined: Wed Jan 04, 2006 11:31 pm
Location: Cuneo
Contact:

Re: Nuovo arrivato

Post by Davy Bartoloni »

CodeVisio wrote:Poi, cosa intendi per "hacks"?
Mi stavo riferendo ai piccoli hacks che e' necessario introdurre nei softwares per "adattarli" a ros in attesa della compatiblita' 100% cn win
(per esempio tanti servizi non sono in esecuzione... e tante chiavi di registro non ci sono.. bisogna skippare eventuali checks.. o settare dei valori di default per eventuali impostazioni .. su wine e ROS.)
ora che riucordo... l'anno scorso ( o erano 2 ) ho fatto un po' di pressione per far aggiungere una spunta che su win non esiste (eresia!!!) per notificare un sistema Workstation e non Server ai vari softwares... (per permettere l'installazioen di antivirus in versione free)
[ external image ]
CodeVisio wrote: No, mi riferivo ad un qualcosa di più tecnico. Alla fine avevo trovato qualcosa che rispondesse a questa domanda, qui http://www.reactos.org/wiki/Coding_Style
ma non mi sembra sufficiente. Ad esempio, non avete degli accorgimenti tipo assert in debug mode ecc? controllate tutti i parametri in entrata e uscita ad una funzione? o fate delle assunzioni(per avere performance)? avete edlle policy in tal senso? In soldoni, delle linee guida sullo sviluppo di codice, sia esso api pubbliche che private (interno e non visibili)
Per questo ti rimando al max.. a Carlo.. e Dax.. (solo Carlo e' un dev ufficiale)

CodeVisio
Posts: 22
Joined: Sun Feb 19, 2012 10:36 am

Re: Nuovo arrivato

Post by CodeVisio »

Ciao ragazzi,

Tenebra e Davy,
grazie per le vostre risposte.
Ho aspettato qualche giorno per vedere se qualcuno aggiungeva qualche altra risposta, ma forse ho scelto il periodo sbagliato.

Nel frattempo ho dato un'occhiata alla doc. che c'è nel wiki di questo sito, e lì ho trovato molte delle risposte che cercavo, ma purtoppo se ne
sono aggiunte di nuove. Forse sarebbe meglio se mi spostassi sull'altra sezione, quella di Developer Help. Che ne pensate?

Volevo chiedervi un'ultima cosa:
viene evidenziato nella wiki l'uso di irc per comunicare con gli altri. Ho sempre sentito nominare di irc, irc client e irc net ma non ho mai usato questa forma di comunicazione, al massimo ho usato, anche per lavoro, msn o skype.
Mi chiedevo, che differenza c'è con skype ad esempio? perché si usa irc per comunicare? (a parte immagino la velocità della comunicazione stessa).
Inoltre, mi sembra d'aver letto che l'irc client più usato in ambiente windows è mIRC ma se non ho capito male è a pagamento.
Sapete quale viene usato dai programmatori? quale mi consigliate? se possibile uno free.
Ho fatto qualche prova con ChatZilla ma ho incontrato qualche problema e prefirei avere un programma a parte.

Grazie di nuovo.

Tenebra
Posts: 73
Joined: Tue Nov 11, 2008 12:33 pm
Contact:

Re: Nuovo arrivato

Post by Tenebra »

Forse sarebbe meglio se mi spostassi sull'altra sezione, quella di Developer Help. Che ne pensate?
Certamente lì troverai informazioni molto più precise e potrai apprendere molto più che sulla documentazione ufficiale. Un team di sviluppo certamente matura abitudini e convenzioni non scritte, piccoli dettagli ma che possono essere utili per un migliore comprensione fra sviluppatori, quindi discutere direttamente con loro ti sarà d'aiuto.
Mi chiedevo, che differenza c'è con skype ad esempio? perché si usa irc per comunicare? (a parte immagino la velocità della comunicazione stessa).
IRC è una chat di "vecchio stampo" (non potrebbe essere altrimenti, dato che è la prima), nel senso che gli utenti stanno tutti in una stanza (canale) e ciascun messaggio è visualizzabile a tutti gli utenti che vi partecipano, anche se non mancano altre funzionalità. Sicuramente si usa perché è il metodo più comodo per discutere in tempo reale: su skype ed msn dovresti avere tutti i contatti degli altri sviluppatori o quantomeno un contatto che crei una discussione in conferenza, mentre su irc basta entrare nel canale con un client. Per quanto riguarda quest'ultimo, potrebbe esserti utile questa lista.

User avatar
Davy Bartoloni
Posts: 1483
Joined: Wed Jan 04, 2006 11:31 pm
Location: Cuneo
Contact:

Re: Nuovo arrivato

Post by Davy Bartoloni »

personalmente seguendo anche un account MSN.. uso InstantBird e/o Miranda (Win / Osx) e Empathy (Linux) tanto per avere sia MSN che IRC gestito dallo stesso software.
(Al momento su ROS possono essere usati vari clients IRC.. anche se non e' ancora possibile utilizzare i protocolli di MSN)
Tenebra wrote: potrebbe esserti utile questa lista.
Mado'... InstantBird non e' contemplato :P

ErVito
Posts: 304
Joined: Tue Nov 13, 2007 5:17 pm
Location: Bresso (MI)
Contact:

Re: Nuovo arrivato

Post by ErVito »

Posso sapere quali client irc funzionano su ros??
Vieni a trovarmi -> http://ervito.altervista.org

Ey3
Posts: 790
Joined: Thu Nov 15, 2007 9:13 pm
Location: Italy

Re: Nuovo arrivato

Post by Ey3 »

ErVito wrote:Posso sapere quali client irc funzionano su ros??
Bisognerebbe testare Chatzilla come plugin di FF, io lo uso e mi ci trovo benissimo!

User avatar
Davy Bartoloni
Posts: 1483
Joined: Wed Jan 04, 2006 11:31 pm
Location: Cuneo
Contact:

Re: Nuovo arrivato

Post by Davy Bartoloni »

sulle builds attuali mi riesco a connettermi cn nessun software... ma un anno o 2 fa ricordo di aver scritto un piccolo client IRC .. e funzionava su ROS .. idem per Mirc e Miranda...

R3dDr4g0n
Posts: 25
Joined: Fri Mar 13, 2009 4:27 pm

Re: Nuovo arrivato

Post by R3dDr4g0n »

ErVito wrote:Posso sapere quali client irc funzionano su ros??
XChat 2.8.9 e mIRC 7.22 funzionano su ROS :)
testati adesso con la revisione 56026

vicmarcal
Test Team
Posts: 2732
Joined: Mon Jul 07, 2008 12:35 pm

Re: Nuovo arrivato

Post by vicmarcal »

R3dDr4g0n wrote:
ErVito wrote:Posso sapere quali client irc funzionano su ros??
XChat 2.8.9 e mIRC 7.22 funzionano su ROS :)
testati adesso con la revisione 56026
Screenshots or it never happened!

Carlo Bramix
Posts: 282
Joined: Thu Jan 04, 2007 12:43 am
Location: Italy

Re: Nuovo arrivato

Post by Carlo Bramix »

Ciao CodeVisio,
si', ero stato proprio io a "pubblicizzare" ReactOS su un articolo del Fatto Quotidiano Online.
Se tu sei la stessa persona che mi ha mandato il messaggio privato, il mio suggerimento e' quello di condividere qui con tutti le tue idee e le tue opinioni che, a quanto ho letto, possono essere senz'altro un punto di vista interessante e costruttivo per il progetto.
Ad oggi, come e' possibile leggere in un topic di questo forum e come ho scritto anche nel mio intervento sul FQ, mi sono preso un periodo... diciamo "di pausa", nella speranza che nel frattempo alcune cose si possano sistemare e per poter portare avanti qualcosa di mio.

A presto,

Carlo Bramini.

CodeVisio
Posts: 22
Joined: Sun Feb 19, 2012 10:36 am

Re: Nuovo arrivato

Post by CodeVisio »

Ciao Carlo,

nell'attesa di una tua risposta mi sono messo a spulciare in giro per il sito e da una cosa tira l'altra
alla fine sono riuscito a completare il giro(getting source-modifying-testing). Grazie anche a tutte
queste persone che hanno avuto la pazienza di rispondere a tutte le mie menate. Ora se riesco
anche a creare la patch e ad inviarla forse avrò risolto anche un bug.

Ho provato ReactOS su di un emulatore e devo dire che la somiglianza con la controparte è notevole.
Devo ammettere però che ci sono moltissime cose da fare e che nel giro di poche ore di test ho trovato
moltissimi bugs.

Per quanto riguarda le mie idee, beh non voglio proprio demoralizzare nessuno, ci sono tante di quelle cose ancora
da fare che pensare di mettermi qui a 'filosofeggiare' sull'approccio di ReactOS indurrebbe le persone che ci lavorano
da una vita a prendermi a pedate.

Rimanendo sul generale: la mia impressione è che la mole di lavoro è enorme e forse il numero di persone
coinvolte è proporzionalmente inferiore. Un'altra impressione che ho avuto, e che in parte forse è legata alla prima,
è che il supporto volontario, benché lodevole, porta anche ad una difficoltà intrinseca nell'organizzare gli sforzi dei singoli e a
sincronizzarli nonché orientarli per un avanzamento produttivo del lavoro.
Un'altra chiave di lettura può essere anche la natura geografica del supporto.

Come ti dicevo penso di aver risolto un bug e spero di inviare al più presto il mio contributo, ma non sono sicuro
di poter continuare il supporto nel futuro.

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests