Programiranje

12 etičnih dilem, ki danes grizejo razvijalce

Tehnični svet je bil vedno močan in ni razmišljal o posledicah te moči. Če ga je mogoče zgraditi, se bo vedno našel nekdo, ki ga bo zgradil, ne da bi razmišljal o varnejšem in varnejšem načinu, kaj šele o tem, ali bi tehnologijo sploh sploh morali zgraditi. Programska oprema se napiše. Koga briga, kje in kako se uporablja? To je naloga nekoga v kaki pisarni.

Bolj zaskrbljujoče: Čeprav so tečaji etike postali stalnica inženirskih stopenj fizičnega sveta, še vedno ostajajo žalostna anomalija v pedagogiki računalništva. Kljub temu, da programska oprema prevzame več našega življenja, se etične posledice odločitev programerjev samo še povečajo. Zdaj, ko je naša koda v hladilnikih, termostatih, dimnih alarmih in še več, lahko napačne poteze, pomanjkanje predvidevanja ali naravnost dvomljivo odločanje preganjajo človeštvo povsod, kamor koli pride.

[Kaj je in kaj je v aplikaciji za razvijalce: 15 vročih programskih trendov in 15 hladnih. | Pokažite, kako resnično veste o razvoju, tako da opravite naš preizkus IQ za programiranje, 3. krog, in naš kviz o programskih jezikih "Hello, world". | Delajte pametneje in ne težje - prenesite Vodnik za preživetje razvijalcev, kjer najdete vse nasvete in trende, ki jih morajo poznati programerji. | Bodite na tekočem z najnovejšimi novicami za razvijalce s časopisom Developer World. ]

Sledi nekaj etičnih težav, s katerimi se vsak dan soočajo razvijalci - ne glede na to, ali to vedo ali ne. Enostavnih odgovorov do neke mere ni, ker je sama narava dela tako abstraktna. Da bi stvari še poslabšale, je podjetje postalo tako neločljivo povezano z računalniško tehnologijo, da je težko uravnotežiti potrebe in motivacijo vseh vloženih strani, ko poskušamo preprečiti, da bi današnja funkcija poslovnega primera postala jutrišnja orvelovska nočna mora.

Trik je v tem, da razmišljate mimo sedanjega zeitgeista in predvidevate vsako prihodnjo uporabo tega, kar zgradite. Precej preprosto, kaj? Upoštevajte to manj kot vodnik za sprejemanje odločitev in bolj kot izhodišče za takšno etično razmišljanje, ki bi ga morali opravljati vsak dan pri svojem delu.

Etična dilema št. 1: Dnevniške datoteke - kaj shraniti in kako ravnati z njimi

Programerji so kot paketne podgane. O vsem vodijo evidence, pogosto zato, ker je to edini način za razhroščevanje sistema. Dnevniške datoteke pa spremljajo tudi vse, kar uporabniki počnejo, in v napačnih rokah lahko razkrijejo dejstva, ki jih uporabniki želijo držati v tajnosti.

Mnoga podjetja temeljijo na aktivni zaščiti dnevniških datotek. Nekatere storitve oddaljenega varnostnega kopiranja obljubljajo, da bodo dodatne kopije hranile na različnih geografskih lokacijah. Vsako podjetje ne teži k takšni skrbnosti. Snapchat je na primer svojo blagovno znamko ustvaril na zelo slabem delu pri varnostnem kopiranju podatkov, a uporabnike privlači svoboda pozabljivega sistema.

Že obstoj dnevniških datotek sproža več etičnih vprašanj. So ustrezno zaščiteni? Kdo ima dostop? Ali rečemo, da uničimo datoteke, ali so resnično uničene?

Bistvo je ugotoviti, katere podatke je vredno hraniti glede na tveganja, etična ali drugačna. Tu prihodnost enačbo zaplete. V šestdesetih letih 20. stoletja je bilo kajenje široko sprejeto. Nihče ne bi dvakrat pomislil, da bi spremljal kadilske navade ljudi. Danes pa lahko znanje o kadilski dejavnosti nekoga uporabimo za zvišanje stopenj zdravstvenega zavarovanja ali celo zanikanje kritja.

Prihodnji poslovni posli; prihodnji vladni predpisi; nepredvidena, obupna potreba po novih tokovih prihodkov - mogoče je nemogoče napovedati, katera na videz nedolžna dnevniška datoteka bo v prihodnosti postala problematična, vendar je nujno razmisliti o etiki ravnanja s hlodi.

Etična dilema št. 2: Ali - in kako - uporabnike spremeniti v izdelke

Gre za dobro obrabljen pregovor o zagonski dobi: če ne plačujete storitve, niste stranka; ste izdelek.

Na internetu je "brezplačnih" storitev na pretek. Pravzaprav se vprašanje, od kod bo prišel denar, pogosto odlaša, če ga odložimo. Samo ustvarimo neverjetnost, pazimo na meritve posvojitve in domnevamo, da bo nekdo drug poskrbel za umazano delo, da bodo luči strežnika prižgane. Najslabši primer so vedno oglasi.

Razvijalci morajo biti vnaprej v zvezi s tem, kdo bo podpiral njihovo delo in od kod bo denar. O vseh spremembah je treba uporabnike obvestiti na jasen in pravočasen način, da se izognemo šoku in povratnim vplivom. Preoblikovanje ljudi v izdelke je etični premik, ki ga ne gre jemati zlahka. Senčne ponudbe oglasov, senčne oglasne mreže - paziti moramo, kako ravnamo z implicitnim zaupanjem zgodnjih uporabnikov.

Etična dilema št. 3: Kako brezplačne vsebine v resnici želijo biti?

Številna podjetja so odvisna od prikazovanja vsebine, ne da bi plačala tistim, ki jo ustvarjajo. Nekateri se obrnejo in prodajo oglase ali celo zaračunajo dostop. Ta podjetja pogosto niso mogla preživeti in niso mogla ceniti svojega materiala tako privlačno, če bi si morala pokriti pravi del stroškov razvoja. Razvili so natančne utemeljitve glede "skupne rabe" ali "poštene uporabe", da bi prikrili etično trhlo odločitev.

Razvijalci se morajo vprašati, kako bo njihova koda podpirala vse v prehranjevalni verigi, od ustvarjalcev do potrošnikov. Ali ljudje, ki ustvarjajo vsebino, želijo, da se njihovo delo distribuira na ta način? Ali z veseljem delajo samo za izpostavljenost ali pozornost? Ali dobijo pravičen del prihodka?

Neupoštevanje teh vprašanj pomeni zatiskanje oči pred piratstvom. Konec koncev niso vse informacije le "hočejo biti svobodne".

Etična dilema št. 4: Koliko zaščite je dovolj

Nekateri pravijo, da je treba vse skupaj dvakrat šifrirati z dvema različnima algoritmoma in zapreti v trdi disk, ki je shranjen v sefu. Žal, režijski stroški upočasnijo sistem in ga desetkrat otežijo. Še huje, če se en bit obrne ali je en del algoritma napačen, se vsi podatki izgubijo, ker šifriranja ni mogoče razveljaviti.

Drugi ne želijo s prstom dvigniti za zaščito podatkov. Naslednja skupina lahko pozneje doda posebno šifriranje, če je to potrebno, bi lahko rekli razvijalci. Lahko pa trdijo, da v tem ni nič občutljivega. Skupine, ki te odgovornosti ne upoštevajo, običajno lahko ustvarijo veliko druge kode in ustvarijo kopico čudovitih lastnosti, po katerih ljudje hrepenijo. Koga briga, če so na varnem?

Ni preprostega odgovora, koliko zaščite uporabiti. Obstajajo samo ugibanja. Vedno je bolje - dokler se podatki ne izgubijo ali izdelek ne pošlje.

Etična dilema št. 5: odpraviti napake ali ne?

Dovolj težko se je pogajati o etičnih plitvinah, kadar gre za aktivne odločitve, še težje pa je, če lahko težavo potisnemo na stran in jo označimo za napako, ki bo sčasoma odpravljena. Kako težko bi si morali prizadevati, da bi odpravili težave, ki so nekako zdrsnile v delujočo kodo? Spustiva vse? Kako se odločimo, ali je napaka dovolj resna, da jo je mogoče odpraviti?

Isaac Asimov se je s to težavo soočil že zdavnaj, ko je napisal svoje zakone robotike in vstavil zakon, ki robotu prepoveduje, da ne bi storil ničesar, če bi človek zaradi neukrepanja robota oškodovan. Seveda so imeli njegovi roboti pozitronske možgane, ki so lahko takoj videli vse vidike problema in jih rešili. Vprašanja za razvijalce so tako zapletena, da se številne napake prezrejo in odpravijo, ker nihče ne želi niti pomisliti nanje.

Ali lahko podjetje pravično da seznam prednostnim nalogam? So nekatere stranke pomembnejše od drugih? Ali lahko programer igra priljubljene, tako da izbere eno napako pred drugo? To je še težje razmišljati, ko se zavedaš, da je težko predvideti, koliko škode bo prinesla katera koli napaka.

Etična dilema št. 6: Koliko kodiranja - ali kompromisa - za preprečevanje zlorabe

Originalna spletna kamera Apple je imela pametni mehanski dodatek, fizični zaklop, ki je blokiral lečo, ko je bila izključena. Zaklop in stikalo sta bila povezana skupaj; fotoaparata ni bilo mogoče uporabiti, ne da bi sami odprli zaklop.

Nekatere novejše spletne kamere imajo LED, ki naj bi svetila, ko je kamera aktivirana. Običajno deluje, toda vsak, ki je programiral računalnik, ve, da je v kodi morda mesto, kjer je mogoče ločiti kamero in LED. Če je to mogoče najti, lahko kamero spremenimo v vohunsko napravo.

Izziv za inženirja je predvidevanje zlorabe in načrtovanje, da bi to preprečili. Zaklop Apple je eden očitnih in učinkovitih primerov, kako je to mogoče narediti elegantno. Ko sem delal na knjigi o varanju na SAT, sem spoznal enega hekerja, ki je v svoj kalkulator dodal mrežno programsko opremo. Po premisleku se je odločil, da bo podpiral samo žične protokole, ker se je bal, da bi otroci v izpit prikradli kalkulator z Wi-Fi. S podporo le žičnih protokolov je zagotovil, da bo moral vsak na testu speljati žico do stroja svojega soseda. Sovražil je preskakovanje brezžičnih protokolov, vendar je menil, da je nevarnost zlorabe previsoka.

Etična dilema št. 7: Kako daleč je obramba strank pred zahtevami po podatkih

Če zbirate podatke, je varno, da bo vaša organizacija nekoč ujeta med služenjem strankam in službovanjem vlade. Zahteve po dostavi podatkov pravnim osebam so vse pogostejše, čedalje več organizacij za programsko opremo in storitve pa razmišlja, v kolikšni meri bodo pred zakonom izdali zasebnost svojih strank. Te zahteve lahko natančno preučite in celo najamete lastne odvetnike, da bi ugovarjali, ali so resnično zakoniti, vendar je resničnost takšna, da bodo sodišča razpravljala o zakonitostih še dolgo po izteku vašega financiranja.

Enostavnih rešitev ni. Nekatera podjetja se odločijo, da bodo podjetje zapustila in ne lagala svojim strankam. Drugi poskušajo biti bolj odprti glede prošenj, ki jih vlada pogosto skuša prepovedati.

Etična dilema št. 8: Kako ravnati z mednarodno naravo interneta

Internet teče povsod in se izogiba številnim tradicionalnim oviram na mejah. To je lahko recept za pravne preglavice, ko so stranke A in B v različnih državah. To je šele začetek, saj sta strežnika C in D pogosto tudi v povsem različnih državah.

To vodi do očitnih etičnih vprašanj. Na primer, Evropa ima stroge zakone o hrambi osebnih podatkov in kršitve zasebnosti vidi kot etične napake. Druge države vztrajajo pri podjetjih, ki vodijo obilne evidence o poslovanju. Čigave zakone naj podjetje upošteva, ko so stranke v različnih državah? Kdaj so podatki v različnih okrajih? Kdaj se podatki prenašajo prek mednarodnih linij?

Spremljanje vseh pravnih okoliščin je lahko herkulsko, mnoge organizacije pa zagotovo v skušnjavi, da bi zakopale glave v pesek.

Etična dilema št. 9: Koliko vrniti odprti kodi

Vsi vemo, da je odprtokodna programska oprema brezplačna. Nič ne plačate in prav zaradi tega je tako čudovit in kompleksen. Toda vsi ne razmišljajo o etičnih vprašanjih, ki jih prinaša uporaba te brezplačne kode. Vsi odprtokodni paketi imajo licence in jim morate slediti.

Nekatere licence ne zahtevajo veliko odrekanja. Licence, kot sta licenca Apache ali MIT, morajo biti potrjene in to je to. Toda druge licence, na primer GNU General Public License, zahtevajo, da delite vse svoje izboljšave.

Razčlenjevanje odprtokodnih licenc lahko predstavlja etične izzive. En direktor iz velikega javnega podjetja mi je rekel: "MySQL ne distribuiramo, zato nikomur nismo nič dolžni." Osredotočil se je na klavzulo, napisano pred desetletji, ki je obveznosti licence vezala na dejanje prerazporeditve programske opreme. Podjetje je MySQL uporabljalo za svoje spletne aplikacije, zato je menil, da lahko traja brez vračila.

Etičnih obveznosti ni mogoče preprosto izmeriti, mnogi programerji pa so zapravili veliko pritiskov na tipke in se prepirali, kaj pomenijo. Kljub temu se bo celotno prizadevanje ustavilo, če bodo ljudje prenehali dajati. Dobra novica je, da je pogosto v interesu vseh, da prispevajo, ker vsi želijo, da programska oprema ostane združljiva z njihovo uporabo.

Etična dilema št. 10: Koliko nadzora je resnično upravičeno

Mogoče želi vaš šef poskrbeti, da stranke ne razderejo podjetja. Mogoče želite zagotoviti, da boste za svoje delo plačani. Mogoče kakšen srhljiv fant iz vlade reče, da moraš namestiti zakulisje, da ujameš negativce. V vsakem primeru je argument poln zagotovil, da se bo zakulisje, tako kot Supermanove moči, uporabljalo le za podporo resnici in pravičnosti. Ne bo uporabljen proti političnim sovražnikom ali manj srečnim. Ne bo prodal despotskim režimom.

Kaj pa, če slabi odkrijejo skrita vrata in sami ugotovijo, kako jih uporabiti? Kaj pa, če se zakulisje uporablja za podporo neresnicam in krivicam? Vaša koda ne more sama sprejemati etičnih odločitev. To je tvoja naloga.

Etična dilema št. 11: Kako neprebojna bi morala biti koda v resnici

Seveda minimalni izračun, preprosta struktura podatkov in pristop brute-force dobro delujejo v predstavitvah, ko so težave majhne. Uporabniki preizkusijo kodo in rečejo: "Bog, to hitro deluje." Nekaj ​​mesecev kasneje, ko je v sistem naloženih dovolj podatkov, se pojavijo slabosti poceni algoritma in koda upočasni svoje iskanje.

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