Ce este Xterminal?
Xterminal este o interfata utilizator orientata pe obiecte, avand o
arhitectura client-server. Mai concret, este o biblioteca cu ajutorul careia
se pot realiza aplicatii C++ in mod terminal usor de utilizat, pentru sisteme
UNIX.
Cand ai inceput sa lucrezi la acest proiect? De la ce anume ti-a venit
ideea?
Am scris primele linii de cod prin toamna 1995. Ideea de a crea o
interfata utilizator pentru C++ a pornit de la un program antivirus pentru DOS
la care lucram pe atunci, caruia vroiam sa ii adaug o interfata usor de folosit.
Puteam utiliza TurboVision, realizat de Borland Intl., dar eram nemultumit atat
de complexitatea sa, cat si de marimea sa. Asadar prima versiune functionala a
fost sub DOS.
Ideea de a scrie o interfata utilizator pentru UNIX a pornit totusi
dintr-o alta directie. Student fiind la facultatea de Calculatoare, fusesem
prins de febra descoperirii sistemului UNIX (mai intai AIX, apoi Solaris si
Linux). Impreuna cu un coleg, frustrati de lipsa unui mediu grafic, pasionati de
programarea orientata pe obiecte in C++, am inceput sa lucram la un client
FTP/HTTP pentru mod terminal. Intentionam ca programul sa fie cat se poate de
usor de utilizat. Ce interfata utilizator puteam folosi? Am aflat de existenta
unei portari TurboVision pe Linux, realizata de doi studenti la Politehnica
Bucuresti. Am intrat in posesia arhivei, insa executabilele generate erau atat
de mari, incat ne-am lasat pagubasi. Pe de alta parte, portarea nu era perfecta,
biblioteca fiind destul de instabila si plina de erori. Ignorand sfatul unor
profesori de-ai nostri de a nu "reinventa roata", am inceput sa lucram la
aceasta interfata.
Cand l-ai facut public? Ce inseamna a fi sub licenta GNU?
In noiembrie 1995, la ROSE'95, l-am intalnit pe Linus Torvalds (creatorul
Linux-ului), care m-a ajutat cu sfaturi privind utilizarea librariei curses
sub Linux. Tot el mi-a sugerat sa utilizez o licenta GNU.
Prima versiune publica a fost lansata pe 8 mai 1996.
Biblioteca este software free, insa este protejata de licenta "GNU
Library General Public License". Aceasta licenta garanteaza utilizatorilor
libertatea atat de a distribui copii ale soft-ului in cauza, cat si sa modifice
si sa utilizeze codul sursa, impunand cateva conditii:
- codul modificat poate fi redistribuit, insa utilizand aceeasi licenta GNU
- software-ul in cauza nu poate fi vandut. Poate fi platit totusi serviciul de
copiere a acestuia.
Aceasta licenta are valabilitate juridica.
Colaboratori?
Initial am lucrat impreuna cu un coleg, Adrian Teohar. Mai multe persoane
au contribuit ulterior la acest proiect: Bernd Kalbfuss, Ovidiu Ene, Udo
Kreckel, Uwe Steinmann, Alex Buell, Philippe Martin, Bob Bernstein, Jim Hickle.
Multi altii au raportat bug-uri, au testat biblioteca pe alte platforme, au
facut diverse sugestii.
Piedici si recompense?
Cand am inceput sa lucrez la versiunea UNIX, am incercat sa apelez la
ajutorul altor colegi, trimitand mesaje la toti studentii din facultate. Nu am
avut insa colaboratori nici din partea studentilor nici din partea profesorilor.
Recompensele sunt in principal de ordin moral: satisfactia de a lucra cu
persoane din intreaga lume, satisfactia ca munca iti este apreciata.
Continui lucrul sau te-ai apucat de altceva?
Evident ca lucrez si la alte programe, insa continui lucrul si la
Xterminal. De fapt, perioada de viata a unui sistem software nu se rezuma la o
singura versiune, ci dezvoltarea continua, corectand bug-uri, adaugand noi
facilitati, lansand noi versiuni.
De altfel, aceasta biblioteca imi este de folos pentru scrierea de alte
programe, de exemplu pentru evidenta contabila.
Pentru viitor, care ar fi dezvoltarile?
In viitorul apropiat, finalizarea versiunii 1.0, care sa includa
toate obiectele si uneltele necesare pentru dezvoltarea de aplicatii C++ cu
interfata utilizator in mod terminal.
Urmatorul pas important va fi posibilitatea de a instantia obiecte pe
diferite masini legate in retea (remote objects) si apelul de
proceduri la distanta (remote method invocation).
Consideri ca Xterminal este util? Poate fi piatra de temelie pentru
ceva mai complicat?
Utilitatea este determinata in general de numarul de utilizatori.
Xterminal este utilizat de catre mai multi programatori, pentru a realiza
diverse aplicatii C++: pentru gestiunea bazelor de date, pentru culegere de
date, etc. Majoritatea celor care au contribuit la acest proiect il utilizeaza,
pentru realizarea de programe cu interfata utilizator in mod terminal.
Asa cum spuneam mai devreme, urmatorul pas va fi suportul pentru retea,
adica posibilitatea de a realiza sisteme distribuite.
Doresti colaboratori sau echipa ta e OK?
Colaboratorii sunt intotdeanua bineveniti. Nu pot vorbi intotdeanua despre
o echipa bine definita, pentru ca multi dintre acesti colaboratori intervin in
cadrul dezvoltarii atunci cand descopera ca ceva nu functioneaza cum ar trebui
sau cand au nevoie de o anume facilitate pe care o implementeaza, deci
colaborarea e ocazionala ca sa zic asa.
Unde este gazduit pe Internet acest proiect?
Pagina de Web se afla la adresa
http://xterminal.sourceforge.net.
Care este situatia unui programator care scrie soft gratuit in Romania?
Cred ca e cam aceeasi pe care o are un programator in alte parti. In
general, cei ce scriu soft free o fac din necesitati personale, pentru a-si
rezolva anumite probleme in munca sau pentru a sprijini dezvoltarea de alte
programe.
In Romania, UNIX-ul nu este extrem de raspandit, ca urmare principalii
utilizatori si colaboratori sunt din afara tarii. Este evident rolul fundamental
pe care il joaca Internet-ul in dezvoltarea soft-ului free.
Din cate stiu, proiecte de software free sunt putine in Romania. Este
vorba de GIT (realizat in principal de doi fosti studenti la Politehnica
Bucuresti) si de Xterminal. In orice caz, mi-ar face placere sa stiu ca nu sunt
singur si ca mai exista si alte soft-uri free realizate de romani.
Interviu realizat de Sabin Buraga © 1999