Ohjelmointi

12 eettistä ongelmaa, jotka närittävät kehittäjiä tänään

Tekninen maailma on aina ollut pitkään vallassa ja vähän miettinyt tämän voiman seurauksia. Jos se voidaan rakentaa, on aina joku, joka rakentaa sen harkitsematta turvallisempaa, järkevämpää tapaa tehdä sitä, puhumattakaan siitä, pitäisikö tekniikkaa edes rakentaa. Ohjelmisto kirjoitetaan. Kuka välittää missä ja miten sitä käytetään? Se on joku tehtävä kulmatoimistoissa.

Enemmän huolestuttavaa: Vaikka eettisistä kursseista on tullut fyysisen maailman tekniikan tutkinnon päätuote, ne ovat edelleen tietojenkäsittelytieteen pedagogian ankaria poikkeamia. Silti kun ohjelmisto vie enemmän elämäämme, ohjelmoijien tekemien päätösten eettiset seuraukset vain kasvavat. Nyt kun koodimme on jääkaapeissa, termostaateissa, palovaroittimissa ja muissa, väärät liikkeet, ennakoinnin puute tai suorastaan ​​epäilyttävä päätöksenteko voivat ahdistaa ihmiskuntaa kaikkialla, missä se menee.

[Mitä on ja mitä on sovelluksen kehityksessä: 15 kuumaa ohjelmointitrendiä ja 15 kylmänä. | Osoita, kuinka paljon todella tiedät kehityksestä, osallistumalla Programming IQ -testimme, 3. kierroksen ja "Hello, world" -kielikyselymme. | Työskentele älykkäämmin, ei kovemmin - lataa kehittäjien selviytymisopas kaikista vinkeistä ja trendeistä, jotka ohjelmoijien on tiedettävä. | Pysy ajan tasalla uusimmista kehittäjäuutisista Developer World -uutiskirjeellä. ]

Seuraavassa on muutamia eettisistä ongelmista, joita kehittäjät kohtaavat päivittäin - tietävätkö he sen vai eivät. Joissakin määrin ei ole helppoja vastauksia, koska työn luonne on niin abstrakti. Tilanteen pahentamiseksi liike-elämä on liittynyt niin erottamattomasti tietotekniikkaan, että on vaikea tasapainottaa kaikkien sijoitettujen osapuolten tarpeita ja motivaatiota yrittäessä estää tämän päivän yritystapahtumasta tulevan Orwellin painajainen.

Temppu on ajatella nykyisen zeitgeistin ohi ja ennakoida rakentamasi jokaisen tulevan hyödyntämisen. Melko yksinkertainen, vai mitä? Ajattele tätä vähemmän oppaana päätöksenteollesi ja enemmän lähtökohtana sellaiselle eettiselle pohdinnalle, jota meidän pitäisi tehdä päivittäisenä osana työtämme.

Eettinen ongelma nro 1: Lokitiedostot - mitä tallennetaan ja miten niitä käsitellään

Ohjelmoijat ovat kuin pakkarotat. He pitävät kirjaa kaikesta, usein koska se on ainoa tapa virheenkorjaukseen järjestelmään. Mutta lokitiedostot seuraavat myös kaikkea käyttäjien tekemää, ja väärissä käsissä he voivat paljastaa tosiasioita, joita käyttäjät haluavat pitää salaisina.

Monet yritykset perustuvat aktiivisesti suojaamaan lokitiedostoja. Jotkut etävarmuuskopiointipalvelut jopa lupaavat pitää lisäkopioita eri maantieteellisissä paikoissa. Kaikki yritykset eivät tavoittele tällaista huolellisuutta. Esimerkiksi Snapchat rakensi tuotemerkkinsä tekemällä erittäin huonoa työtä tietojen varmuuskopioinnissa, mutta sen käyttäjiä houkuttelee unohdetun järjestelmän vapaus.

Pelkkä lokitiedostojen olemassaolo herättää useita eettisiä kysymyksiä. Ovatko ne riittävästi suojattuja? Kenellä on pääsy? Kun sanomme tuhoamme tiedostot, tuhoutuvatko ne todella?

Ydin on selvittää, mitä tietoja on syytä säilyttää, kun otetaan huomioon eettiset tai muut riskit. Tässä tulevaisuus vaikeuttaa yhtälöä. 1960-luvulla tupakointi otettiin laajasti vastaan. Kukaan ei olisi ajatellut kahdesti seurata ihmisten tupakointitottumuksia. Nykyään tietoa jonkun tupakoinnista voidaan kuitenkin käyttää sairausvakuutuskorotusten nostamiseen tai jopa epäämiseen.

Tulevat liiketarjoukset; tulevat hallituksen asetukset; odottamaton, epätoivoinen tarve uusille tulovirroille - voi olla mahdotonta ennustaa, mistä viattomalta näyttävä lokitiedosto tulee ongelmalliseksi tulevaisuudessa, mutta on ehdottoman tärkeää ottaa huomioon eettinen tapa käsitellä lokeja matkan varrella.

Eettinen ongelma nro 2: Muunna - ja miten - muutetaan käyttäjät tuotteiksi

Se on startup-aikakauden hyvin käytetty sanonta: jos et maksa palvelusta, et ole asiakas; olet tuote.

Internetissä "ilmaisia" palveluja on runsaasti. Itse asiassa kysymys siitä, mistä rahat tulevat, lykätään usein, koska se on lykätty. Rakennamme vain hämmästyttävyyttä, pidämme silmällä adoptiotietoja ja luulemme, että joku muu huolehtii palvelimen valojen pitämisen likaisesta työstä. Pahimmassa tapauksessa mainoksia on aina.

Kehittäjien on oltava etukäteen selvillä siitä, kuka tukee heidän työtään ja mistä rahat tulevat. Kaikista muutoksista tulisi ilmoittaa käyttäjille selkeällä, oikea-aikaisella tavalla, jotta vältetään shokit ja iskut. Ihmisten muuttaminen tuotteiksi on eettinen muutos, jota ei pidä ottaa kevyesti. Varjostetut mainostarjoukset, hämärät mainosverkostot - meidän on oltava varovaisia ​​käsitellessämme varhaisessa vaiheessa omaksuneiden implisiittistä luottamusta.

Eettinen ongelma nro 3: Kuinka vapaata sisältö todella haluaa olla?

Useat yritykset ovat riippuvaisia ​​sisällön tarjoamisesta maksamatta sisällöntuottajille. Jotkut kääntyvät ympäriinsä ja myyvät mainoksia tai jopa veloittavat pääsystä. Nämä yritykset eivät usein selviytyneet eivätkä voineet hinnoitella materiaalejaan niin houkuttelevasti, jos heidän täytyisi kantaa kohtuullinen osuutensa kehittämiskustannuksista. He kehittävät monimutkaisia ​​järkeistyksiä "jakamisesta" tai "oikeudenmukaisesta käytöstä" peittääkseen eettisesti epävakaan päätöksen.

Kehittäjien on kysyttävä itseltään, kuinka heidän koodinsa tukee kaikkia elintarvikeketjussa, tekijöistä kuluttajiin. Haluavatko sisältöä luovat ihmiset levittää työnsä tällä tavalla? Työskentelevätkö he mielellään yksin altistumisen tai huomion vuoksi? Annetaanko heille kohtuullinen osuus tuloista?

Näiden kysymysten huomiotta jättäminen merkitsee piratismin silmän sulkemista. Loppujen lopuksi kaikki tiedot eivät vain "halua olla ilmaisia".

Eettinen ongelma nro 4: Kuinka paljon suojaa riittää

Jotkut sanovat, että kaikki on salattava kahdella eri algoritmilla ja lukittava kiintolevylle, jota säilytetään kassakaapissa. Valitettavasti yleiskustannukset hidastavat järjestelmän indeksointia ja tekevät kehityksestä 10 kertaa raskaampaa. Mikä pahempaa, jos yksi bitti käännetään tai osa algoritmista on väärä, kaikki tiedot menetetään, koska salausta ei voi kumota.

Toiset eivät halua nostaa sormea ​​tietojen suojaamiseksi. Seuraava tiimi voi lisätä erityistä salausta myöhemmin tarvittaessa, kehittäjät voivat sanoa. Tai he saattavat väittää, että siinä ei ole mitään arkaluontoista. Joukkueet, jotka jättävät huomiotta nämä velvollisuudet, pystyvät yleensä luomaan runsaasti muuta koodia ja luomaan kasoja upeita ominaisuuksia, joita ihmiset kaipaavat. Kuka välittää, ovatko he turvassa?

Ei ole yksinkertaista vastausta siihen, kuinka paljon suojaa on sovellettava. On vain arvauksia. Lisää on aina parempi - kunnes tiedot menetetään tai tuotetta ei lähetetä.

Eettinen ongelma nro 5: Korjataako vikoja vai ei?

On riittävän vaikea neuvotella eettisistä matalista, kun niihin liittyy aktiivisia päätöksiä, mutta vielä vaikeampaa on, kun ongelma voidaan työntää syrjään ja merkitä lopulta korjattavaksi virheenä. Kuinka kovasti meidän pitäisi korjata ongelmat, jotka jotenkin juoksivat juoksevaan koodiin? Pudotammeko kaiken? Kuinka voimme päättää, onko vika tarpeeksi vakava korjattavaksi?

Isaac Asimov kohtasi tämän ongelman kauan sitten kirjoittaessaan robotiikan lait ja sisällyttäen siihen kiellon robotille tekemästä mitään, jos robotin toimettomuus vahingoittaa ihmistä. Tietenkin hänen robotteillaan oli positronisia aivoja, jotka näkivät ongelman kaikki puolet välittömästi ja ratkaisivat ne. Kehittäjille suunnatut kysymykset ovat niin monimutkaisia, että monet virheet jätetään huomioimatta ja korjaamatta, koska kukaan ei halua edes ajatella niitä.

Voiko yritys priorisoida luettelon oikeudenmukaisesti? Ovatko jotkut asiakkaat tärkeämpiä kuin toiset? Voiko ohjelmoija toistaa suosikkeja valitsemalla yhden virheen toisen päälle? Tätä on vielä vaikeampaa miettiä, kun huomaat, että on vaikea ennakoida kuinka paljon haittaa jokaisesta virheestä tulee.

Eettinen ongelma nro 6: Kuinka paljon koodata - tai tehdä kompromisseja - väärinkäytön estämiseksi

Alkuperäisessä Apple Web-kamerassa oli fiksu mekaaninen lisäosa, fyysinen suljin, joka tukkii linssin, kun se oli pois päältä. Suljin ja kytkin oli kytketty toisiinsa; kameraa ei voitu käyttää avaamatta suljinta itse.

Joissakin uusissa verkkokameroissa on LED, jonka on tarkoitus palaa, kun kamera aktivoidaan. Se toimii yleensä, mutta kuka tahansa, joka on ohjelmoinut tietokoneen, tietää, että koodissa voi olla paikka, jossa kamera ja LED voidaan irrottaa. Jos se löytyy, kamerasta voidaan tehdä vakoojalaite.

Insinöörin haasteena on väärinkäytön ennakointi ja suunnittelu sen estämiseksi. Apple-suljin on yksi ilmeisistä ja tehokkaista esimerkeistä, miten se voidaan tehdä tyylikkäästi. Kun työskentelin kirjan kanssa SAT: n huijaamisesta, tapasin yhden hakkerin, joka lisäsi verkko-ohjelmistoa laskimeensa. Pienen pohdinnan jälkeen hän päätti tukea vain langallisia protokollia, koska hän pelkäsi, että lapset hiipivät Wi-Fi-laskimen tenttiin. Tukemalla vain langallisia protokollia hän varmisti, että jokaisen testissä olevan tarvitsee ajaa johto naapurinsa koneeseen. Hän vihasi langattomien protokollien ohittamista, mutta tunsi väärinkäytösten riskin olevan liian suuri.

Eettinen ongelma nro 7: Kuinka pitkälle asiakkaita puolustetaan tietopyynnöiltä

Jos keräät tietoja, on varmaa, että organisaatiosi joutuu jonain päivänä palvelemaan asiakkaitasi ja palvella hallitusta. Pyynnöt tietojen toimittamiseksi oikeushenkilöille ovat yleistymässä, jolloin yhä useampi ohjelmisto- ja palveluorganisaatio jättää miettimään, missä määrin ne pettävät asiakkaidensa yksityisyyttä lain edessä. Voit tutkia nämä pyynnöt ja jopa palkata omat lakimiehesi kiistämään, ovatko he todella laillisia, mutta todellisuudessa tuomioistuimet keskustelevat laillisuudesta kauan sen jälkeen, kun rahoituksesi on loppunut.

Ei ole olemassa helppoja ratkaisuja. Jotkut yritykset päättävät jättää yrityksen pikemminkin kuin valehdella asiakkailleen. Toiset yrittävät olla avoimempia pyynnöissä, jotka hallitus usein yrittää kieltää.

Eettinen ongelma nro 8: Kuinka käsitellä Internetin kansainvälistä luonnetta

Internet toimii kaikkialla välttäen monia perinteisiä esteitä rajoilla. Tämä voi olla resepti laillisiin päänsärkyihin, kun asiakkaat A ja B ovat eri maissa. Se on vasta alkua, koska palvelimet C ja D ovat usein myös täysin eri maissa.

Tämä johtaa ilmeisiin eettisiin kysymyksiin. Esimerkiksi Euroopassa on tiukat lait, jotka koskevat henkilötietojen säilyttämistä, ja pitää yksityisyyden loukkauksia eettisinä epäonnistumisina. Muut maat vaativat yrityksiä pitämään runsaasti kirjanpitoa kaupoista. Kenen lakeja yrityksen tulisi noudattaa, kun asiakkaat ovat eri maissa? Kun tiedot ovat eri maakunnissa? Kun tietoja siirretään kansainvälisten linjojen yli?

Jokaisen oikeudellisen tilanteen seuraaminen voi olla Herculean, jättäen monia organisaatioita varmasti houkutukseksi haudata päänsä hiekkaan.

Eettinen ongelma nro 9: Paljonko palautetaan avoimelle lähdekoodille

Kaikki tietävät, että avoin lähdekoodi on ilmainen. Et maksa mitään, ja se tekee siitä niin ihanan ja monimutkaisen. Mutta kaikki eivät ajattele eettisiä kysymyksiä, jotka liittyvät tämän ilmaisen koodin käyttöön. Kaikissa avoimen lähdekoodin paketeissa on lisenssit, ja sinun on noudatettava niitä.

Jotkut lisensseistä eivät vaadi paljon uhrauksia. Lisenssit, kuten Apache-lisenssi tai MIT-lisenssi, edellyttävät kuittausta, ja kaikki siitä. Mutta muut lisenssit, kuten GNU General Public License, pyytävät sinua jakamaan kaikki parannuksesi.

Avoimen lähdekoodin lisenssien jäsentäminen voi aiheuttaa eettisiä haasteita. Yksi johtaja suuresta julkisesta yrityksestä kertoi minulle: "Emme jaa MySQL: ää, joten emme ole kenellekään velkaa." Hän noudatti vuosikymmeniä sitten kirjoitettua lauseketta, joka sitoi lisenssin velvoitteet ohjelmistojen uudelleenjakeluun. Yritys käytti MySQL: ää verkkosovelluksissaan, joten hän tunsi, että se voi kestää antamatta takaisin.

Eettisten velvoitteiden mittaamiseen ei ole yksinkertaisia ​​tapoja, ja monet ohjelmoijat ovat tuhlanneet monia näppäinpainalluksia kiistelemällä niiden merkityksestä. Silti koko pyrkimys hiipuu, jos ihmiset lopettavat antamisen. Hyvä uutinen on, että osallistuminen on usein kaikkien edun mukaista, koska kaikki haluavat, että ohjelmisto pysyy yhteensopivana sen käytön kanssa.

Eettinen ongelma nro 10: Kuinka paljon seurantaa on todella perusteltua

Ehkä pomosi haluaa varmistaa, että asiakkaat eivät repeä yritystä. Ehkä haluat varmistaa, että saat palkkaa työstäsi. Ehkä joku hallituksen aavemainen kaveri sanoo, että sinun on asennettava takaovi pahojen kavereiden saamiseksi. Joka tapauksessa väite on täynnä vakuutuksia siitä, että takaovea käytetään vain Supermanin voimien tavoin totuuden ja oikeuden tukemiseen. Sitä ei käytetä poliittisia vihollisia tai vähemmän onnekkaita vastaan. Sitä ei myydä despoottijärjestelmille.

Mutta entä jos pahikset löytävät piilotetun oven ja selvittävät, miten sitä käytetään itse? Entä jos takaovea käytetään tukemaan epätotuutta ja epäoikeudenmukaisuutta? Koodisi ei voi tehdä eettisiä päätöksiä yksin. Se on sinun tehtäväsi.

Eettinen ongelma nro 11: Kuinka luodinkestävän koodin pitäisi todella olla

Toki vähäinen laskenta, yksinkertainen tietorakenne ja raakavoima-lähestymistapa toimivat hyvin demossa, kun ongelmat ovat pienet. Käyttäjät kokeilevat koodia ja sanovat: "Selvä, tämä toimii nopeasti." Useita kuukausia myöhemmin, kun järjestelmään on ladattu riittävästi tietoa, halvan algoritmin heikkoudet ilmenevät ja koodi hidastuu indeksointiin.

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