The Distributions Take a Stand on Standards
Pacific HiTech will take an active role in the development of Linux standards and will make compliance with the adopted standards a design goal of all our Linux products. We believe a well-defined set of Linux standards is important so that ISVs can more easily port their applications to the Linux operating system without worrying about distribution compatibility.
I'd like to see them develop to the point where any compliant distribution will have the same shared libraries available and the same basic file-system structure. Some people have suggested that a standard package manager would also be important, but I'm not necessarily sure that's true—for example, .deb and .rpm can both provide a system in which a given third-party application could work, provided that the shared libraries and path structure are the same. What I would like to see is a common system for “registering” applications so that desktop managers and other programs would have a standard method of determining what is installed on the system.
Slackware is waiting to see what the proposed standards are before we commit to complete compliance, but I do think the effort is a step in the right direction for Linux. I'd really like to see a list of standard version numbers to use when building shared libraries—that should be a simple first step in getting binary compatibility among the distributions back on track. However, the standards should probably not go into such detail that all distributions end up looking cut from the same cookie cutter. It is the different design philosophies which make different Linux distributions appeal to different kinds of users. It'll be interesting to see how these issues are balanced.
The general stance of Debian is that standardization is a good thing. Dale Scheetz is a Debian developer and actively involved in the LSB work. LSB is also an SPI-supported project. As Linux continues to grow, it will become more and more important for vendors producing software to know it will run on a number of different distributions without requiring distribution-specific versions. The growth of Linux will be greatly helped by applications being ported to run on it, and this growth must be supported as much as possible.
Debian has been involved in the LSB project from the beginning. One of our developers, Dale Scheetz, is working on the LSB right now. We've been talking with Red Hat since before LSB so that we can develop binary compatibility between the distributions. The important system libraries should be fully compatible across all distributions. We don't want to see the kind of incompatibilities suffered by users of 16-bit MS Windows software when they upgraded to 32-bit MS Windows. Debian is currently working to adopt the File Hierarchy System, but we feel a few issues remain to be resolved. Debian is happy to help create standards and compatibility with the other distributions; the LSB is one of the methods we are using to make this happen.
SuSE has been a member of the Linux community since 1992, and we have people dedicated to and working on the LSB project. We are proud to be active members of this project. We are hoping to see some sort of minimum library standards because that is what our customers want. ISVs need that kind of standard to work efficiently. Hardware vendors deserve a standard in order to certify their hardware across distributions.
It's my personal opinion that standardization is good thing. But like always, too much of a good thing can be a bad thing. It really all depends on which aspect of the Linux system you want to standardize, and how much. Where do you begin and where do you stop? If we standardize the file system layout, packaging and user tools, is anything left? I'm not sure of LSB's plan—but from my reading, it doesn't look like they have a well-laid-out plan quite yet. Standardizing file locations is a great idea; I know it would solve half of the problems I encounter. I read somewhere LSB plans on having a standard packaging system. That is a tricky subject for me to even personally comment on—we have a lot of plans for our Stampede Linux Packaging system (SLP). There are some features the standard may not include that we'd like to have. Obviously, we can contribute to the project ourselves, but if the majority doesn't like our idea, then it won't go in. The great thing about Linux is that if you don't like something, you can't complain. Don't use it, find something else, hack the source code, or start a whole new project. If a situation like this arises, the user who wants a feature can no longer search for another package; he must try and somehow convince the authors to add it.
At this time, two extremes are apparent: one is “everyone does their own thing, their own way” and the other is “everyone does what the standard says”. I'd like to think we aren't at either of these extremes right now. That fine line between them needs to be found, and when someone finds it, I'll be able to comment further.
Currently, with the information we have, Stampede's stance is neutral, but this could easily change. It could change tomorrow, next week, next month or next year (just like any Linux-related project). For now, I will try to keep a close eye on what goes on and keep others of the Stampede development team informed. It will be much easier to make a decision once a clearly defined set of rules has been set.
|Hacking a Safe with Bash||Jul 28, 2015|
|KDE Reveals Plasma Mobile||Jul 28, 2015|
|Huge Package Overhaul for Debian and Ubuntu||Jul 23, 2015|
|diff -u: What's New in Kernel Development||Jul 22, 2015|
|Shashlik - a Tasty New Android Simulator||Jul 21, 2015|
|Embed Linux in Monitoring and Control Systems||Jul 20, 2015|
- Hacking a Safe with Bash
- KDE Reveals Plasma Mobile
- Huge Package Overhaul for Debian and Ubuntu
- The Controversy Behind Canonical's Intellectual Property Policy
- diff -u: What's New in Kernel Development
- Shashlik - a Tasty New Android Simulator
- Home Automation with Raspberry Pi
- Embed Linux in Monitoring and Control Systems
- General Relativity in Python
- One Port to Rule Them All!