Czy odtworzenie / otwarcie programu, który wcześniej kodowałeś dla innej firmy, jest legalne?

49

W poprzedniej pracy stworzyłem ogólny pulpit nawigacyjny do automatyzacji zadań, który okazał się całkiem przydatny - i oczywiście mój poprzedni pracodawca jest właścicielem całego kodu, który napisałem, kiedy tam pracowałem. Teraz, kiedy już mnie tam nie ma, to czy mogę odtworzyć pulpit nawigacyjny z pamięci i otworzyć kod? Jeśli go odtworzę, kod (może 2k-3k wierszy) może być prawie identyczny z oryginałem, ponieważ mam całkiem dobrą pamięć i mam tendencję do przestrzegania mojego zwykłego stylu kodowania i konwencji nazewnictwa.

Edycja: trochę więcej tła - jest to dość ogólne oprogramowanie, które jest używane tylko wewnętrznie przez niewielki zespół (<10) w globalnej korporacji. „Firma” nawet nie zdaje sobie sprawy z tego systemu, ponieważ tworzę go z własnej inicjatywy. Jest zbudowany na python / django. Przez prawie identyczne mam na myśli, że na przykład modele django będą miały tę samą nazwę / pola, a widoki będą używać podobnych zapytań, aby zwrócić te same zestawy obiektów.

kefeizhou
źródło
15
Czy skontaktowałeś się z nimi w sprawie otwartego pozyskiwania kodu? Jeśli nie jest to podstawowa działalność związana z zarabianiem pieniędzy, mogą być szczęśliwi z tego powodu, a także miałoby to dodatkową zaletę, oferując im nowe funkcje za darmo, zakładając, że Twój lub inni rozszerzą go.
dodgy_coder
3
w prawie wszystkich umowach, niezależnie od tego, co robisz dla swojego pracodawcy, niezależnie od tego, czy jest to spisane, czy nie, jest to jego własność intelektualna. Stąd wyplucie go ponownie i udostępnienie go komuś, kto nie wie, że umowa stanowi naruszenie umowy.
stijn
1
Teoretycznie legalne, ale powodzenia, udowadniając, że w sądzie. :(
SF.
6
Ciekawym rozróżnieniem jest tutaj różnica między „legalnym” a „etycznym”. W większości przypadków musisz zadać pytanie, ponieważ znasz już odpowiedź i po prostu nie chcesz jej przyznać.
Joel Etherton
1
Jeśli była to funkcja ogólna, ponowne użycie jej w dowolnym miejscu, a nawet opublikowanie jej w Internecie, wydaje się całkowicie poprawne. Dlaczego więc zestaw funkcji miałby być tak inny?
kefeizhou

Odpowiedzi:

35

Dobre pytanie, ale prawdopodobnie jest to niewłaściwe miejsce, ponieważ nie otrzymasz dobrych porad prawnych od programistów. IANAL, szukaj właściwej porady prawnej.

To nie wydaje się legalne. Istnieje bardzo duża szansa, że ​​jeśli wydasz prawie identyczny program jak ten, który posiada twoja stara firma, możesz zostać pozwany. To powiedziawszy jestem pewien, że to się często zdarza.

Jedną rzeczą, którą możesz zrobić, to odtworzyć program w innym języku. W ten sposób jasne jest, że nie wyszedłeś z firmy z kodem źródłowym, a następnie go open-source. Rozwiązanie ma również charakter edukacyjny w celu rozwiązania problemu, który znasz w innym języku.

Sugeruję również zastanowienie się nad sposobami ulepszenia programu, uczynienia go bardziej rozszerzalnym itp. Za drugim razem, gdy coś robisz, prawie zawsze jest o wiele lepiej niż za pierwszym razem, ponieważ możesz uniknąć wszystkich „Szkoda, że ​​tego nie zrobiłem way ”projektuje decyzje, które możesz podjąć za pierwszym razem.

Nawet jeśli nigdy go nie wypuścisz, byłoby to dobre ćwiczenie. Jeśli ostatecznie otrzymasz poradę prawną i zdecydujesz się ją wydać, będziesz lepiej chroniony.

Mcottle
źródło
5
jeśli chcesz zachować ten sam język, pomyśl o napisaniu „prawie” tego samego kodu, ale zmianie interfejsu użytkownika . Jak powiedział mcottle, możesz go ulepszyć, a jeśli strona wygląda zupełnie inaczej, mimo że ma „prawie” dokładnie ten sam kod niż ten, który robiłeś wcześniej, odsuwasz się od problemów z pozwami.
Olivier Pons,
1
Części kodu, w tym interfejs użytkownika, będą różne, ale niektóre mogą być takie same z różnych powodów (osobisty styl kodowania itp.). Jak daleko muszę się posunąć, aby uzyskać 100% jasności?
kefeizhou
1
-1 dla „nie wydaje się legalne”. Sugestie są dobre, problemy są praktyczne, a nie legalne.
Sean McMillan
2
Dlaczego, do diabła, wszyscy myślą, że przepisując coś od zera, zrobisz coś lepszego? Możesz zrobić coś gorszego.
Clement Herreman
2
@ClementHerreman: Zgadzam się. Czasami lepiej jest iść z czymś, co zostało sprawdzone w działaniu. Jeśli przepisujesz od nowa, możesz wprowadzić wiele ulepszeń, ale także wprowadzić nowe błędy.
kefeizhou
21

Legalne czy nie, jeśli Twój pracodawca dowie się i zdecyduje się na rozwiązanie problemu, znajdziesz się w świecie cierpienia. Nawet jeśli ostatecznie zostaniesz osądzony, potencjalne spory sądowe mogą okazać się dla ciebie całkowicie zrujnowane. Możesz także ponieść gniew społeczności OSS za zanieczyszczenie go kodem chronionym prawem autorskim, a także utratę reputacji z powodu postrzegania go przez pracodawcę jako nieuczciwego.

Ryzykujesz także działania ze strony każdego, kto przyjmie twój produkt. W najgorszym przypadku każda osoba korzystająca z twojego produktu będzie musiała albo licencjonować go od poprzedniego pracodawcy, albo usunąć go ze swojego rozwiązania, co będzie kosztować czas i pieniądze - w obu przypadkach może pozwać cię o odszkodowanie.

Wydaje się, że łatwiej byłoby zrobić to dobrze - porozmawiaj z poprzednim pracodawcą, uzyskaj jego zgodę na ponowne wykorzystanie opracowanego dla nich produktu z zamiarem dystrybucji typu open source. Mogą po prostu powiedzieć „śmiało”. Robienie tego za ich plecami to ogólnie zły pomysł, pomijając kwestie prawne.

papka
źródło
Niemal niezmiennie każdy pracodawca, który dba o posiadanie produktu końcowego, nie pozwoli pracownikowi, który go stworzył, rozpowszechniać go w jakikolwiek inny sposób za jego zgodą. W przeciwnym razie jaki jest cel posiadania tego?
Joe Z.
14

Jaki typ programisty, mając szansę odtworzyć coś, co zrobił wcześniej (wyciągnięte wnioski itp.), Dałby coś „prawie identycznego”. Chyba że uważasz, że kodujesz coś idealnego ??? W tym momencie masz większe pytania.

Mâtt Frëëman
źródło
10
leniwy rodzaj, który nie ma dużo czasu. Wolę po prostu użyć tego, co działa, niż spróbować rozwiązać ten sam problem dwa razy w TYM konkretnym przypadku.
kefeizhou
8

Pulpity nawigacyjne to kilkanaście centów. Twój pracodawca nigdy nie był właścicielem własności intelektualnej tego pomysłu. Twój pracodawca był właścicielem praw autorskich do konkretnego wdrożenia.

Możesz napisać nowy kod od zera. Oznacza to, że praca nie jest dziełem pochodnym. Mądrze jest przechowywać notatki, aby to udowodnić.

MSalters
źródło
Ostatnia aktualizacja: theregister.co.uk/2011/09/30/software_copyright . Oczekuje się, że ETS wyraźnie oświadczy, że interfejs użytkownika nie jest sam w sobie chroniony prawami autorskimi, ponieważ podlega on „pomysłom i zasadom” oprogramowania.
MSalters
5

Technicznie tworzysz dzieło pochodne - znasz istniejące rozwiązanie i odtwarzasz je z pamięci. Obowiązuje zwykły IANAL, ale jeśli twój poprzedni pracodawca pozywa cię za naruszenie praw autorskich, domyślam się, że mają dość mocny argument i to od ciebie zależy, czy wymyślisz wiarygodne wyjaśnienie, dlaczego Twój odtworzony program nie powinien być uważanym za dzieło pochodne.

Pomijając techniczne aspekty prawne, wchodzenie w spór z byłym pracodawcą nigdy nie jest tam, gdzie chcesz być - nawet jeśli wygrasz, będziesz „tym facetem”, co, jak sądzę, byłoby mądrym posunięciem w karierze.

tdammers
źródło
3
Nie sądzę, że tak definiowane są dzieła pochodne - myślę, że musisz uwzględnić ich część.
Sean McMillan
Zależy od jurysdykcji i interpretacji, ale „wyprowadzanie” niekoniecznie musi oznaczać „obejmować części”.
tdammers
1
@tdammers: Tak, ale to sprawia, że ​​nie ma sensu pytać tutaj. Nie jesteśmy ogólnie prawnikami, a ci, którzy nie są prawnikami OP. Nie możemy odpowiedzieć na konkretne pytania prawne (i zauważyć, że to, co stanowi „dzieło pochodne”, jest gorącym tematem dyskusji w świecie F / OSS).
David Thornley,
Cóż, chodzi mi o to, że nawet jeśli odtworzysz rzecz z pamięci, będziesz miał trudności z udowodnieniem, że nie jest ona wyprowadzona, gdy sędzia / jury wie, że napisałeś również oryginał, który wygląda dokładnie tak, jak twierdzisz nie jest dziełem pochodnym. „Niewinni aż do udowodnienia winy” nie ma zastosowania do prawa prywatnego.
tdammers
4

W USA, jeśli twój były pracodawca zdecyduje się Cię pozwać, będziesz miał kłopoty bez względu na to, co sądzą sędziowie.

Teoretycznie Twoja firma jest właścicielem pracy, a nie mózgu. Dlatego jeśli ponownie wykonasz pracę w swoim czasie, nie powinni oni mieć do tego prawa własności. W końcu zatrudnili cię z tego, co wiedziałeś, zanim cię zatrudnili. Zakładanie, że mogą skorzystać z twojej wcześniejszej wiedzy, ale jednocześnie odmawia ci tego samego po odejściu, wydaje się nielogiczne. Ale IANAL też.

Chyba że oczywiście zmusili cię do podpisania kilku szalonych rzeczy. Lub chyba że złożyli patent. Gdyby tak było, że oni właścicielem tej części mózgu. W takim przypadku wzorce komórek nerwowych, które składają się na tę wiedzę w twoim mózgu, nie są już twoje i powinieneś powstrzymać się od ich ponownego użycia. Mów o sprzedaży swojej duszy.

bastibe
źródło
3

Odejdę od głównego tematu, aby powiedzieć, że czuję, że to wszystko jest naprawdę smutne.

Teraz pytanie:

Jeśli byłeś stolarzem, który produkował meble, a poprzednia firma dostarczyła ci plany i projekty, to zostajesz zatrudniony przez inną firmę, najwyraźniej masz kłopoty, jeśli zaczniesz robić dokładnie to samo.

Jeśli twoja poprzednia firma kupiła tylko produkt twojej pracy, a ty je zaprojektowałeś i „wymyśliłeś” (i możesz to udowodnić), prawo powinno być przy tobie.

Morał tej historii: następnym razem zrób to open source od samego początku.

Pan Smith
źródło
Rozważyłem to w tamtym czasie, ale jest zbyt wiele biurokracji związanej z próbą otwarcia źródła nawet małego fragmentu kodu z firmy finansowej.
kefeizhou
3

(a) Nie korzystaj z porady prawnej przez Internet (w tym tej porady!)

(b) Pozwanie do sądu jest prawdziwym bólem z tyłu, nawet jeśli wygrasz

(c) Wygląda na to, że uważasz, że nie ma realnego ryzyka, że ​​zostaniesz pozwany. Jeśli tak, to prawdopodobnie nie ma znaczenia, czy masz do tego prawo prywatne.

Niezależnie od tego, czy jest to zgodne z prawem, sprowadza się to do tego, ile chcesz odtworzyć ten projekt, a ile chcesz ryzykować pozwem. Jeśli masz pieniądze, proponuję najpierw porozmawiać z prawnikiem na temat tego, czy masz do tego prawo, a jeśli tak, to koszt postępowania sądowego.

Marcin
źródło
0

Prawdopodobnie istnieje prawna różnica między odtwarzaniem rozwiązania z pamięci a tworzeniem oryginalnego rozwiązania o tej samej specyfikacji (ale IANAL, więc zapytaj o to). Aby to udowodnić, możesz opublikować oryginalną i pełną specyfikację narzędzia, które planujesz rozwijać na swoim blogu. W takim razie możliwe jest kodowanie go przez innego programistę, który nigdy nie widział twojej wcześniejszej pracy.

hotpaw2
źródło
0

Oto prosty sposób: -Otwórz pulpit nawigacyjny z publicznie dostępnego adresu URL. - Pomyśl o najlepszych sposobach, aby ułatwić / poprawić / tak dalej. -Opisz to w innym języku, jak wcześniej sugerowano. Dobry powód, aby nauczyć się ruby, haskell, seplenienia i tak dalej. - Następnie zrób projekt open source. dodaj „inspirowane przez ...” i link do oryginalnej strony.

ZeusTheTrueGod
źródło
0

Proszenie ich o pozwolenie nie kosztowałoby dużo czasu. Potrzebujesz pisemnego podpisu prawnego. Aby zakryć siebie.

Ale jeśli masz zamiar poprosić ich o pozwolenie na odtworzenie czegoś, co już dla nich stworzyłeś. Sprzedaj im to. Sprzedaj im pomysł. Zamierzasz otworzyć źródło oprogramowania, którego już używają, i udostępnić je potencjalnie znaczącym recenzjom i dodatkom od społeczności programistów. Nie będą musieli wydawać zasobów wewnętrznych na zarządzanie i ulepszanie oprogramowania. Chyba że chcą uzyskać większe korzyści. Mam na myśli naprawdę sprzedać im ten pomysł.

Jeśli nie jest to podstawowa technologia biznesowa, którą sprzedają klientom, prawdopodobnie dość łatwo uzyskasz zgodę. Jeśli sprzedają coś klientom, otwierają się na konkurencję konkurującą z tym samym produktem. Tylko Ty naprawdę wiesz, jak ważny jest twój poprzedni pracodawca, oglądając ten kod. Jeśli nie jest to tak ważne, aby generować dochód, a jedynie poprawia wydajność, istnieje duże prawdopodobieństwo, że uzyskasz zgodę.

Jest to najtańsza i najkrótsza droga do uzyskania tego, czego chcesz. Jeśli powiedzą tak, nie ma problemu. To kosztuje tylko trochę czasu. Jeśli powiedzą „nie”, a ty nadal chcesz kontynuować, zapytaj prawnika o jego opinię. Oczekuję, że jedyne, co mają, to wdrożenie. Jeśli odtworzysz go z wystarczającą liczbą zmian, aby nie wyglądał i nie działał dokładnie tak samo, znacznie lepiej.

Jest to stan dysfunkcyjny obecnego systemu, w którym nie jesteśmy właścicielami produktów naszej pracy. Niektóre społeczeństwa odnoszące największe sukcesy, w których ludzie mogą swobodnie czerpać korzyści z własnego wysiłku. Możesz porównać tę sytuację do feudalnej własności ziemi i problemów, które ona stworzyła. W pewnym momencie ludzie będą inaczej robić interesy. Podobnie jak google 1/5 twojego czasu na własne projekty.

nelaaro
źródło
0

Z pewnością wszystko sprowadza się do umowy między tobą a klientem. Jeśli planowałeś to zrobić, powinieneś mieć klauzulę, która stwierdza, że ​​„ten plik źródłowy pozostaje własnością intelektualną kefeizhou ...” lub coś w tym rodzaju (wiem, że z perspektywy czasu 20/20). Zgadzam się z innymi komentarzami, że Programmers SE nie jest najlepszym źródłem porad legaklowych i że legalne czy nie, to powoduje problemy. Nawiasem mówiąc, pracowałem jako grafik i w tej branży prawie wszystkie prace pozostawały własnością klienta, a nie projektanta.

Paul T. Davies
źródło
Więc jeśli narysujesz zdjęcie samochodu dla jednego klienta, nie możesz już narysować zdjęcia samochodu dla innego klienta?
Nate
Nie, nie możesz narysować obrazu samochodu dla jednego klienta, a następnie przesłać ten sam rysunek samochodu drugiemu klientowi. Ale także nie możesz przekazać drugiemu klientowi niczego, co może być prawnie uzasadnione, że jest takie samo lub zbyt podobne do samochodu pierwszego klienta.
Paul T Davies,
-1

We Francji jest to nielegalne.

Właścicielem kodu jest twój były szef. Bez względu na to, jak go odzyskasz, z dysku USB lub z pamięci.

Jeśli chcesz korzystać z tego pulpitu nawigacyjnego, musisz zawrzeć umowę z właścicielem.

mouviciel
źródło
Czy na pewno każda firma ma własną politykę w tym zakresie, a nie prawo krajowe? Pomyślałem, że będzie to coś, co jest zawarte w umowie z pracownikiem firmy.
dodgy_coder
Domyślnie dostajesz wynagrodzenie w zamian za napisanie kodu. Chociaż może istnieć taka możliwość, nie znam alternatywnych zasad. Inaczej jest, jeśli jesteś freelancerem i sprzedajesz aplikacje lub biblioteki, w którym to przypadku jesteś szefem i posiadasz swój kod.
mouviciel
Dobrze, że nie jestem we Francji.
kefeizhou
1
Czy mogę dać Francji -1? „pobieranie z pamięci” wcale nie jest tym samym, co z dysku.
Sean McMillan
2
Czy to oznacza, że ​​we Francji, jeśli wdrażasz algorytm lub piszesz jakiś program, nigdy nie możesz wdrożyć tego algorytmu lub napisać takiego programu dla innego pracodawcy?
David Thornley,