Dezvoltatorii de software la comandă așteaptă uneori cu nerăbdare perioada de mentenanță. La acest moment _software-_ul e deja instalat local pe echipamentele/infrastructura clientului, iar treaba mai laborioasă a adaptării lui la procesele și nevoile clientului este în bună măsură încheiată.
Dacă etapele de dezvoltare și implementare au fost bine gestionate și finalizate, în perioada de mentenanță efortul dezvoltatorului de software ar trebui să fie diminuat semnificativ, iar profitabilitatea sa să crească. Cu puțin noroc (sau poate că nu doar norocul e la mijloc), în această etapă a mentenanței, intervențiile dezvoltatorului și resursele alocate vor fi minime, în timp ce onorariile de mentenanță (unele deosebit de generoase) vor compensa profitabilitatea scăzută a proiectului din etapele anterioare.
De aceea, odată efectuată predarea-primirea finală a _software-_ului, mulți dintre dezvoltatori vor (pe bună dreptate) să factureze serviciile de mentenanță prestate. La baza acestei concepții stă și ideea (eronată) că produsul software este transmis (cesionat) către client ca atare, fără niciun fel de garanție cu privire la funcționarea sa ulterioară. Prin urmare, serviciile de mentenanță ar trebui să fie prestate contra cost.
Există și cazuri de dezvoltatori (nu puțini la număr, dar minoritari ca pondere, din experiența noastră) care își asumă o perioadă de garanție a produsului software, în interiorul căreia serviciile de mentenanță sunt prestate în mod gratuit. Abia după expirarea perioadei de garanție asumate, serviciile de mentenanță sunt prestate contra cost.
Pornind de la aceste tendințe practice, apar desigur întrebări firești cum ar fi: dacă există o obligație legală de a acorda o asemenea mentenanță în mod gratuit și pentru cât timp, dacă se poate înlătura această obligație prin acordul părților, etc. .
Răspunsurile la aceste întrebări nu sunt simple din mai multe motive.
O primă dificultate este dată de lipsa unei definiții general-acceptate a noțiunii de "mentenanță" a software-ului. De exemplu, clienții cu care am lucrat includ în general în această categorie activități precum: diagnosticarea și remedierea erorilor de funcționare, adaptarea software-ului la schimbările "ecosistemului" software sau hardware cu care acesta interacționează și upgrade-uri ale software-ului în cauză. Totuși, industria IT pare să aibă o concepție laxă asupra activității de mentenanță, fiind incluse în sfera acesteia (pe criterii mai mult sau mai puțin arbitrare) orice intervenții ale dezvoltatorului asupra software-ului după predarea sa finală către client.
Pe de altă parte, nu există (din cunoștințele noastre) nici o definiție legală a conceptului de "mentenanță" a produsului software, ceea ce complică și mai mult răspunsul la întrebările de mai sus.
Cu toate acestea, sunt reglementate obligații legale de intervenție/remediere/corectare/ajustare a produselor vândute, care pot să conducă la ideea că cel puțin unele activități de mentenanță (în sensul cel mai larg posibil) sunt obligatorii pentru producătorul software în temeiul legii și, în unele cazuri, acestea trebuie efectuate în mod gratuit. Mai jos, am menționat câteva asemenea reglementări care ar putea fi relevante.
Un prim exemplu apare în Codul Civil în privința garanției pentru viciile ascunse. Orice vânzător (cum ar fi dezvoltatorul de software) răspunde față de cumpărător pentru viciile ascunse ale produsului vândut (software-ul dezvoltat la comandă). Viciile ascunse sunt orice defecte grave (care nu pot fi sesizate fără un examen amănunțit) ale produsului în cauză, care fac bunul vândut impropriu întrebuințării la care este destinat sau care îi micşorează în asemenea măsură întrebuințarea sau valoarea încât, dacă le-ar fi cunoscut, cumpărătorul nu ar fi cumpărat sau ar fi dat un preț mai mic. În cazul nostru, se poate imagina situația descoperirii unor defecțiuni majore în funcționarea software-ului ulterior predării sale către client, care pot atrage obligația dezvoltatorului de a le remedia pe cheltuiala sa.
Un alt exemplu (probabil ceva mai rar în industria dezvoltării software-ului la comandă) este dat de legea nr. 449/2003, în relația cu consumatorii (persoane fizice). Astfel, vânzătorul este răspunzător pentru lipsa conformității produsului vândut. Obligația de conformitate are un sens destul de larg, prin ea impunându-se vânzătorului să se asigure că respectivul produs corespunde oricărui scop specific solicitat de către consumator, scop făcut cunoscut vânzătorului și acceptat de acesta la încheierea contractului de vânzare-cumpărare. De asemenea, orice lipsă a conformității rezultată dintr-o instalare incorectă a produselor va fi considerată echivalentă cu o lipsă a conformității produselor, dacă instalarea face parte din contractul de vânzare a produselor și produsele au fost instalate de vânzător sau pe răspunderea sa. Practic, din cauza ambiguității noțiunii de "conformitate", în relația cu consumatorii, multe din disfuncționalitățile software-ului apărute după predarea finală către clientul (consumator) ar putea să fie considerate neconformități pe care dezvoltatorul să fie obligat să le remedieze fără vreo plată suplimentară din partea clientului.
Desigur, există și unele excepții sau limitări ale acestor obligații de "mentenanță" impuse de lege dezvoltatorilor de software, dar pe care le vom trata cu o altă ocazie.
Subiectul pe care am încercat să-l atingem este unul foarte generos, iar paleta de întrebări ce pot apărea este practic nelimitată. Nu ne-am propus să tratăm întreaga problematică ce se poate ivi în legătură cu activitatea de mentenanță software, ci mai curând să lansăm o invitație la o dezbatere mai largă pe această temă pe care sperăm să o avem cât de curând.
de Bianca Leuca
de Ovidiu Mățan
de Vlad But
de Bálint Ákos