Wątek przeniesiony 2016-08-13 17:24 z Nietuzinkowe tematy przez Rev.

Projekt dla firmy a projekt dla siebie

0

Robię dla swojej firmy (nie programistycznej) projekt do wykorzystania wewnątrz (przez pracowników firmy).Projekt w 100% jest napisany przeze mnie. Chciałbym go wrzucić na githuba aby rozwijać go niezależnie, i aby przy przyszłych rozmowach o pracę było co pokazać. Przy czym pisząc "wrzucić", mam na myślę utworzenie nowego projektu na podstawie tamtego - firmowego, może w nowszych technologiach, ale wykorzystując te same idee, technologie, po części i te same klasy, funkcje, wygląd itd.
I teraz pytanie: jak się ma prawo do takiej sytuacji? Obecna firma może mi kazać skasować projekt z githuba? Podkreślam że projekt nie realizuje jakiś wymyślonych w firmie rozwiązań - po prostu zamiast kupować oprogramowanie napisałem je samemu. Jak od strony moralnej ("oo Panie, tak się nie robi")? Chociaż wątpliwie moralnie by było raczej pokazanie firmowego projektu na rozmowie w innej firmie.

3

Obecna firma może mi kazać skasować projekt z githuba?

Ja na ich miejscu jeszcze bym wstąpił o finansowe zadośćuczynienie.

Jeżeli pisałeś to oprogramowanie w czasie pracy to cały kod napisany przez ciebie należy do twojego pracodawcy. Nie możesz go wrzucać na żadnego githuba.

Na przyszłość idziesz do swojego szefa przed napisaniem takiego programu i o ile nie masz w obowiązkach pisania tego typu softu to proponujesz że sprzedasz firmie licencję i za ew. zniżkę pozwolą ci pracować nad nim w czasie pracy.

0

hmm a jesli pisanie softu nie lezy w jego obowiązkach pracowniczych?

0

@Krwawy Pomidor - w takim przypadku nie mógłby go tworzyć w godzinach pracy.

0
Rev napisał(a):

Obecna firma może mi kazać skasować projekt z githuba?

Ja na ich miejscu jeszcze bym wstąpił o finansowe zadośćuczynienie.

Jeżeli pisałeś to oprogramowanie w czasie pracy to cały kod napisany przez ciebie należy do twojego pracodawcy. Nie możesz go wrzucać na żadnego githuba.

Na przyszłość idziesz do swojego szefa przed napisaniem takiego programu i o ile nie masz w obowiązkach pisania tego typu softu to proponujesz że sprzedasz firmie licencję i za ew. zniżkę pozwolą ci pracować nad nim w czasie pracy.

Robię program który na komendę Ping odpowiada Pong. Dział kadr zadowolony bo rozwiązałem odwieczny ich problem "Ping". Korzystają z programu stale i dodają swoje uwagi do niego, a ja na bieżąco go poprawiam i modernizuję. Po jakimś czasie postanawiam wykorzystać moją wiedzę i doświadczenie i napisać open sourcowy program OpenPing który jest bardzo podobny do firmowego programu CompnyPing...

Nie mówię że wezmę projekt i go wrzucę na githuba. Zakładam projekt, robię review kodu i piszę od nowa z pamięci korzystając czasem z fragmentów kodu firmowego (który po części i tak jest z Stacka albo z githuba ;).
Czy jeżeli dla firmy napiszę np. lepszy edytor tekstu niż Word ;] nigdy więcej już nie będę mógł napisać edytora tekstu? Skoro pisze go jedna i ta sama osoba to nie da się uniknąć powtórzeń, podobieństw itd..
A jeżeli zrobię super funkcję w programie pisanym dla firmy nie mogę zrobić sobie snippeta z tej funkcji na przyszłość? Przecież fragment kodu w programie na githubie będzie identyczny jak fragment kodu w programie napisanym dla firmy A.

0

Skoro to ma być po prostu do portfolio, to czemu nie zrobisz czegoś innego?

Nawet jeśli to, co chcesz zrobić jest legalne, to spójrz na to ze strony potencjalnego przyszłego pracodawcy. Kto będzie chciał zatrudnić kogoś, kto "dziwnym trafem" na GitHubie ma program bliźniaczo podobny do tego tworzonego w pracy?

0
somekind napisał(a):

Skoro to ma być po prostu do portfolio, to czemu nie zrobisz czegoś innego?

Nawet jeśli to, co chcesz zrobić jest legalne, to spójrz na to ze strony potencjalnego przyszłego pracodawcy. Kto będzie chciał zatrudnić kogoś, kto "dziwnym trafem" na GitHubie ma program bliźniaczo podobny do tego tworzonego w pracy?

Jestem w firmie nie programistycznej, programy nie wychodzą na zewnątrz i nie są to programy specjalistyczne. Jeżeli firma ma jakiś problem a ja proponuję że rozwiążę za pomocą programu, to czy w innej firmie z podobnym problem, nie mogę już tego uczynić, aby nie być podejrzanym o kradzież kodu?
Powiedzmy że zrobiłem kafelek do win 10 który pokazuje kalendarz z outlooka 2013. Ludzie zapominali o wydarzeniach więc takie coś zrobiłem. Nie mogę juz tego wrzucić na githuba aby podzielić się z innymi? Firma nie handluje dodatkami do outlooka. A ja nie zostałem zatrudniony aby napisać ten konkretny program. Jakie prawa ma pracodawca a i jakie twórca kodu?

0

To zależy, czy w umowie przekazałeś prawa autorskie do kodu czy nie. Pogadaj z firmą - jeżeli na tym nie zarabiają sprzedając ten soft, tylko wewnątrz używają, to łatwo pewnie będzie skłonić szefa do pisemnej zgody na publikacje kodu, lub otworzenie go ( mogą chwalić się, że są częścią społeczeństwa Open Source etc.) Co do pracodawców i projektów - jakoś nie ufam githubowi i mam swój serwer git, podpięty pod domenę i tego używam.

0

zależy ilu jest ludzi "ze świata technologii" w tej firmie.

Znam przypadek gdzie przy komputerze, online w firmie pracuje z 10 ludzi.
Ale NIKT(!) nie zna(ł) się na informatyce, więc można było cały kod publikować wzdłuż i wszerz po internecie, to nikt by nawet tego nie zauważył.
Za kod odpowiedzialny był "informatyk", który robił z nim co chciał i dowolnie wybierał technologię.
W ogóle za sprawy techniczne odpowiedzialny był "informatyk" (jakoś dziwnie wszyscy się zwalniali po czasie), a pozostałe 9 osób nawet miało problem z odpaleniem przeglądarki.

Natomiast jak w firmie są informatycy, albo ludzie przywiązani do kodu, to już oczywiście sprawa nie jest taka prosta.

0

@Langus oczywiście że nie możesz! To co napisałeś w pracy jest własnością twojego pracodawcy. Nie znaczy to że już nigdy nie możesz pracować przy podobnym projekcie, ale jeśli wyniesiesz z firmy kod produktu i potem skopiujesz go do innego projektu a ktoś sie o tym dowie to zgnijesz w sztumie bo to jest kradzież własności intelektualnej albo nawet szpiegostwo przemysłowe. Oczywistym jest że jeśli zaczniesz pracować przy podobnym produkcie to mogą zaistnieć pewne podobieństwa, ale nie oszukujmy się, wracając do swojego kodu po kilku miesiącach możesz mieć w ogóle wątpliwości czy to ty jesteś autorem, a "z pamięci" to wątpię żebyś był w stanie napisać kod który w pracy wyprodukowałeś dawniej niż tydzień temu. Więc może być podobnie na poziomie architektury / technologii / podziału na moduły (na co możesz mieć wpływ co najwyżej jeśli jesteś architektem czy chociażby seniorem), ale nic więcej. A i to już przy założeniu że nie pojawiła się nowa technologia która pasuje lepiej i wymusza zmiany w architekturze i że te dwa projekty mają identyczne wymagania i założenia. Prawdopodobieństwo takiej sytuacji jest wyjątkowo niskie.

0
Shalom napisał(a):

@Langus oczywiście że nie możesz! To co napisałeś w pracy jest własnością twojego pracodawcy. Nie znaczy to że już nigdy nie możesz pracować przy podobnym projekcie, ale jeśli wyniesiesz z firmy kod produktu i potem skopiujesz go do innego projektu a ktoś sie o tym dowie to zgnijesz w sztumie bo to jest kradzież własności intelektualnej albo nawet szpiegostwo przemysłowe. Oczywistym jest że jeśli zaczniesz pracować przy podobnym produkcie to mogą zaistnieć pewne podobieństwa, ale nie oszukujmy się, wracając do swojego kodu po kilku miesiącach możesz mieć w ogóle wątpliwości czy to ty jesteś autorem, a "z pamięci" to wątpię żebyś był w stanie napisać kod który w pracy wyprodukowałeś dawniej niż tydzień temu. Więc może być podobnie na poziomie architektury / technologii / podziału na moduły (na co możesz mieć wpływ co najwyżej jeśli jesteś architektem czy chociażby seniorem), ale nic więcej. A i to już przy założeniu że nie pojawiła się nowa technologia która pasuje lepiej i wymusza zmiany w architekturze i że te dwa projekty mają identyczne wymagania i założenia. Prawdopodobieństwo takiej sytuacji jest wyjątkowo niskie.

**Żeby nie było, nie chodzi mi o zabranie projektu napisanego w firmie i wykorzystanie go w ten czy inny sposób - mam świadomość że to jest przestępstwo. Nie chcę też publikować tajnych rzeczy firmy, czy robić konkurencji dla produktów firmy. **

Jeśli będę z pamięci pisał projekt i go publikował na świat (wykorzystując tylko doświadczenie z poprzedniego projektu), uaktualniając technologie (np z MVC 5 na mvc core), jestem ok? Podkreślam że firma w żaden sposób nie zarabia utworzonym przeze mnie programem.

Wiecie kim byli twórcy gry Call of Duty? Producenci Medal of Honor: Allied Assault. Pokłocili się z Electronics Arts i odeszli i stworzyli własne dzieło. Wzięli idee i pomysły z poprzedniej gry i wcielili na nowo w życie. Do przestępstwa nie doszło, przynajmniej ja nie słyszałem o jakiś procesach.

1

IMHO tutaj pojawia się kwestia licencji:

jak kod siedzi na czymś liberalnym (MIT, GNU, BSD) : https://en.wikipedia.org/wiki/Free_software_license
to spokojnie można spróbować skorzystać.

Firmy informatyczne oczywiście bronią swojego kodu i nie ma żadnych liberalnych licencji, a wszystko co pracownik wyprodukuje, to jest własnością firmy.
Ale firmy 100% biznesowe - z 1-2 informatykami - to mają często to "gdzieś", a szef/właściciel powie np. "możesz sobie wziąć, ale zrób to tak żeby nie było konkurencji". Czyli takie re-użycie kodu, żeby nie wykluła się z tego konkurencja.

Ważne jest jak skontruowana jest licencja, ale też od wielkości firmy. Korpy czy tam firmy informatyczne, to bronią każdej linijki. Mały i średni biznes (szczególnie nie-informatyczny), to znacznie łatwiej zgodzi się na coś co jest open source.
Dla biznesmena-nie-informatyka-szefa-właściciela ważne jest:

  • ma działać i przynosić zyski
  • ma nie pomagać konkurencji
    a jak kod jest open source, ale spełnia te dwa warunki, to nie ma znaczenia.

Tak jak mówię, znam przypadek małej firmy, gdzie spokojnie można było jakąś liberalną licencję dać, a kod zrobić open source i podpisać się pod tym w CV - i nikt by nie miał pretensji, a konkurencja nawet by nie zauważyła (było to na takim stopniu abstrakcji, że można było zastosować ogólnie w programowaniu i informatyce, a nie tej konkretnej branży).

Równocześnie napiszę, że swój kod mam zarówno na GitHub otwarty, jak i tworzę kod dla firmy która dosłownie "broni jak lew każdej linijki". I nawet jakby coś było na liberalnej licencji, to nie mam zamiaru "otwierać" kodu - bo nie i tyle. No ale swój kod (np. do CV) który sobie napiszę w domu, edukacyjnie, to czasami otwieram.

A właśnie.
Dobrze jest jak manager/szef zna link do GitHuba. I wtedy po prostu może sobie sprawdzić czy wszystko jest w porządku.

0

Czyli najlepiej, aby nie mieć problemów, dogadać się z szefem. Najgorzej jak zarząd nie ma pojęcia co to Open Source i dla pewności zabroni prowadzenia równoległego projektu.

0
Langus napisał(a):

Czyli bardziej najlepiej, aby nie mieć problemów, dogadać się z szefem. Najgorzej jak zarząd nie ma pojęcia co to Open Source i dla pewności zabroni prowadzenia równoległego projektu.

  1. tak, zapytaj szefa

  2. może ty jesteś siostrzeńcem, a firma jest rodzinna? zapytaj wujka przy vódce w niedzielę. Tak jak mówię: drobne firmy (rodzinne np.) znacznie łatwiej się zgadzają na te rzeczy, a wujka Zdziska pie***li co ty zrobisz z tym kodem.

  3. sprawdź licencję

  4. daj szefowi/managerowi od razu link do GitHuba

  5. może to wyjść na twój plus, bo pokażesz, że naprawdę lubisz programować i robisz to nawet w wolnej chwili

  6. jeżeli firma jest twarda, sformalizowana, korpo, informatyczna, z oprogramowaniem zamkniętym - to nawet się nie wygłupiaj, bo to tylko problemy będą. Kwestia wyczucia "kiedy to można zrobić a kiedy nie".

  7. jeżeli firma 4/5 swojego kodu tworzy o rzeczy z GitHuba, rzeczy oparte na liberalnej licencji (najczęściej startupy tak mają), to spokojnie można coś tam opublikować, ale oczywiście najpierw pogadać z ludźmi/szefem którzy tam pracują

według mnie zależy też dużo od abstrakcji danego kodu - jak jest ogólnie i informatycznie, to open-source przejdzie. Jak już się odnosi bardzo konkretnie do branży, to nie ma szans.

imho kwestia wyczucia, co przypadek to będzie inaczej.

0

Dogadaj się z menedżerem. Najlepszy sposób to zaczęcie otwartoźródłowego projekciku w domowym zaciszu, a potem oznajmienie menedżerowi, że taki projekcik w firmie by się przydał i że możesz go wdrożyć. Wtedy menedżer od razu widzi potencjalną wartość z wdrożenia pomysłu i chętniej się zgodzi.

Ja pracuję w międzynarodowym banku w projekcie przeniesionym z UK do Krakowa. Zespół z UK przy okazji tego projektu stworzył wiele własnych bibliotek użytych w tym projekcie:
https://github.com/lancewalton/treelog
https://github.com/agmenc/planet7
https://github.com/agmenc/Pettswood
https://github.com/alltonp/shoreditch
https://github.com/alltonp/jetboot
https://github.com/alltonp/reprobate
https://github.com/alltonp/driveby
https://github.com/PILTT

No i jakoś to funkcjonuje, biblioteki są rozwijane po ich odejściu z firmy, firmowy projekt dalej wykorzystuje te biblioteki i jakoś nie ma zgrzytów. Cały zespół z UK już odszedł do innych firm lub (część z nich) przynajmniej do innych działów banku i prawdopodobnie tam też korzystają z tych bibliotek.

Wrzucanie własnych zmian do otwarto-źródłowych projektów, które nie są naszą własnością też da się uargumentować - najbardziej oczywistym powodem jest to, że opublikowanie i wrzucenie zmian do głównego repozytorium biblioteki odciąża nas od utrzymywania tych zmian. Przy aktualizacji biblioteki nie musimy jeszcze raz wdrażać naszych zmian. Wrzucanie zmian do całkowicie zewnętrznych projektów jednak zdarza się rzadziej niż projektowanie własnych pomocniczych bibliotek.
(sorry za powtarzanie słowa zmian)

1
Langus napisał(a):

Podkreślam że firma w żaden sposób nie zarabia utworzonym przeze mnie programem.

Czyli nikt go w ogóle nie używa, czy jednak nie ma żadnego związku z pracą firmy?
Bo jeśli dzięki Twojemu programowi jacyś pracownicy oszczędzają czas, to znaczy, że firma na tym zyskuje. A jeśli tak, to szef może nie chcieć, aby konkurencja miała taką możliwość.

0

Podsumowując, może być tak:
W firmie, widząc że są problemy z terminowością, tworzę innowacyjny ;) kafelek wyświetlający powiadomienia z Outlooka. W firmie wszyscy są zadowoleni bo dzięki temu poprawiła się sumienność i terminowość pracowników. Ale nie chcę aby projekt był schowany do szuflady, może inni też z tego rozwiązania skorzystają, a przy okazji będzie w moim portfolio. Przełożonemu mówię że chcę zrobić od nowa projekt, bazując na tym firmowym i opublikować go. Ponieważ kolorystyka i układ informacji na kafelku jest optymalny, więc wizualnie będzie podobny do tego firmowego, ale, podkreślam, kod będzie od nowa pisany. Przełożony mówi "takiego wała, konkurencja korzysta także z Outlooka, a jest prawdopodobne że skorzystają z tego dodatku. Więc mówię Nie". Po pewnym czasie ktoś inny publikuje podobne rozwiązanie za kasę zbierając wszystkie laury za innowacyjność. Ja pochlipuję mówiąc cicho "byłem pierwszy". Kurtyna opada. Koniec.

0
  1. Kodu nie możesz użyć, ale piszesz, że zamierzasz przepisać od nowa także to nie problem
  2. Z punktu widzenia prawa to:
    a) jeżeli nie podpisałeś jak specyficznej lojalki
    b) nie ujawnisz tajemnic firmy (czasami przebieg procesu jest traktowany jako tajemnica/wartość dodana)
    to możesz napisać (w godzinach wolnych od pracy, w domu i na swoim sprzęcie) podobne rozwiązanie
  3. Z punktu widzenia etyki można pokusić się o zgodę przełożonego

1 użytkowników online, w tym zalogowanych: 0, gości: 1