So place your programs in a directory structure that makes sense and use symlinks to maintain compatibility. Simple and elegant.
But... how do I go about actually installing those programs? Web search and then git-clone / manual download? How are dependencies resolved?
Admittedly I haven't read the documentation, just the overview.
On a related note, I feel like Arch struck a nice balance with pacman and AUR.
There are two sets of programs/scripts (much of the gobo tools are actually shell scripts, with a few binaries or python scripts for higher performance). Scripts and Compile.
A package in Gobolinux is basically a tar-ball of the versioned dir in /Programs.
So if a precompiled version is available in the Gobo repo (sadly fairly limited as there is not really any resources for a compile farm available), InstallPackage will fetch the latest from there, unpack it, and run SymlinkProgram to have /System/Index updated.
Inside each package or recipe there is a Resources directory, inside there are a few files that describe the program or recipe, and a list of dependencies. these are parsed before compile or install, and additional updates/installs suggested.
Compile is the recipe equivalent of InstallPackage. It will parse a recipe, check dependencies, and download the source from the included url. The compilation and install will then take place in a union mount overlaying /System/Index, redirecting writes to the target dir in /Programs. After that completes successfully, SymlinkProgram will again be run to update /System/Index.
If you want to make a new recipe, there is MakeRecipe. You give it a name, a version number and a url (though it can attempt to guess the first two from the tar-ball name if left blank), and it downloads the tar-ball, unpacks it, and sets up a basic recipe of the content is one of the tools it has built in support for. Mostly a recipe is a set of steps to make things compile, things like switches to pass to configure.
If you simply want to a newer version of an existing recipe, there is NewVersion. All you may need to feed it is the new version number, though it may need a url as well if the one from previous recipes are no longer valid.
It is a sorce-based distro so yes, basically you download source tarballs from the web and compile them locally. Gobolinux comes with scripts to help you conpile things using the custom hierarchy and for common patterns (like autotools stuff with configure make install) it is as almost as easy as it would be in a regular distro. You can then write scripts to automate this (including specifying all dependencies and where you got the tarball from) and share them with other uses on the Gobolinux Recipes website.
But... how do I go about actually installing those programs? Web search and then git-clone / manual download? How are dependencies resolved? Admittedly I haven't read the documentation, just the overview.
On a related note, I feel like Arch struck a nice balance with pacman and AUR.