Category Archives: Software

Despre OpenSource

Un articol interesant de Mihai Badici despre OpenSource software pe contributors.ro.

gnu_linux

Din anii ’80 o nouă stafie bântuie planeta, ca să îl parafrazez pe tătuca Marx. Mișcarea GNU, care a generat avalanșa de software OpenSource pe care o avem la dispoziție astăzi, ar fi fost cu siguranță pe placul ideologul comunismului. Totuși, se pare că societateacapitaliștilor veroși îi priește chiar mai mult și a reușit să își găsească un loc solid în lumea IT globală .

Proiectul GNU a fost inițiat de Richard Stallman în 1983, dar în momentul de față miscarea OpenSource a depășit cu mult cadrele acestui proiect. La origine manifestul lui Stallman dădea glas unei frustrări comune în lumea IT-ului: pasionații domeniului doreau să poată avea control asupra software-ului pe care îl rulează, pentru a-l putea analiza, modifica, îmbunătăți. Ori, distribuit în formă de executabil, software-ul este extrem de dificil de analizat ( la nivelul actual, aproape imposibil). Si bineînțeles era și scump, ceea ce în atmosfera de efervescență a anilor ’80 era un impediment major în dezvoltarea sa de către entuziaști.

Totuși, partizanii OpenSource au făcut mereu distincția între “free as in free speech” și “free as in free beer”. Cu alte cuvinte, deși nu ignoră avantajul de a fi gratis, ceea ce e important este accesul la conținut, respectiv accesul la surse. Astfel au apărut  licențele GPL , care permit distribuirea software-ului doar împreună cu codul sursă. Ideea de bază este că software-ul poate fi modificat și distribuit în această formă, cu condiția ca modificările să fie distribuite și ele sub formă de cod sursă.

Oamenii scriind cod disponibil gratuit, asta chiar arată ca o idee comunistă, iar Balmer chiar a declarat la un moment dat că “Linux is a cancer that attaches itself in an intellectual property sense to everything it touches”  ( de fapt licența nu obligă la distribuirea gratuită, însă permițînd redistribuirea, e cam greu să obții mulți bani din vânzarea software-ului). Și totuși…

Secretul succesului constă tocmai în coexistența elementelor opensource cu cele proprietar.

Un producător de routere, de exemplu, ar trebui să scrie un minisistem de operare pentru echipamentele pe care le produce ( și unii chiar aașa procedează). Insă mai ușor este să preia un kernel OpenSource ( de obicei un Linux sau FreeBSD) și să scrie doar părțile specifice hardware-ului pe care îl produc. Respectivul soft poate fi sau nu proprietar, nu prea contează, interesul e să obții un router funcțional în timp scurt și să îl pui pe piață înaintea concurenței. Această abordare funcționează pentru majoritatea produselor hardware; dacă produsul conține un modul care trebuie protejat de ochii concurenței, acesta va fi acționat de un modul software closed source.

Bineînțeles, există scenariul normal, în care banii vin din suportul tehnic. Lucrurile sunt simple; dacă nu vă ocupați cu IT-ul, încercați să porniți un server de mail sau de web mai întâi pe Windows, apoi pe Linux. E probabil că nu veți reuși să le faceți să meargă pe niciunul. Deci va trebui să apelați oricum la cineva. Doar că în cazul în care optați pentru Microsoft, veți plăti consultanță+ licență.

Mișcarea OpenSource este însă mult mai importantă pe un plan mult mai subtil, de aceea asocierea cu paradigma comunistă a fost mai mult o glumă. Lumea academică are nevoie ca de aer de schimbul de informații; de aceea contractul universităților americane cu DARPA s-a transformat atât de repede și atât de fundamental în Internetul de astăzi. Software-ul este o ocupație inginerească în plină dezvoltare, programatorii în devenire trebuie să învețe de la cei mai buni, programatorii buni trebuie să schimbe între ei idei și soluții pentru ca domeniul să progreseze. Nu în ultimul rând, programatorii trebuie să mai dea câte un copy/paste din software-ul anterior, pentru a nu inventa din nou roata la fiecare proiect; pentru a depana cu eficiență trebuie să poată verifica dacă API-ul cu care comunică se comportă într-adevăr ca în manual. Ori pentru asta, e nevoie de acces la surse și de o licențiere care să te asigure că dacă ai copiat o porțiune de soft fără importanță nu ajungi în fața judecătorului. ( vezi recentul proces referitor la Java, în care Google a fost acuzat de Oracle că a preluat din Java câteva linii de cod…. care fuseseră scrise de aceeași persoană, plecată de la Sun la Google. Cum altfel am proceda dacă ar trebui să scriem de doua ori același cod?).

Există deci o nevoie naturală de cât mai mult software OpenSource, și pe cât se poate din cel “călit” pe servere și stații reale, nu din cel scris în laboratorul de informatică.  Sigur că nu e nevoie ca tot software-ul  să fie Open Source, asta chiar ar fi extremism, așa cum sunt toate ideile duse la limită.

Dar există o bază pe care se poate dezvolta; dacă cineva vrea să dezvolte o facilitate anume, nu trebuie să pornească de la zero, ci o poate adăuga la un software existent.

Se pare că totuși nu e nevoie să schimbăm lumea; e suficient doar să facem lucrurile să se întămple.

Strategia Microsoft pentru aplicaţiile pe Windows Phone – preluare

Citez dintr-un articol din ZF legat de aplicatiile windows mobile, de care am mai vorbit. Nu stiu de ce, dar am un feeling ca Microsoft (si Nokia) vor juca o carte castigatoare cu Windows Mobile – un semn este deja publicitatea sustinuta si sprijinul presei de specialitate.

Subsidiara locală a companiei Microsoft va investi în acest an peste 250.000 de dolari pentru a sprijini comunitatea locală de dezvoltatori să adopte şi să lanseze aplicaţii şi servicii pentru platforma Windows Phone, a declarat pentru ZF Petru Jucovschi – Developer Evangelist în cadrul Microsoft, care va detalia în această săptămână planurile gigantului software în această direcţie în cadrul evenimentului ZF Mobilio-Apps & Business Forum, care va avea loc pe 24 şi 25 aprilie în Bucureşti.

Investiţia Microsoft în dezvoltarea ecosistemului Windows Phone în România a fost realizată atât prin realizarea unor traininguri, cât şi prin granturi şi alte iniţiative – iar aceste activităţi vor continua pentru a stimula dezvoltatorii locali să lanseze aplicaţii pentru telefoanele inteligente cu Windows, spune Jucovschi.

Spre exemplu, chiar dacă magazinul de aplicaţii pentru smartphone-uri al Microsoft – Windows Phone Marketplace nu este deschis direct încă dezvoltatorilor din România (tocmai a fost deschis pentru utilizatori), compania îi sprijină pe developerii din România să publice prin intermediul Appa Market, o companie afiliată programului Global Publisher.

Dezvoltatorii români de soft sunt interesaţi să dezvolte aplicaţii pentru platforma Microsoft, spune Jucovschi. “Stilul Metro creat de Microsoft pentru interfaţa utilizator este apreciat de designeri pentru simplitate şi accentul pe care îl pune pe conţinut.”

Articolul integral aici.

ERP: local versus internaţional – preluare

Un articol din MarketWatch despre piata ERP-urilor din Romania:

O piaţă atipică

La nivelul superior al pieţei, situaţia este relativ simplă, atât pentru că numărul jucătorilor este redus, cât şi pentru că dominaţia soluţiilor internaţionale este mai evidentă. Proiectele mari şi foarte mari sunt, în general, adjudecate de SAP şi Oracle, însă, la nivel mediu, există şi nume locale, precum Charisma sau SIVECO Applications.

După 2009, evoluţia a fost puţin diferită şi, pe fondul crizei, unele companii mari s-au orientat către soluţii cu un cost de implementare mai mic, fie că erau internaţionale (Microsoft Dynamics AX) sau locale, dintre cele amintite anterior. Pe de altă parte, vendorii internaţionali mari şi-au extins portofoliul cu soluţii dedicate SMB, ceea ce a schimbat substanţial segmentarea pieţei.

Deşi, aparent, concurenţa pe acest segment pare minimă, Valentin Tomşa, Country Manager SAP România afirmă: „Piaţa românească nu este o piaţă matură, iar acest lucru este determinat de mai mulţi factori. Printre aceştia se numără adresabilitatea şi targetarea. Mai exact, în România, orice furnizor de soluţii soft-ware se adresează oricărui tip de companie şi oricărei industrii, cu orice tip de soluţie, ceea ce nu se întâmplă într-o piaţă matură.“

Concurenţă ridicată pe segmentul mediu

Pe segmentul mediu al pieţei, oferta este, însă, mult mai largă, atât din punct de vedere al produselor internaţionale (categorie în care se distinge Microsoft Dynamics NAV, disponibil printr-un număr mare de companii-partener), cât şi al celor locale, cu vendori precum Wizrom, Transart, Senior Software şi BitSolutions, aflaţi în prima linie.

Pe acest segment, o soluţie internaţională ca Microsoft Dynamics NAV are, în principal, avantajul comunităţii de parteneri, care înseamnă, pe de o parte, disponibilitatea unui număr ridicat de add on-uri (module suplimentare pentru particularizarea soluţiei pe o anumită verticală sau nişă), iar pe de alta libertatea clientului de a alege cel mai potrivit partener pentru implementare şi suport. O soluţie locală este, în general, disponibilă printr-o singură companie, ceea ce inevitabil duce la o dependenţă de furnizor, în timp ce o companie interesată de NAV poate alege unul dintre parteneri: LLP Dynamics, Novensys, Brinel, Elian Solutions, Kepler etc.

Articolul integral la link-ul de mai sus.

Stimulat de Microsoft

Dupa ce ani de-a randul Microsoft a luat bani de la companiile si utilizatorii produselor sale, iata ca a venit vremea sa ii si dea inapoi. In ce context? In domeniul aplicatiilor pentru smartphone pe platforma Windows 8.

Microsoft realizeaza ca a cam pierdut trenul in zona asta, pana a iesit Windows 8, iOS si Android au ajuns departe, avand peste 90% din piata. Cam in aceeasi pozitie se afla si Nokia, dar din perspectiva terminalului. Dar iata ca cei doi mari perdanti al business-ului smartphone si-au dat mana (ca in logo-ul lor comun de altfel) si impreuna vor sa aiba si ei o halca din piata smartphone.

Primul terminal al Nokia cu Windows 8 a aparut deja (Lumia 900), dar terminalul nu e totul. E nevoie si de aplicatii pentru a atrage utilizatorii. Mai mult, ceea ce Microsoft nu are, are concurenta Apple si Google: o piata uriasa de aplicatii in app store-urile proprii, multe din ele cu descarcare gratuita.

Asta se realizeaza greu, iar pentru a o stimula Microsoft ofera companiilor producatoare de aplicatii pe langa telefoane gratuite pentru testare si pana la 50.000 de euro pentru aplicatii cu adevarat bune. Asa, de motivare. Mai multe detalii in acest articol.

Desi dezvoltarea se face intr-un singur framework si ca o singura aplicatie pentru toate platformele (PC / tableta / smartphone), exista totusi un flavour lite pentru device-uri mobile numit “Metro style” applications. Exista SDK, tool-uri pentru dezvoltarea Metro UI (in stadiul “developer version” deocamdata) complet integrate in IDE-ul Microsoft Visual Studio ce permit dezvoltarea si testarea aplicatiilor mobile.

Cum acesti bani reprezinta o suma bunicica pentru o companie mica (sau de ce nu, pentru un freelancer) puneti mana si invatati programare Windows mobile.

IT sau software?

De la bun inceput vreau sa fac distinctia intre IT si software / dezvoltare software, fapt pentru care apelez la cateva definitii.

Conform Wikipedia, “IT (Information, Tehnology) este tehnologia necesara pentru prelucrarea (procurarea, procesarea, stocarea, convertirea si transmiterea) informatiei, în particular prin folosirea computerelor (calculatoarelor electronice)”.

Acum definitia pentru software, in engleza: “Computer software or just software, is a collection of computer programs and related data that provides the instructions for telling a computer what to do and how to do it. Software refers to one or more computer programs and data held in the storage of the computer for some purposes. In other words, software is a set of programs, procedures, algorithms and its documentation concerned with the operation of a data processing system.”

Prin urmare dezvoltarea software este activitatea care are ca scop producerea de computer software.

Extrapoland din definitii, IT este un domeniu mai larg decat software-ul. Software-ul se imparte si el in produse (software pentru utilizare multipla pe baza de licenta comerciala sau freeware/shareware) si software dedicat/custom.
IT-ul inglobeaza hardware, retelele de calculatoare, software freeware, software COTS (commercial off the shelf ), sisteme complexe obtinute prin integrarea celor de mai jos si nu in ultimul rand software-ul custom.

Ma vad nevoit sa fac aceasta clarificare pentru ca multa lume percepe termenii IT sau software ca fiind echivalenti. Si ma refer aici la multa lume care e utilizator de calculator. Chiar si multe publicatii generaliste care eu si rubrica de  IT sau “IT & Media” cum se mai poarta fac aceeasi greseala.

De exemplu, orice companie care foloseste o retea de calculatoare are un departament de IT (o persoana in altima instanta) care se ocupa de administrarea retelei, a conexiunii la internet, a serverului de web (daca e cazul), de configurarea serverului de mail, de securitate, de instalarea si configurarea de software pe statiile de lucru si pe server. Aceasta activitate nu e software development. Acele companii nu fac software si nu sunt companii de software.

Despre ce e si ce face o companie de software, in posturile ce urmeaza.