Articles / Editorial: Erik Walthinsen

Editorial: Erik Walthinsen

Erik Walthinsen, SEUL Project system architect, talks about the advantages that the LSB provides for the SEUL (Simple End User Linux) Project. He states several facts of a layered distribution leading into easier implementation of application specific components.How the LSB will help SEUL

The idea behind the LSB proposal is to create a standard sufficient to allow people to use software on any system, developers to write their code to one standard, and vendors to package software only once. Previous editorials have explained quite throughly most of the various benefits such standardization can bring, so I need not repeat them here.

In the specific case of the SEUL (Simple End-User Linux) Project, the advantages are even more obvious. Rather than creating Yet Another Distribution(tm), SEUL will focus on end-user work, such as designing and integrating new and existing UI components (e.g. GNOME). As long as we maintain compliance with the standard, the software will not only work in source form anywhere, but the binaries will work on any Linux system supporting the same version of the standard.

I consider SEUL to be a layer on top of an existing distribution. This would allow anyone, using RedHat, Debian, Caldera OpenLinux, SuSE, or any other distribution to install SEUL components. The idea of layering software is important, because the standard in its purest form will be nothing but a paper (er, electron) specification. The implementation is left up to those actually writing and packaging software. If the standard specifies too little, it doesn't do its job. If it specifies too much, we lose the benefits of the Linux development style, namely the diversity of code.

Partitioning

Partitioning the specification into an absolute Core, and Layers on top of that, allows users (or distributors) to put together what they need like a puzzle, as they do now, but with much larger pieces. The PSL (Pretty Secure Linux) project is a perfect example. Their plans are to create an extremely secure Linux distribution, largely ignoring other major areas of distribution design and construction. Since many security functions are in the networking code, PSL would reach a much larger audience if it could create a "networking layer" that's extremely secure, to simply replace the "default" networking layer.

If I had these things at my disposal at this moment, I would install a basic system, then install the PSL networking and/or filesystem layers on my gateway machine, development layers on most of my machines, and the SEUL interface layers and applications on my parents' machine (along with SoftWindows95... I can dream, right? [call Insignia... call Insignia....]).

Too large a specification, and users (and vendors) are stuck with an all-or-nothing decision. Either they get a secure machine, a user-friendly machine, or a development machine. This is poor.

I'm not claiming that a partitioned specification is a panacea. There are many issues with dependencies, etc. For instance, since upper layers will generally require specific functionality from lower layers, how do we define that functionality, and maintain dependency checking throughout, without making a complete mess of existing packaging schemes? These are issues that need to be worked out by a relatively small group of technically competent people who understand all the issues.

Development

The process used to develop this specification needs to be considered very carefully. We must be careful to ensure that everyone is fairly represented, and make sure that the current (insanely high) pace of Linux development isn't adversely affected. The best way to do this is to organize in the same manner as other successful open-source projects. It should be almost purely a technical project, given its complex technical nature, and should have input from every distribution, as many ISVs as possible, and any other developers.

There are a lot of non-technical issues to be worked out as well, but we must be very careful to keep them separate from the technical process. A conscious effort is necessary because I don't believe there has ever been a project with such potential for political problems. Then again, we've never had such an opportunity to fundamentally affect the course of Linux development in the public eye. Keeping all (or the vast majority) of the technical decisions politically neutral is necessary in order to create a standard everyone will accept. We know from past experience that technical discussion eventually works things out to a successful outcome, regardless of surrounding issues, as long as those issues don't interfere.

The support of the entire Linux Community is necessary for this project to go forward. The SEUL project is solidly behind the LSB proposal and adopting a standard that unites the Community, reduces unnecessary work, and removes a few more barriers to full acceptance of Linux in the wider world of computing.

Omega (aka Erik Walthinsen)
SEULProject System Architect

Screenshot

Project Spotlight

Kigo Video Converter Ultimate for Mac

A tool for converting and editing videos.

Screenshot

Project Spotlight

Kid3

An efficient tagger for MP3, Ogg/Vorbis, and FLAC files.