It does this by packaging up everything the program needs to run together, which can then be transferred and executed flawlessly on a different Linux machine.
CDE is the brain child of Philip Guo - a Ph.D. student in the Computer Science department at Stanford University.
There are a number of advantages to creating a portable Linux application using CDE. For instance, you can use CDE to -
- Try out someone else's software on your machine without running into dependency hell.
- Testing multiple versions of your program on your machine without conflict.
- Easily deploying your computer program into a compute cluster or Linux cloud VM without any errors.
- Future proofing your software - in effect guaranteeing it to run on any Linux machine even 10 years down the line.
- Enabling people on older computers to run your programs without recompiling.
You can find numerous use cases (real world examples) using CDE listed here.
Using CDE to create a universal package of your computer program or software is quite simple. It involves running your computer program with cde before it.
Here is an interesting video created by the author of the program where he demonstrates the use of CDE.
You can learn more about CDE and download it from the author's website.