Facebook frigiver kildekode - på vej mod open source

Facebook frigiver kildekoden til sit interne C++-softwarebibliotek Folly, der har stået i vejen for at gøre andre projekter open source.

Artikel top billede

Computerworld News Service: Facebook har frigivet kildekoden til et bibliotek af C++-softwarekomponenter, der bruges til at drive sitet, oplyser det sociale netværk lørdag.

Dette bibliotek ved navn Folly har med sin hidtil lukkede kildekode været en stopklods for at gøre mange andre af selskabets interne programmer open source, fordi de er afhængige af forskellige komponenter i dette bibliotek.

Det har nu ændret sig.

"En klar flaskehals med hensyn til at frigive mere af vores arbejde har været, at ethvert projekt først var nødt til at bryde sin afhængighed af ikke-frigivet intern bibliotekskode, før det kunne gøres open source," skriver software ingeniør hos Facebook Jordan DeLong i et blogindlæg om denne frigivelse af kildekode.

Frigivelsen af denne kildekode blev også offentliggjort ved en konference om C++, som Facebook afholdte lørdag på sin campus i Menlo Park i Californien.

Storbruger af open source

Facebook har i høj grad anvendt open source-software såsom MySQL, PHP og memcached til sit site.

Derfor har selskabet også sørget for at frigive kildekoden til mange af sine internt udviklede programmer såsom PHP-compileren HipHop og software-frameworket Thrift til skalerbar udvikling af services på tværs af programmeringssprog.

I forbindelse med mange af frigivelserne var Facebooks udviklere dog nødt til først at omskrive de dele af funktionaliteten, som kom fra dette bibliotek.

Ved at frigive selve biblioteket kan Facebook nu "fortsætte med at frigive kildekoden til dele af sin software-stack uden at være nødt til at genopfinde sine interne dybe tallerkener," skriver DeLong.

Selvom man som udvikler måske ikke har planer om at anvende applikationer udviklet af Facebook, så bør man alligevel tage et kig på dette bibliotek, da det indeholder mange værktøjer, der kan bruges i andre miljøer, påpeger DeLong.

Mange af komponenterne i Folly kører ifølge DeLong hurtigere end deres modstykker, der er tilgængelige andre steder fra. "Vores motivation var at bygge komponenter, der var hurtigere og mere effektive, end det vi havde brugt indtil da," skriver han.

Disse værktøjer er designet til anvendelse i tunge produktionsmiljøer på tværs af tusindvis af servere.

Komponenterne dækker ifølge DeLong en bred vifte af funktionalitet:

En komponent er designet til at anvende hukommelsen mere effektivt.

En anden reducerer såkaldt software contention, hvor flere forskellige transaktioner konkurrerer om de samme ressourcer.

Værktøjet AtomicHashMap reducerer, hvor lang tid et stykke data i hukommelsen er låst af en proces, hvilket kan nedsætte ydelsen og skabe flaskehalse i miljøer med tung trafik.

Et sæt komponenter til manipulation af strenge bruger færre beregningsressourcer end lignende komponenter i andre C++-biblioteker

Biblioteket Folly er offentliggjort på GitHub og Facebook vil føje nye komponenter til, i takt med at de bliver udviklet, skriver DeLong.

Oversat af Thomas Bøndergaard

Læses lige nu
    Computerworld Events

    Vi samler hvert år mere end 6.000 deltagere på mere end 70 events for it-professionelle.

    Ekspertindsigt – Lyt til førende specialister og virksomheder, der deler viden om den nyeste teknologi og de bedste løsninger.
    Netværk – Mød beslutningstagere, kolleger og samarbejdspartnere på tværs af brancher.
    Praktisk viden – Få konkrete cases, værktøjer og inspiration, som du kan tage direkte med hjem i organisationen.
    Aktuelle tendenser – Bliv opdateret på de vigtigste dagsordener inden for cloud, sikkerhed, data, AI og digital forretning.

    Sikkerhed | Online

    Cyber Briefing: AI kan udnytte dine VPN‑svagheder og lække dine data på sekunder

    AI-agenter arbejder konstant og i maskinhastighed. Klassiske VPN-modeller mister overblik, kontrol og sporbarhed. Hør hvordan adgang, handlinger og automatisering sikres i en AI-drevet virkelighed. Tilmeld dig nu

    Digital transformation | København

    Roundtable: Fra legacy til AI – de strategiske valg for digitale ledere

    Legacy-systemer bremser mange AI-ambitioner. Digitale ledere skal vælge platform, tempo og arkitektur. Computerworld samler CIO’er og CTO’er til lukket roundtable om vejen fra legacy til AI-parat forretning. Få perspektiver fra COWI og del...

    Infrastruktur | København

    Cloud & infrastruktur 2026: AI, afhængighed og digital handlefrihed

    Cloud er strategisk infrastruktur og fundament for AI, drift og innovation. Geopolitik og regulering ændrer leverandørvalg og dataplacering. Computerworld samler beslutningstagere om afhængighed, europæiske alternativer og digital handlefrihed.

    Se alle vores events inden for it

    Netcompany A/S

    Network Engineer

    Københavnsområdet

    Nextway Software A/S

    Software Architect

    Midtjylland

    Capgemini Danmark A/S

    IGNITE Graduate Program 2026

    Midtjylland

    NOVAX A/S

    QA Consultant

    Midtjylland

    Navnenyt fra it-Danmark

    Marie Søndergaard, Acting Chief Product Owner hos Energinet, har pr. 26. januar 2026 fuldført uddannelsen Master i it, linjen i organisation på Aarhus Universitet via It-vest-samarbejdet. Færdiggjort uddannelse

    Marie Søndergaard

    Energinet

    Mikkel Hjortlund-Fernández, Service Manager hos Terma Group, har pr. 26. januar 2026 fuldført uddannelsen Master i it, linjen i organisation på Aarhus Universitet via It-vest. Foto: Per Bille. Færdiggjort uddannelse
    Norriq Danmark A/S har pr. 1. februar 2026 ansat Michael Benner som Senior Solution Architect. Han skal især beskæftige sig med Microsoft Fabric Accelerator Framework herunder videreudvikling af frameworket, kundeimplementeringer og pre-sales opgaver. Han kommer fra en stilling som løsningensarkitekt hos Columbus Data & AI. Han er uddannet Økonomistyring fra Aalborg Universitet. Han har tidligere beskæftiget sig med at være ansat i revisionsbranchen hos PwC Forensic og Deloitte Forensic. Nyt job

    Michael Benner

    Norriq Danmark A/S