Programmering

12 etiske dilemmaer som gnager mot utviklere i dag

Teknologiverden har alltid vært lenge på makt og kort på å tenke på konsekvensene av denne makten. Hvis den kan bygges, vil det alltid være noen som vil bygge den uten å tenke på en tryggere, sunnere måte å gjøre det, enn si om teknologien i det hele tatt skal bygges. Programvaren blir skrevet. Hvem bryr seg hvor og hvordan den brukes? Det er en oppgave for noen på et hjørnekontor.

Mer bekymringsfullt: Selv om etikkurs har blitt en stift for fysiske teknologigrader, er de fortsatt en misvisende avvik i datavitenskapspedagogikk. Likevel, ettersom programvaren tar over mer av livet vårt, blir de etiske konsekvensene av beslutninger tatt av programmerere bare større. Nå som koden vår er i kjøleskap, termostater, røykvarslere og mer, kan feil trekk, mangel på framsyn eller direkte tvilsom beslutningstaking hjemsøke menneskeheten overalt.

[Hva er i og hva som er ute i apputvikling: 15 hete programmeringstrender - og 15 blir kalde. | Vis hvor mye du virkelig vet om utvikling ved å følge vår programmerings-IQ-test, runde 3 og vår "Hello, world" -sprogrammeringsquiz. | Arbeid smartere, ikke vanskeligere - last ned utviklerens overlevelsesguide for alle tips og trender som programmerere trenger å vite. | Hold deg oppdatert på de siste utviklernyhetene med 's Developer World-nyhetsbrev. ]

Det som følger er noen av de etiske vanskelighetene som utviklere møter hver dag - enten de vet det eller ikke. Det er ingen enkle svar, i noen grad fordi selve naturen til arbeidet er så abstrakt. For å gjøre saken verre har virksomheten blitt så uløselig knyttet til datateknologi at det er vanskelig å balansere behovene og motivasjonene til alle investerte parter for å prøve å forhindre at dagens business-case-funksjon blir morgendagens Orwellian mareritt.

Trikset er å tenke forbi den nåværende tidsånden og forutse enhver fremtidig utnyttelse av det du bygger. Ganske enkelt, ikke sant? Tenk på dette mindre som en guidebok for å ta dine beslutninger, og mer som et utgangspunkt for den typen etisk kontemplasjon vi burde gjøre som en daglig del av jobbene våre.

Etisk dilemma nr. 1: Loggfiler - hva du skal lagre og hvordan du håndterer dem

Programmerere er som pakke rotter. De holder oversikt over alt, ofte fordi det er den eneste måten å feilsøke et system. Men loggfiler sporer også alt brukerne gjør, og i gale hender kan de avsløre fakta brukerne vil ha hemmeligholdt.

Mange virksomheter bygger på å aktivt beskytte loggfiler. Noen eksterne sikkerhetskopieringstjenester lover til og med å oppbevare flere eksemplarer på forskjellige geografiske steder. Ikke alle bedrifter streber etter slik flid. Snapchat bygde for eksempel sitt merke på å gjøre en veldig dårlig jobb med å sikkerhetskopiere data, men brukerne tiltrekkes av det glemsomme systemets frihet.

Bare eksistensen av loggfiler vekker flere etiske spørsmål. Er de tilstrekkelig beskyttet? Hvem har tilgang? Når vi sier at vi ødelegger filene, er de virkelig ødelagt?

Kjernen er å finne ut hvilken informasjon det er verdt å beholde, gitt risikoen ved å gjøre det, etisk eller på annen måte. Her kompliserer fremtiden ligningen. På 1960-tallet ble røyking vidt omfavnet. Ingen ville ha tenkt to ganger om å holde rede på folks røykevaner. I dag kan imidlertid kunnskapen om noens røykeaktivitet brukes til å øke helseforsikringsraten eller til og med nekte dekning.

Fremtidige forretningsavtaler; fremtidige myndighetsregler; et uforutsett, desperat behov for nye inntektsstrømmer - det kan være umulig å forutsi hvilken tilsynelatende uskyldig loggfil som vil bli problematisk i fremtiden, men det er viktig å vurdere etikken til hvordan du håndterer loggene underveis.

Etisk dilemma nr. 2: Hvorvidt - og hvordan - å transformere brukere til produkter

Det er et godt slitt ordtak fra oppstartsperioden: Hvis du ikke betaler for en tjeneste, er du ikke kunde; du er produktet.

På internett florerer det av "gratis" tjenester. Faktisk blir spørsmålet om hvor pengene kommer fra ofte utsatt, det å være å sette. Vi bygger bare det fantastiske, holder øye med beregningene for adopsjon, og finner ut at noen andre vil ta seg av det skitne arbeidet med å holde serverlyset på. I verste fall er det alltid annonser.

Utviklere må være på forhånd om hvem som vil støtte arbeidet deres og hvor pengene kommer fra. Eventuelle endringer skal kommuniseres til brukerne på en klar og betimelig måte for å unngå støt og tilbakeslag. Å transformere mennesker til produkter er et etisk skifte som ikke skal tas lett på. Skyggefulle annonseavtaler, skyggefulle annonsenettverk - vi må være forsiktige med hvordan vi håndterer den implisitte tilliten til tidlig adoptere.

Etisk dilemma nr. 3: Hvor gratis vil innhold egentlig være?

En rekke virksomheter er avhengige av å levere innhold uten å betale de som oppretter det. Noen snur og selger annonser eller til og med tar betalt for tilgang. Disse virksomhetene kunne ofte ikke overleve og kunne ikke prise materialet like attraktivt hvis de måtte bære sin del av utviklingskostnadene. De utvikler forseggjorte rasjonaliseringer om "deling" eller "rettferdig bruk" for å dekke over en etisk rystende beslutning.

Utviklere må spørre seg selv hvordan koden deres vil støtte alle i næringskjeden, fra skapere til forbrukere. Ønsker menneskene som lager innholdet at arbeidet deres skal distribueres på denne måten? Er de glade for å jobbe for eksponering eller oppmerksomhet alene? Får de en rimelig andel av inntektene?

Å ikke vurdere disse spørsmålene utgjør å blinde øynene for piratkopiering. Tross alt er det ikke all informasjon som bare "ønsker å være gratis."

Etisk dilemma nr. 4: Hvor mye beskyttelse er nok

Noen sier at alt skal være dobbeltkryptert med to forskjellige algoritmer og låst på en harddisk som er oppbevart i et safe. Akk, forsinker overhead systemet til en gjennomgang og gjør utviklingen 10 ganger mer belastende. For å gjøre saken verre, hvis en bit blir snudd eller en del av algoritmen er feil, går alle data tapt fordi krypteringen ikke kan angres.

Andre vil ikke løfte en finger for å beskytte dataene. Det neste teamet kan legge til spesiell kryptering senere hvis det er nødvendig, kan utviklerne si. Eller de kan hevde at det ikke er noe følsomt med det. Team som ignorerer dette ansvaret, er vanligvis i stand til å generere mange andre koder og lage hauger med fantastiske funksjoner som folk ønsker. Hvem bryr seg om de er sikre?

Det er ikke noe enkelt svar på hvor mye beskyttelse du skal bruke. Det er bare gjetninger. Mer er alltid bedre - til dataene går tapt eller produktet ikke sendes.

Etisk dilemma nr. 5: Å bug-fix eller ikke å bug-fix?

Det er vanskelig nok å forhandle om de etiske stimene når de involverer aktive beslutninger, men det er enda vanskeligere når problemet kan skyves til side og merkes som en feil som til slutt vil bli løst. Hvor hardt skal vi jobbe for å fikse problemene som på en eller annen måte gled over til å kjøre kode? Dropper vi alt? Hvordan bestemmer vi oss for om en feil er alvorlig nok til å bli løst?

Isaac Asimov konfronterte dette problemet for lenge siden da han skrev sine lover om robotikk og satte inn en som forbød en robot å gjøre noe hvis et menneske ville bli skadet gjennom robotens passivitet. Selvfølgelig hadde robotene hans positroniske hjerner som kunne se alle fasettene av et problem umiddelbart og løse dem. Spørsmålene til utviklerne er så kompliserte at mange feil blir ignorert og ikke løst fordi ingen vil engang tenke på dem.

Kan et selskap prioritere listen rettferdig? Er noen kunder viktigere enn andre? Kan en programmerer spille favoritter ved å velge en feil fremfor en annen? Dette er enda vanskeligere å tenke på når du innser at det er vanskelig å forutse hvor mye skade som kommer fra en gitt feil.

Etisk dilemma nr. 6: Hvor mye å kode - eller inngå kompromisser - for å forhindre misbruk

Det originale Apple Web-kameraet kom med en smart mekanisk ekstra, en fysisk lukker som blokkerte linsen når den var av. Lukkeren og bryteren var koblet sammen; det var ingen måte å bruke kameraet uten å åpne lukkeren selv.

Noen av de nyere webkameraene kommer med en LED som skal lyses opp når kameraet aktiveres. Det fungerer vanligvis, men alle som har programmert en datamaskin vet at det kan være et sted i koden der kameraet og LED-en kan kobles fra. Hvis det kan bli funnet, kan kameraet gjøres om til en spioneringsenhet.

Utfordringen for ingeniøren er å forutse misbruk og utforming for å forhindre det. Apple-lukkeren er et av de åpenbare og effektive eksemplene på hvordan det kan gjøres elegant. Da jeg jobbet med en bok om juks på SAT, møtte jeg en hacker som la til nettverksprogramvare i kalkulatoren sin. Etter en del overveielse bestemte han seg for å bare støtte kablede protokoller fordi han var redd barna ville snike en kalkulator med Wi-Fi til en eksamen. Ved å støtte bare kablede protokoller, sørget han for at alle i en test måtte trenge en ledning til maskinens nabo. Han hatet å hoppe over de trådløse protokollene, men han følte risikoen for misbruk var for høy.

Etisk dilemma nr. 7: Hvor langt skal du forsvare kunder mot dataforespørsler

Hvis du samler inn data, er det et sikkert bud at organisasjonen din en dag vil bli fanget mellom å betjene kundene dine og betjene myndighetene. Forespørsler om å levere data til juridiske enheter blir stadig vanligere, og lar stadig mer programvare- og tjenesteorganisasjoner tenke på i hvilken grad de vil forråde kundenes personvern for loven. Du kan undersøke disse forespørslene og til og med ansette dine egne advokater for å bestride om de virkelig er lovlige, men realiteten er at domstolene vil diskutere lovligheter lenge etter at finansieringen din er tom.

Det er ingen enkle løsninger. Noen selskaper velger å forlate virksomheten i stedet for å lyve for sine kunder. Andre prøver å være mer åpne om forespørsler, som regjeringen ofte prøver å forby.

Etisk dilemma nr. 8: Hvordan håndtere internettets internasjonale natur

Internett går overalt, og unngår mange av de tradisjonelle barrierer ved grensene. Dette kan være en oppskrift på lovlig hodepine når kunder A og B er i forskjellige land. Det er bare begynnelsen, fordi serverne C og D ofte også er i helt forskjellige land.

Dette fører til åpenbare etiske spørsmål. Europa har for eksempel strenge lover om lagring av personlig informasjon og ser på brudd på personvern som etiske svikt. Andre land insisterer på at selskaper fører rikholdige poster om omgangene. Hvem lover skal et selskap følge når kunder er i forskjellige land? Når data er i forskjellige fylker? Når data overføres på tvers av internasjonale linjer?

Å holde tritt med enhver lovlig beredskap kan være herculean, slik at mange organisasjoner sikkert er fristet til å begrave hodet i sanden.

Etisk dilemma nr. 9: Hvor mye å gi tilbake til åpen kildekode

Alle vet at åpen kildekode er gratis. Du betaler ingenting, og det er det som gjør det så fantastisk og sammensatt. Men ikke alle vurderer de etiske problemene som følger med å bruke den gratis koden. Alle åpen kildekode-pakker kommer med lisenser, og du må følge dem.

Noen av lisensene krever ikke mye offer. Lisenser som Apache License eller MIT License krever bekreftelse, og det handler om det. Men andre lisenser, for eksempel GNU General Public License, ber deg om å dele alle forbedringene dine.

Parsing av åpne kildelisenser kan by på etiske utfordringer. En leder fra et stort offentlig selskap sa til meg: "Vi distribuerer ikke MySQL, så vi skylder ingen noe." Han satset på klausulen, skrevet for flere tiår siden, som bundet lisensens forpliktelser til omfordeling av programvare. Selskapet brukte MySQL til sine webapper, så han følte at det kunne ta uten å gi tilbake.

Det er ingen enkle måter å måle de etiske forpliktelsene på, og mange programmerere har kastet bort mange tastetrykk og kranglet om hva de mener. Fremdeles vil hele arbeidet stoppe hvis folk slutter å gi. Den gode nyheten er at det ofte er i alles beste å bidra, fordi alle vil at programvaren skal være kompatibel med deres bruk av den.

Etisk dilemma nr. 10: Hvor mye overvåking egentlig er berettiget

Kanskje sjefen din vil sørge for at kundene ikke ripper selskapet. Kanskje du vil sørge for at du får betalt for arbeidet ditt. Kanskje en nifs fyr fra regjeringen sier at du må installere en bakdør for å fange skurker. I alle tilfeller er argumentet fylt med forsikringer om at bakdøren bare vil bli brukt, som Supermans krefter, for å støtte sannhet og rettferdighet. Det vil ikke bli brukt mot politiske fiender eller mindre heldige. Det vil ikke bli solgt til despotiske regimer.

Men hva om skurkene oppdager den skjulte døren og finner ut hvordan de skal bruke den selv? Hva om bakdøren din brukes til å støtte usannheter og urettferdigheter? Koden din kan ikke ta etiske avgjørelser alene. Det er jobben din.

Etisk dilemma nr. 11: Hvor skuddsikker bør kode egentlig være

Visst, den minimale beregningen, enkle datastrukturen og brute-force-tilnærmingen fungerer bra i demo når problemene er små. Brukerne prøver ut koden og sier "Gosh dette fungerer raskt." Flere måneder senere, når nok data er lastet inn i systemet, vises svakhetene til den billige algoritmen og koden reduseres til en gjennomsøking.

$config[zx-auto] not found$config[zx-overlay] not found