Co mogę zrobić, aby zapobiec przyjęciu nieetycznego projektu rozwojowego?

21

W czasach samozatrudnienia kiedyś podjąłem mały i raczej dobrze płatny projekt: „System biuletynów”, zgodnie ze specyfikacją.

Wszystko było w porządku, faktury były płacone z każdym osiągniętym kamieniem milowym, byłem szczęśliwym programistą… Dopóki Pan Klient nie zaczął żądać fałszowania nagłówków wiadomości i innych funkcji, które ostatecznie doprowadziły mnie do wniosku, że buduję dość wyrafinowane narzędzie do wysyłania spamu.

Krótko mówiąc: względy finansowe sprawiły, że skończyłem to, co zacząłem. Ubolewam, że do dnia dzisiejszego podjąłem się tej pracy - gdybym miał problem z wyszukaniem nazwy mojego klienta w Google, zostałbym ostrzeżony.

Jakie strategie mogę zastosować, aby uniknąć kodowania rzeczy, których wolałbym nie widzieć w czyichś rękach?

vzwick
źródło
1
Cześć vzwick, chociaż pytanie ludzi o ich historie wojenne może być dobrym tematem do dyskusji, nie pasuje jednak do formatu pytań i odpowiedzi Stack Exchange. Usunąłem te części twojego pytania, aby skupić się na części, na którą można odpowiedzieć: jak zapobiec podjęciu nieetycznego projektu.
15
... więc to byłeś ty! ( sprawdza pocztę: 69 105 nieprzeczytanych wiadomości e-mail )
rlemon
1
Czy mogę podać adres tej osoby? Chcę wypełnić jego dom pakującymi się orzeszkami ziemnymi.
Yatrix
1
To pytanie przypomina mi Eksperyment Stanforda , który zasadniczo wyjaśnia, dlaczego ludzie robili okropne rzeczy, gdy im kazano robić coś, co nie jest moralne z ich punktu widzenia.
ruslik
3
Projektowanie bomby atomowej jest etyczne. Używanie go może nie być.
barrycarter

Odpowiedzi:

18

Warren Buffett powiedział kiedyś, że jest dobrym i etycznym człowiekiem w wywiadzie, i powiedział coś w stylu: „Świat nigdy się nie dowie. Zawsze miałem się dobrze w życiu. Nigdy nie musiałem kraść, aby nakarmić moją rodzinę lub dokonać wyboru między moją etyką a biedą ”. (parafrazując, bo nie znam jego dokładnych słów)

Miałem podobne doświadczenia. Bardzo szczęśliwie dla mnie, byłem w miejscu, gdzie nie trzeba robić te nieetyczne rzeczy. Miałem klientów, którzy podejmowali decyzje o tym, jak chcą prowadzić działalność, z którymi nie zgadzałem się z powodów etycznych, i zakończyłem z nimi umowy i licytowałem ich adieu.

Strategia unikania tego nie ma nic wspólnego z programowaniem. Postaw się w sytuacji finansowej, w której możesz przetrwać wiele miesięcy bez wynagrodzenia. Zaoszczędź wystarczająco dużo pieniędzy, abyś nie był uzależniony od nieetycznych żądań jednego klienta, aby związać koniec z końcem. Pieniądze są cały czas wykorzystywane przez nieetycznych ludzi jako dźwignię zachęcającą ludzi do robienia czegoś, czego inaczej by nie zrobili.

Moje granice są dla mnie wygodne. Nie jestem w stanie wymienić ich wszystkich, ale byłoby to zgodne z Kodeksem Etyki dla Profesjonalnych Inżynierów .

Dave Markle
źródło
3
Dodam jeszcze jeden punkt ... Zajmuję się finansami. Tworzenie spamera dla klienta najwyraźniej nie jest tym, czym chciałbym się zajmować, ale nie czułbym takiego dylematu etycznego, jaki czułbym, gdyby to był wybór między karmieniem mojej rodziny a fałszowaniem raportów finansowych dla firmy. W takim przypadku musiałbym odejść natychmiast ze względów etycznych. W przypadku pisania spamera prawdopodobnie wybrałbym zakończenie umowy, powiedzenie „wyciągniętej lekcji” i kontynuowanie.
Dave Markle
To mądry punkt. Nie jestem pewien, co bym zrobił. Na szczęście nigdy nie zostałem poproszony o napisanie spamera. Czy spam jest nielegalny? Chyba nie jestem pewien.
Matthew Rodatus
4
Dobra uwaga, ale etyka jest śliska. Rozsądne wydaje się okopanie tam, gdzie ziemia jest twarda i nawet nie drgnąć. Nawet gdybym miał wygrać w sądzie, wolałbym, żeby nikt nie oskarżył mnie o nieetyczne praktyki.
Matthew Rodatus
5
@Matthew: Wystarczy przeczytać historię, aby wiedzieć, że masz rację. Dobrzy ludzie robią okropne rzeczy, prowadząc ich małymi krokami.
Mike Dunlavey,
3
Moja żona znalazła się w sytuacji, w której miejsce, w którym pracowała, poprosiło ją o zrobienie czegoś nielegalnego, po prostu spojrzała na swojego szefa i powiedziała „Naprawdę?” (Nie zrobiła tego). Ostatnio szukałem pracy i było kilka miejsc, które skontaktowały się ze mną, że w oparciu o branżę odrzuciłem je od razu. Wydaje mi się, że jedna z nich była witryną ForEx, która nie jest branżą, w której chciałbym pracować. Osobiście wykorzystuję ją jako wskazówkę „Czy czułbym się dobrze, mówiąc mojemu rabinowi o tej pracy?” - YMMV
Zachary K
22

Etyka jest dość subiektywna. Prawa nie są. Jeśli możesz wykazać, że to, czego się od ciebie wymaga, jest nielegalne, możesz użyć tego jako dźwigni. IANAL, ale jestem przekonany, że wstrzymanie płatności w celu zmuszenia cię do zrobienia czegoś, co uważasz za nielegalne, naprawdę wystarczy, aby uznać je za przymus .

Jeśli chodzi o konkretny przypadek: wydaje się, że w Niemczech wysyłanie wiadomości reklamowych z wprowadzającym w błąd nagłówkiem / tematem jest w rzeczywistości nielegalne i może skutkować nałożeniem grzywny w wysokości do 50000 EUR . Na tej podstawie powinieneś odrzucić prośbę klienta.

Ogólnie rzecz biorąc, możesz rozważyć zwrócenie się do prawnika w takiej sytuacji. Działania w naszym medium są rzadko objęte prawem, co oznacza również, że należy stosować bardziej ogólne zasady postępowania, które (w zależności od kraju i Twojego rozumienia etyki) mogą zmierzać w kierunku tego, co uważasz za etyczne.
I myślę, że większość klientów zrezygnuje, jeśli powiesz im, co zamierzają zrobić, można uznać za fałszerstwo (nawet jeśli to zupełnie inne pytanie, czy to będzie) lub podobne przestępstwo.

back2dos
źródło
3

Kilka rzeczy do rozważenia, jeśli jesteś zobowiązany finansowo i już popełniłeś błąd, zgadzając się ...

Spróbuj oderwać się od pracy nad projektem. Nie przesyłaj żadnego kodu ze swoim imieniem i inicjałami w komentarzach. Usuń wszelkie repozytoria kodu publicznego powiązane z Twoim adresem e-mail. W przypadku wytoczenia powództwa przeciwko tej osobie nadal będziesz związany umowami i transakcjami finansowymi. Miejcie nadzieję i módlcie się, aby ta osoba nie robiła nic nielegalnego.

W tej notatce możesz rozważyć zgłoszenie jego adresu IP znanej publicznej liście honeypot, która śledzi takich spamerów.

Ponadto, jeśli uważasz, że klient może robić naprawdę złe rzeczy, które mogą być narażone na prawne niebezpieczeństwo za pomoc i podstęp, a następnie kod w ukrytym przełączniku zdalnego zabijania. Coś, w którym możesz wysłać starannie sformułowany nagłówek HTTP ze słowami, Alakazamna przykład, który zatrzyma wszystko. Jeśli to, co robi, jest nielegalne, to tak naprawdę nie może wygrać w sądzie z powodu naruszenia umowy.

EDYCJA: Nie akceptuję opisanych działań, tylko proponuję, jeśli już popełniłeś błąd w kontaktach z tą osobą. Rozumiem jednak opinie negatywne.

wałek klonowy
źródło
3
-1. „Nie przesyłaj w komentarzach żadnego kodu z nazwiskiem lub inicjałami”. Więc zasadniczo mówisz, że jeśli robisz coś nieetycznego, powinieneś starać się to wyciszyć lub ukryć. Myślę, że wszyscy widzieliśmy, jak kończy się ta historia. Zasadniczo oznacza to również „nie używaj kontroli źródła”, ponieważ każdy system SCC śledzi, kto i kiedy dokonał zmian.
Dave Markle
2
Jak powiedziałem - ciekawy pomysł na przełącznik zabójstw - ale nie zgadzam się z tym. Jeśli każdy weźmie „prawo” (tutaj niejasno zdefiniowane) w swoje ręce, zdarzają się złe rzeczy. Prawo powinno być egzekwowane przez podmiot uprawniony do jego egzekwowania, tj. Rząd. Tak więc głosuję za odpowiedzią.
Matthew Rodatus
3
+1, aby odrzucić opinie negatywne. Szczerze życzę, że nikt z nas nie powinien kiedykolwiek trzeba użyć opcji wymienionych w odpowiedzi - ale to może być przydatne do ich poznać. Czasami można wybierać tylko między złymi a gorszymi wyborami. Tak łatwo potępić innych bez chodzenia w butach.
Péter Török
4
@ Péter „Czasami można wybierać tylko między złymi a gorszymi wyborami”. To prawda i nie potępiam wału klonu. Po prostu nie zgadzam się z przydatnością tej odpowiedzi.
Matthew Rodatus
4
Wszystkie te opcje ostatecznie doprowadzą do legalnego trzęsienia ziemi, czego konsekwencją będzie konieczność uiszczenia większej opłaty adwokackiej za ich załatwienie.
rwong
2

Zrobiłeś to dla pieniędzy i musimy cały czas podejmować te decyzje. Czy powinienem podjąć dobrze płatną pracę w branży, z którą nie zgadzam się ani nie pomagam bardziej ekologicznej firmie lub organizacji non-profit?

Nie czułbym się dobrze, tworząc coś, o co wstydziłbym się powiedzieć moim przyjaciołom i rodzinie. Byłby to niewygodny wywiad omawiający, co zrobiłem z tą aplikacją. Brzmi to bardziej samolubnie niż z powodów etycznych, ale nigdy nie twierdziłem, że jestem altruistą.

JeffO
źródło
1

Pierwszym krokiem jest upewnienie się, że umowa w pełni dokumentuje, jakie funkcje zostaną uwzględnione. Jeśli zobaczysz z góry wątpliwe funkcje, nie podejmuj pracy. Jeśli klient spróbuje później dodać wątpliwe funkcje, nie są one objęte aktualną umową, więc możesz odrzucić nową umowę, a klient nadal jest zobowiązany do zapłaty za pierwotną pracę na umowie (i zobowiązałeś się ją ukończyć).

Jeśli masz już zbyt ogólnikową umowę, jesteś w trudnej sytuacji. Możesz zrezygnować z umowy i poradzić sobie z rezultatami prawnymi i finansowymi lub ukończyć pracę na podstawie umowy. YMMV i IANAL, ale uważam, że w obecnej sytuacji nie masz zbyt dużej pozycji prawnej. Chociaż wysyłanie spamu w Twoim kraju może być nielegalne, nie wydaje mi się, aby tworzenie oprogramowania, które mogłoby być wykorzystywane do wysyłania spamu, było nielegalne, abyś nie mógł wykorzystać nielegalności do odstąpienia od umowy. Budowanie broni nie jest nielegalne, chociaż strzelanie do kogoś z pistoletu prawie zawsze jest.

cdkMoose
źródło