The Linux FSSTD
The recent release of the Linux FSSTND (short for "filesystem standard") promises to bring Linux developers together into a more cohesive group.
by Daniel Quinlan
The purpose of this standard is to document an improved and consistent filesystem (directory and file) structure for Linux systems.
The first round of discussion on creating a filesystem standard started in August 1993 on the Linux Mail-Net (based at niksula.hut.fi), and from that we were gifted with "FSSTND" (an odd attempt at an acronym), the Mail-Net channel where most of our early discussion took place. From that period came a mountain of debate, many unanswered questions, and uncertainty about how a standard could have any meaning or effect in the loose-knit Linux community.
By the summer of 1993, it was clear that the Linux community was lagging behind the rest of the UNIX world in its organization of directories and files. Not only that, but every developer in the Linux community had implemented the filesystem differently. Finding any kind of concordance between the various Linux distributions was a sobering task. The task of assembling the parts of a system from various sources that would work together was difficult.
FSSTND is based on ideas from SVR4, 4.3BSD, 4.4BSD, SunOS 4, HP-UX, and many other UNIX systems, some of which had been used by various Linux developers. However, it does not follow any single operating system layout in entirety. Instead the filesystem standard attempts to take the best of each filesystem layout and combine them into a homogeneous whole that is well suited to the needs of Linux users everywhere.
After a preliminary draft had been written, many of our uncertainties were dispelled. It turned that some Linux developers were starting to become aware of issues we were trying to solve. In September, the Debian distribution's developers began to wonder about the same things which we had wondered about months before. We offered them our solution and they began to implement our results. Other distributions soon followed suit (although perhaps not so quickly). Today, Debian, Slackware, TAMU, Linux/PRO, LILO, Rik Faith's util-linux package, and future versions of other major distributions are all trying to follow the first version of the FSSTND.
What does this mean to you as a Linux user? Nobody expects or even wants you to recompile every binary on your system just to conform to FSSTND. The brunt of any changeover work is already being done by Linux developers. This standard should benefit users by making conforming distributions more similar where they need to be: files. Simple as it sounds, remember that UNIX systems are primarily based on files. When the entire hierarchy of files does not work together, the entire system can suffer.
If you are a developer and you want to know what the FSSTND means for you, get a copy of the current draft. The only way we can hope to gain momentum in this cooperative Linux effort is through developers. Besides the benefits I have already outlines, others include making general documentation less difficult, system administration more consistent on different systems, and the development of second and third party packages easier. If distribution A and distribution B both closely follow FSSTND and your package also conforms, it is a good bet that your application will integrate easily into a system based on either distribution.
Look for a major update to the first version sometime in March or April. Some important issues have only been resolved in the days since the public release. The draft is available through anonymous FTP at tsx-11.mit.edu in the directory/pub/linux/docs/linux-standards/fsstnd.
February 28, 1994