Hello, I am Andrei. I develop.

idevelop.ro: intelligent web solutions

Proprietatea intelectuala

Proprietatea intelectuala

“If you have an apple and I have an apple and we exchange these apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.” – George Bernard Shaw

Scenariu: tu, gigel-programator-expert, esti contactat de un client sa ii dezvolti un proiect. Semnezi un contract de confidentialitate pe X ani si un contract de cedare a “tuturor drepturilor de proprietate intelectuala” asupra codului furnizat. Te apuci sa scrii proiectul, il scrii cum poti tu mai bine (ca doar de-asta esti expert, nu?), iar intr-o zi il termini si il livrezi.

Peste ceva timp esti contactat de un alt client, pentru un proiect foarte asemanator cu primul, dar fara alta legatura (de genul “am auzit ca ai facut aia, vreau si eu la fel”). Pur si simplu un alt proiect asemanator (sa fim seriosi, nu exista o foarte mare varietate de modele de site-uri pe lumea asta). Tu, gigel, avand o constiinta bine dezvoltata, iti pui intrebarea: “cum scriu eu acest proiect la standardele mele ridicate, avand totusi grija sa nu semene codul prea mult cu cel de la primul proiect ca sa nu am apoi probleme? ma fortez sa-l scriu altfel? wtf?”.

Orice programator experimentat stie ca de la un anumit nivel in sus intri in niste “patternuri” de proiectare si programare, modele pe care le repeti la orice proiect: felul cum scrii si incluzi modulele, cum tratezi userii, formularele, etc.

Asa ca esti pus intr-o situatie destul de absurda, si incepi sa-ti pui si mai multe intrebari.

  • Cum poate cineva sa ingradeasca o metoda de a rezolva o problema?
  • Cum poti tu sa eviti sa rezolvi o problema intr-un anumit fel (care tie ti se pare foarte destept) doar pentru ca aceasta rezolvare ai vazut-o intr-o bucata de cod asupra careia altcineva detinea drepturi de proprietate intelectuala?
  • Poti spune ca ai furat (la modul penal) aceasta solutie daca totusi o folosesti in continuare?
  • Poti spune ca ai “eliberat” acea bucata de cod daca o rescrii putin? Hah!
  • Ce mai inseamna proprietatea asupra unui produs daca toate partile sale componente sunt astfel libere?

O abordare (practica, nu filozofica) asupra problemei este cea din articolul 10 Absolute `Nos!` for Freelancers

In my Terms and Conditions that I require all new clients to sign, I make sure they know that (1) their code has utilized code from other projects which I haven’t charged them for
(2) I will probably use code from their project on other projects
(3) they own the code and implementation of the project (finished website), but not the actual code pieces (login system, image uploader, etc.).
I pride myself in productivity and speed, and I need to use other code all the time to accomplish this.

Exista vreo legislatie in vigoare in Romania care defineste “proprietatea intelectuala”?

Pune un comentariu Freelancing, General
Trackback

13 comentarii Subscribe to Comments RSS

  1. sunt convins că cele mai multe chestii de genul ăsta se semnează pentru design :|

  2. ionutz,
    si pentru aplicatii :).

    Acum vreo 2 ani am facut o aplicatie financiara, pentru o institutie bancara (clienti, credite, consultanta, enspe rapoarte etc.), iar clientul a insistat ca trebuie sa aiba drept total pe proprietatea intelectuala, iar la finalizare sa le dau tot codul pe un cd. Mentionez ca era o aplicatie web, scrisa in PHP, not-encoded, pe serverul lor :).
    Astfel, am crescut pretul cu 20% si le-am scris codul + sql dump pe un cd.

    In alta ordine de idei, articolul e bestial! Site bookmarked, thanks!

  3. hai fii serios. cum faci diferenta intre bucati de cod reciclat sau rescris?

  4. ok, sa zicem ca termenii specifica cedarea drepturilor asupra codului ca intreg, si nu asupra bucatilor. sa presupunem ca site-ul este unul mamut (think neogen). modific la modul de autentificare din username+password in email+password. dintr-o data intreg codul este in proprietatea mea. wow!

  5. O intrebare:
    Drepturile de autor se pun pentru ce face codul… sau pentru cum face codul ?

    Scris de s.ovidiu
  6. Concluzia de bun simt si evidenta este ca aceste “drepturi de proprietate intelectuala” pe intreg codul unui proiect, nu are sens. Andrei, ai explicat bine mai sus, de ce.

    Din cauza asta exista patente pe “bucati” de cod, pe pattern-uri sau, asa cum zice s.ovidiu, pe ceea ce face codul. Si nu se ia un cod imens la gramada, ci se rupe in componente.

  7. cand angajezi un mecanic nu-i platesti si instrumentele, si scolarizarea, etc…

  8. “Poti spune ca ai furat (la modul penal) aceasta solutie daca totusi o folosesti in continuare? “

    da, poti spune asta, daca clientul iti da un caiet de sarcini la care a lucrat cateva luni doar ca sa aibe sens aplicatia, daca a stat cu tine sa iti rezolve bugurile de securitate si sa iti spuna unde gresesti si la sfarsit poate fi si cuvantul dat (integritatea de care vorbeai)
    +acordul de confidentialitate incheiat.

    daca clientul a fost corect cu tine de la cap la coada, poate integritatea programatorului expert il face sa se mai gandeasca si la consecinte.

  9. dan, era vorba de o situatie cu totul ipotetica, serios. ca orice om, imi pun si eu niste intrebari mai mult sau mai putin filozofice, dar de care iata ca ne lovim toti freelancerii zi de zi (cei carora le pasa, evident. ceilalti nu se lovesc de nimic). sunt situatii care le accepti si le respecti, dar asta nu inseamna ca nu poti sa-ti pui intrebari referitor la ce anume “cedezi” de fapt cand semnezi acel contract. altii mai mari ca noi incearca de ani buni sa defineasca proprietatea intelectuala si nu au reusit. unde tragi linia intre “refolosirea” unei functii de 2 randuri si “refolosirea” uneia de 50 de randuri?

    oricum, e evident ca problema se pune doar pe bucati mici de cod (functii, algoritmi, patternuri, etc), la asta se referea acel “folosirea in continuare a unei solutii”. nici nu se pune problema de moralitate in cazul “clonarii” unor portiuni intinse de cod din cadrul aplicatiilor mari, acolo e clar incalcare de contract.

  10. parerea mea ;) e sa nu va dati cu parerea: intrebati un consilier de proprietati intelectuale. Nu dau nume sa nu se interpreteze…

  11. Problema ta e din start :)

    Nu trebuie sa promiti clientilor un cod unic sau confidential sau “numai al lor”, bineinteles si cu explicatiile de rigoare. Pentru ca daca dai de un client mai ciufut si vrea sa se lege de ceva, se va lega si de formularul de contact al site-ului… ca este 90% acelasi cu un alt site facut de tine.

    Mare atentie de ex. daca faci o aplicatie si o vinzi la mai multi clienti, o sa vina unii sa zica “aaa, pai eu vreau si un modul care sa faca X, dar il vreau doar eu, fara sa-l mai vinzi si la altii”. Sa nu te bagi, pentru ca daca un alt client va vrea si el modulul respectiv si tu nu-l vei putea oferi, se va duce altundeva…

  12. Si nu mai ai nevoie sa folosesti echo pentru ca ai folosit in cealalta aplicatie? De ce credeti voi ca nu a fost votata legea patentelelor software in europa? Pentru ca ar insemna sa nu mai fie evolutie… cand faci un soft, de orice fel, iei tot ce e mai bun de la cele deja existente, adaugi toate ideile bune care le ai, si ai cel mai bun soft…

  13. Empire, de acord cu tine, dar undeva trebuie trasa linia. Dupa cum am gandit eu, e mai mult o problema de moralitate decat de numere si procente.

Pune un comentariu