Czy etyczne jest stosowanie kodu osobistego w pracy?

29

Pracuję nad projektem pobocznym w pracy, w którym uważam, że warto wykorzystać część mojego kodu, który opracowałem osobiście (poza pracą), aby przyspieszyć mój rozwój. Mój poboczny projekt polega na opracowaniu aplikacji GUI C ++, która pozwoli naszym zaawansowanym użytkownikom uruchamiać zapytania (zbudowane przeze mnie) na bazach danych na kilku różnych platformach ( DB2 , Oracle, SQL Server i MySQL ). W przeszłości zwykle po prostu uruchamiałem je na żądanie lub budowałem dla nich aplikację Excel VBA . Teraz, gdy zbudowałem kilka aplikacji VBA dla kilku różnych osób, widzę potrzebę zbudowania jednej centralnej aplikacji, która po prostu odczytuje niestandardowe pliki .sql i działa na różnych bazach danych.

Aplikacja, którą tworzę, jest w C ++ i korzysta z wieloplatformowego zestawu narzędzi GUPL LGPL . Mam jednak dużo kodu, który w swoich własnych bibliotekach budowałem przez lata na projektach związanych z czasem wolnym, niezwiązanym z pracą. Czy mogę używać tego kodu w pracy, oszczędzając mi (i firmie) czas? Jeśli tak, to czy mogę przenieść jakieś poprawki błędów i ulepszenia z powrotem do mojej osobistej biblioteki? Wydaje się, że istnieje linia, której nie wiem, kiedy ją przekroczę.

Chcę tylko dodać, że żaden osobisty kod nie ma nic wspólnego z logiką biznesową. Są to tylko podstawowe klasy użytkowe / opakowania.

Peter Mortensen
źródło

Odpowiedzi:

38

Czy mogę używać tego kodu w pracy, oszczędzając mi (i firmie) czas?

Tak, to etyczne. Jeśli opisujesz, że jesteś właścicielem kodu, możesz go swobodnie przekazać swojej firmie. Zatrudnili cię do napisania kodu, aby zaufali Twojemu kodowi.

Jeśli tak, to czy mogę przenieść jakieś poprawki błędów i ulepszenia z powrotem do mojej osobistej biblioteki?

Twoja umowa prawdopodobnie tego zabrania, chyba że uzyskasz pozwolenie (sprawdź umowę).

Najlepszym rozwiązaniem jest rozmowa z przełożonym. Nie widzę żłobu, który odrzuciłby twoją prośbę. Sprawia również, że dobrze wyglądasz, gdy wskazujesz, w jaki sposób kodowanie osobiste pomaga firmie.

Tom Squires
źródło
Jeśli robisz poprawki błędów z pamięci, a nie kopiując kod wykonywany w pracy (który może być śledzony), trudno jest udowodnić, skąd wziął się ten pomysł; równie prawdopodobne jest, że zrobiłeś poprawkę w wolnym czasie i ponownie zaimportowałeś ją do swojego kodu pracy
Izkata,
@Izkata: Pytanie dotyczyło etyki , a nie udowodnienia. Niezależnie od tego, czy można udowodnić, że backporting miał miejsce, czy nie, pytający nadal będzie backporting . Jeśli, jak mówi Tom Squires (prawdopodobnie słusznie), umowa zabrania tego, to nie, nie byłaby etyczna .
Ross Patterson
@RossPatterson Druga połowa, dotycząca backportowania, nie dotyczyła etyki, a Tom wydaje się interpretować to samo, co ja - kwestia prawna bardziej niż etyczna. Poza tym, jeśli poprawki są wykonywane z pamięci, kod prawdopodobnie nie będzie identyczny, chyba że będzie to absurdalnie prosta poprawka - w obu przypadkach nie wiąże się to z etyką, to tylko zbieżny projekt.
Izkata,
Prawdziwe pytanie nie dotyczy etyczności ani zaufania, chodzi o to, czy umieścisz kod na odpowiedniej licencji, zanim spróbujesz go użyć w pracy. Pomyśl o prawach autorskich i pomyśl o tym na dwa sposoby.
JensG
22

Niektóre firmy również roszczą sobie prawo do pracy wykonanej poza godzinami pracy. To zależy od firmy, niektóre z nich są bardzo zaangażowane w kontrolę IP.

Wszystko powinno znajdować się w umowie. Martwią się, jeśli złożą pretensje do twojej pracy w wolnym czasie, co było moim przerażeniem.

zeristor
źródło
2
na pewno warto na to spojrzeć, istnieje spora szansa, że ​​jest to już ich kod zgodny z umową, a dodanie go do bazy kodu prawie na pewno uczyniło z niego kod.
Ryathal
Zgłaszanie prac, które wykonałeś poza pracą ? Czy to możliwe? Myślę, że musi to zależeć od kraju, w którym pracujesz, ponieważ o ile wiem, byłoby to nielegalne we Francji, nawet jeśli byłoby zapisane w twojej umowie.
Clement Herreman,
1
Wiele firm próbuje tego nie egzekwować, ponieważ z prawie każdej umowy wynika również, że nie możesz pozwać swojego pracodawcy.
Woot4Moo,
1
+1 @Raythal - chyba że OP udzielił swojej pracodawcy licencji , włączając ją do swoich projektów bez uprzedzenia, mogąc uczynić z niej produkt pracy. Być może bezpowrotnie zanieczyścił swoje biblioteki osobiste, jeśli jego firma się dowie i zostanie sikana.
DaveE
2
IANAL, ale w wielu umowach dotyczących własności intelektualnej występuje się o własność intelektualną w czterech sytuacjach: jeśli praca została wykonana na czas w firmie, jeśli wykorzystała zasoby firmy (sprzęt, oprogramowanie itp.), Jeśli wynika to z pracy wykonanej dla pracodawcy (być może z wykorzystaniem chronionej firmy informacje - zastrzeżone algorytmy itp.) lub jeśli są one związane z bieżącą działalnością firmy lub faktycznymi lub przewidywanymi badaniami lub rozwojem. Ostatni jest najbardziej niejasny, ponieważ wszystko można „przewidzieć”. Byłbym zainteresowany, aby dowiedzieć się, czy ktoś został o to pozwany w sytuacji innej niż bezpośrednia rywalizacja z pracodawcą.
Klif
6

Twoja firma może mieć dedykowany dział IP lub specjalistę. Sprawdź u nich. Twój menedżer powinien móc Cię skontaktować.

Z pewnością jest to etyczne; Nie wyobrażam sobie, żeby twoja firma żałowała, że ​​masz większy dostęp do twojej pracy i siły mózgu. Chcesz uchronić się przed utratą kontroli nad własnym kodem. Niektóre rzeczy, które możesz rozważyć najpierw, to stworzyć projekt open source z kodem i przypisać mu licencję zgodną z polityką IP firmy.

Sprawdź także, czy uzyskać oficjalne pozwolenie na wydanie dowolnego kodu, który do niego włączysz. Niektóre (wiele?) Firm nie ma nic przeciwko udostępnianiu kodu na podstawie licencji typu open source, o ile istnieje wyraźny rozdział między kodem otwartym a kodem firmowym. Może to być prawdą, nawet jeśli w umowie jest napisane „jesteśmy właścicielami wszystkiego, co robisz, nawet zdalnie, związanego z pracą”. Z mojego doświadczenia wynika, że ​​martwią się głównie o osłabienie przewagi konkurencyjnej w swojej podstawowej działalności. Jest to kolejny powód, aby umieścić kod w odpowiednio licencjonowanej bibliotece zamiast importować go bezpośrednio.

Mam nadzieję że to pomoże.

Mike B.
źródło
2

To jest całkowicie etyczne. Często badam nowe technologie i różne sposoby robienia rzeczy w domu, i niejednokrotnie opracowałem w domu coś, co wykorzystałem w swojej pracy. Nie miałbym też żadnych problemów z przyniesieniem poprawek lub ulepszeń do domu (lub przywiezieniem ich z domu do pracy).

Byłbym zaniepokojony, jeśli zamierzałeś samodzielnie wydać swoją pracę. W takim przypadku w ogóle nie przyniosłbym tego i nawet nie próbowałbym ponownie użyć projektu. Jak powiedzieli inni, sprawdź umowę o pracę i przedyskutuj ją ze swoim przełożonym. Jeśli nie masz jednej z tych umów typu „pracujesz dla nas 24 godziny na dobę, 7 dni w tygodniu”, możesz rozważyć wydanie kodu na licencji i używanie tylko kodu zwolnionego w pracy. Wtedy tak naprawdę nie różni się niczym od korzystania z projektu open source lub wolnego oprogramowania, co, jak zakładam, jest już w stanie zrobić.

TMN
źródło
1

Jak zawsze to zależy. W takim przypadku, o czym mówi a) licencja, którą umieściłeś na kodzie ib) o tym, co mówi twoja umowa. Być może zechcesz zawrzeć umowę biznesową z firmą, która obejmuje kod napisany przed dotarciem.

Nie ma z tym ogólnego problemu etycznego, o ile wcześniej się nad tym zastanowisz.

Andrew McGregor
źródło
licencja, którą nałożysz na swój kod, może, ale nie musi być istotna, w zależności od tego, co mówi umowa, jeśli twój pracodawca rości sobie prawo własności do wszystkiego, wówczas każda licencja, na którą podłożysz swój kod, byłaby nieważna, ponieważ nie miałeś prawa do licencjonowania tego kodu.
Ryathal,
1

Absolutnie zgadzam się z poprzednim plakatem, moim zdaniem etyka tak naprawdę nie stanowi problemu, chyba że kontrakt zabrania ci używania skryptów / oprogramowania, które nie zostały opracowane w domu, to możesz mieć problem etyczny.

Twój problem dotyczy w rzeczywistości praw własności.

Oto kilka kwestii, o których musisz pomyśleć.

Co twoja umowa mówi o własności intelektualnej?

Czy Twoja firma zachowuje prawa do rzeczy, które tworzysz?

Z jakiej licencji korzysta Twoja firma podczas opracowywania kodu?

Czy jest zgodny z twoimi własnymi licencjami?

Są to pytania, na które musisz odpowiedzieć przed opracowaniem jakiegokolwiek kodu, zezwól, aby już opracowany kod trafił do repozytoriów Twojej firmy lub cofnął programowanie ...

Einar Petersen
źródło
4
powinieneś edytować swoją odpowiedź, aby podać imię i nazwisko osoby, która napisała odpowiedź, z którą się zgadzasz, posty nie pozostają w porządku chronologicznym.
Ryathal,
0

Kradzież z twojej firmy nie jest etyczna - a jeśli zgodziłeś się, że cała twoja praca, podczas pracy, należy do nich, to ukrywanie kodu z powrotem w bazie kodu jest nieetyczne.

Pytanie o zgodę menedżera może nie wystarczyć - może nie być w stanie negocjować z tobą tego. Tak więc, w zależności od okoliczności, zadawanie pytań może nie uwolnić cię od zobowiązania - a zamiast tego może być wspólnikiem.

Prawidłowym sposobem na zrobienie tego rodzaju rzeczy jest wyjaśnienie, że wnosisz do firmy projekt zewnętrzny, który posiadasz, a następnie podpisujesz (lub ustnie uzgadniasz) osobną umowę lub porozumienie, specjalnie dla projektu zewnętrznego. Zrób to wcześniej.


Pamiętaj, że aspekty prawne i etyczne są różne i nie do końca się zgadzają. Nawet jeśli jest to etyczne, czasami wprowadzanie kodu w życie bez umowy jest niezgodne z prawem (podczas gdy w innych okolicznościach utrzymywanie kodu w domu jest nielegalne - jesteś prawnie zobowiązany do jego wprowadzenia i używania, jeśli Ty, najlepiej jak potrafisz, myślisz, że przyniosłoby to korzyść firmie).

Blueberryfields
źródło