Dette indlæg er alene udtryk for skribentens egen holdning.

Er der styr på software-komponenterne?

19. august 2020 kl. 10:5010
Artiklen er ældre end 30 dage
Manglende links i teksten kan sandsynligvis findes i bunden af artiklen.

XKDC er god stribe. Tirsdag (d. 19) var denne her dagens stribe:

Det er sjovt fordi det er rigtigt, som man siger. Hvilket giver stof til eftertanke.

Før it-systemer købes, opstiller kunden utallige gode og fornuftige krav og spørgsmål. Krav til systemet, krav til leverandøren, spørgsmål til roadmap for standardsoftware og meget mere.

Blandt de mange krav og spørgsmål er der også et-eller andet-sted i et appendix til et underbilag - i hvert fald når en jurist har været indblandet - spørgsmål til anvendte software-komponenter, deres licenser og restlevetid. Leverandørens svarer pligtskyldigst, ofte noget kortfattet og - virker det som - uden større entusiasme.

Artiklen fortsætter efter annoncen

Figuren fra XKDC - sjov som den er - bør få os til at stoppe op og lige overveje om der nu også er styr på det.

Ved kunderne og udviklingshusene nok om de software-komponenter, der bruges i arkitekturen?

Har I gode eksempler på at det kan smutte?

10 kommentarer.  Hop til debatten
Denne artikel er gratis...

...men det er dyrt at lave god journalistik. Derfor beder vi dig overveje at tegne abonnement på Version2.

Digitaliseringen buldrer derudaf, og it-folkene tegner fremtidens Danmark. Derfor er det vigtigere end nogensinde med et kvalificeret bud på, hvordan it bedst kan være med til at udvikle det danske samfund og erhvervsliv.

Og der har aldrig været mere akut brug for en kritisk vagthund, der råber op, når der tages forkerte it-beslutninger.

Den rolle har Version2 indtaget siden 2006 - og det bliver vi ved med.

Debatten
Log ind eller opret en bruger for at deltage i debatten.
settingsDebatindstillinger
10
7. september 2020 kl. 13:20

Software comprises the entire set of programs, procedures, and routines associated with the operation of a computer system. Two main types of software are system software and application software. System software controls a computer's internal functioning, chiefly through an operating system. Application software directs the computer to execute commands given by the user. Software is typically stored on an external long-term memory device, such as a hard drive.;; https://askmeoffers.com/

9
21. august 2020 kl. 19:24

Jeg forstå ikke hvordan man kan få sig selv til at bruge et miljø som NPM, hvor man ikke har noget indblik eller overbilk over hvor mange eller hvilke pakker man gør bruge af.

8
20. august 2020 kl. 13:08

Når vi laver Hardware, har vi ingeniører tit en sourcing afdeling, der gerne vil have holdninger til valg af transistorer, chip producenter, leverandør valg etc.

På sw, er de ligeglade, så der er der vores problem at holde styr på tilgængelighed og licenser, priser etc.

Det er pokkers irriterende i udviklingen, men ret rart når tingen er lavet..

7
20. august 2020 kl. 10:57

Alle ved at OpenSSL er en utaknemmeligt softwarekomponent at vedligeholde og at det kræver helt særlige egenskaber at vedligeholde uden at kompromiterere sikkerheden på hele internettet.

Og så er der de komponenter på 4 linjer kode, som kunne være udviklet af junior-udvikleren til jobsamtalen bare for at sortere folk der slet ikke kunne programmere ud.

Et eksempel på sidstnævnte var Node modulet 'leftpad', der på en måned i 2016 blev hentet 2,5 milloner gange, før udvikleren valgte at sige "Fsck NPM-miljøet" og gjorde modulet utilgængeligt. Det bevirkede at mange Node projekter pludselig ikke kunne installeres.

Det er bogstavlig talt 4 linjer kode, som folk hev ind som ubetydelig selvstændig afhængighed.

https://www.theregister.com/2016/03/23/npm_left_pad_chaos/

6
20. august 2020 kl. 09:34

... eller nærmere betegnet hvilken NTP server var sat som default, når klokken skulle synkroniseres med Internettet?</p>
<p>Så hut jeg visker var PHK ikke heeeelt glad for alt den trafik hans netværk fik på daværende tidspunkt.

Ja, de er mange uheldige episoder som man bl.a. kan læse om inde hos pool.ntp.org og på wikipedia hvis man søger på "NTP server misuse".

Jeg har selv 2 offentligt tilgængelige stratum-1 NTP servere som er drevet i privat regi. På et tidspunkt deltog jeg i et audit i en branche hvor korrekt tid er meget vigtigt. Her bemærkede jeg, at organisationens outsourcing partner brugte mine NTP servere til at synkronisere imod.

Det er der også en stor ISP der gør, men de har i det mindste husket at spørge om lov.

Jeg undrer mig nogle gange over hvordan de tør bruge en service fra en privat persom som de ikke aner noget om.

5
19. august 2020 kl. 15:32

En ny-klassikker er vel også Heartbleed-sårbarheden i OpenSSL som bliver brugt mange steder. Gad vide hvor mange installationer har huller, som står åbne endnu.

4
19. august 2020 kl. 15:15

... eller nærmere betegnet hvilken NTP server var sat som default, når klokken skulle synkroniseres med Internettet?

Så hut jeg visker var PHK ikke heeeelt glad for alt den trafik hans netværk fik på daværende tidspunkt.

... og gik der ikke en "smule ravage", da han gjorde noget ved det? ;-)

3
19. august 2020 kl. 12:43

Hvis det er virksomhedens kernefunktion der rammes er der ingen tvivl om at det er vigtigt for virksomheden og er det en organisiation der har betydning for samfundet, tjaa, så er det også vigtigt.

Hvis det nu i en produktionsvirksomhed er et system til udrulning af software til kontor PC'ere, er det nok ikke så vigtigt.

2
19. august 2020 kl. 11:01

Alle de gange jeg har stået for at svare på Technical Due Diligence, enten i forbindelse med salg af virksomhed eller i forbindelse med investering i virksomhed, har jeg skulle redegøre for at der ikke bruges copy-left licenceret software i hele teknologistakken.

Heldigvis kan dette checkes programmatisk når teknologistakken er node.js - så selvom der bruges tusindvis af open source moduler er det en overkommelig opgave. Og det gode er, at når jeg først har implementeret et programmatisk check af softwarelicenser, kan det køres kontinuerligt, så der ikke får sneget sig komponenter uden licens eller med en copy-left licens ind.

I praksis har vi faktisk måtte lave vores egen implementation af et par små komponenter med GPL licens, og også måtte have dialog med OSS modul-forfattere der ikke lige havde fået konfigureret deres licens rigtigt, så den kunne læses programmatisk. Med det har ikke været en kæmpe opgave.

1
19. august 2020 kl. 10:53

Jeg vil gerne lægge ud: En organisation havde kildekoden og rettighederne til sit efterhånden +20 år gamle skræddersyede system.

Alt var godt, dog ikke helt godt, da den slags jo er tungt at vedligeholde. De havde nu fundet en ny leverandør til at vedligeholde koden for de næste 5-7 år, som derfor foretog et kode-review. Der blev opdaget en komponent, XXXbuf. Det hed den selvfølgelig ikke, men XXX var forbogstaverne for en bestemt leverandør, som oprindeligt lavede systemet i gamle dage og siden er blevet opkøbet et par gange. Ingen hos leverandøren kender i dag noget til komponenten.

Problem nr 1: Komponenten var en ORM med databaseadgang, brugt af centrale dele af systemet, og ikke opdateret eller patchet i mindst 15 år.

Problem nr. 2: Organisationen havde ikke rettighederne til lige dén del af kildekoden og burde derfor ikke længere bruge den.