Een student van de Stanford-universiteit in het Amerikaanse Palo Alto heeft een tool ontwikkeld waarmee Linux-applicaties makkelijker tussen meerdere pc's kunnen worden uitgewisseld, zonder dat een gebruiker in dependency hell terecht komt.
Door de verscheidenheid aan Linux-distributies, kernelversies en versies van softwarebibliotheken, is het allerminst vanzelfsprekend dat een voor Linux ontwikkelde applicatie op een pc direct werkt. Een applicatie kan op meerdere andere programma's leunen, die op hun beurt weer andere softwarepakketten vereisen. Dit fenomeen, ook wel dependency hell genoemd, kan grotendeels worden omzeild door een pakketbeheerder te gebruiken, zoals apt of rpm, die automatisch de vereiste applicaties opzoekt.
Toch kan het voorkomen dat een pakket niet kan worden geïnstalleerd of niet werkt, doordat een bepaalde library of versie van een library niet aanwezig is in de gebruikte software-repositories. Om dit probleem op te lossen, heeft Stanford-student Philip Guo een tool ontwikkeld waarmee de benodigde software en vereiste bibliotheken samen met een applicatie worden ingepakt, waardoor software kan worden uitgevoerd op andere systemen die zonder deze omweg niet compatibel zouden zijn. Bij het uitvoeren creëert CDE een sandbox met benodigde bibliotheken en executables.
Overigens werkt de tool, met de naam CDE, niet in alle gevallen: pc's moeten dezelfde architectuur gebruiken, bijvoorbeeld x86. Bovendien moeten beide computers een kernel uit dezelfde branch gebruiken: een applicatie die is 'ingepakt' op 2.6, werkt niet onder 2.4; andersom kan dat in bepaalde gevallen wel. Guo benadrukt dat zijn tool niet als concurrentie voor pakketbeheerders is bedoeld; het zou slechts een simpele manier zijn om code op een ander systeem te kunnen uitvoeren.
Volgens Guo kan CDE van pas komen bij het delen van programma's met collega's of het uitproberen van andermans software, zonder dat er root-privileges vereist zijn of dat er software hoeft te worden geïnstalleerd. Ook kunnen meerdere versies van een programma op hetzelfde systeem worden getest, zonder dat er conflicten tussen softwarebibliotheken ontstaan.