Anticipated and occasionally-asked questions


What is objectroot?

Objectroot is a proposal for a new filesystem hierarchy for Unix-like operating systems. It specifies a way to organize the files stored on the computer's hard disk.

Is there some company behind this proposal?

Objectroot was designed and published by a concerned individual (a Debian GNU/Linux and Mac user) who has no affiliation with any company or organization, not even outside the field of information technology. So, no.

Are you proposing that existing Unix systems adopt this filesystem layout?

No, that would cause too much disruption. However, new operating system distributions would do well to consider it.

When was this website first published or this idea introduced?



Where does the name objectroot come from?

“Object root” is the root of a tree of nodes that is used to hold objects. Compounding the words makes for a handy moniker for the present invention. It is written in all lowercase so that you wouldn't have to mess with the shift key.

Objectroot is said to be based on object-oriented design principles. What does object-oriented mean?

Organization by containment.

But hasn't the Unix filesystem always been organized that way?

No, the organization model used in Unix is type-orientedness, i.e. organization by type. Granted, the filesystem has always been able to function as an object-oriented data store. But the founding fathers chose to use the containment hierarchy in a type-oriented way.


What do shebang references to commands that used to live under /usr/bin look like?

Firstly, the /bin symlink ensures that legacy shebang lines will continue to work for the foreseeable future. Meanwhile, the new pathnames are of the format:


... or, where the implementation matters:


How do I obtain the GNU style configuration name of the active system?

cat /hosts/self/info/config

Why does the service prototype path include a configuration name even though the proto object does not contain any binaries?

Because of the super link which is architecture dependent. Another solution would be to include in the proto a script  makesuper  that creates the link, but then it wouldn't be a prototype in the strictest sense.


How should I package my org tree?

It is up to you, but one good way is to make it available as a gzipped tarball:


If your tree is big, and parts of it cater to different audiences, you might want to split it up:


If you distribute prebuilt binaries, you might want to specify its build configuration:

How should I choose my /org name?

The most important thing to understand is that an /org name should identify an organization or (in some cases) an individual. Not a product, software package, service or some other concept.

The distinction is not always easy to make, for products sometimes turn into companies, and software packages sometimes spring into movements. But until that has happened, the name can not be an org name.

If you already have a well-established and fitting short name for your organization—for which you own the .com or .org domain—, use that. Otherwise, and if you are at all uncertain, contact me. I will serve as a clearing house.