| Guest column: Kevin Dankwardt on "What is Linux?" |
Kevin Dankwardt, founder/President of K Computing (July 20, 2000)
This guest column by Kevin Dankwardt originated as a talkback to the LinuxDevices.com article entitled "What is Linux?"
What an apt question! I remember this question being asked, of one of the speakers, at the ELEC (Embedded Linux Expo & Conference) by the gentleman sitting next to me. It wasn't answered then too well, either. I'd like to add my 2 bits worth. I think asking the question "what is Linux" is important because of the issue of "forking" that concerns many of us. To get a little scholastic here, we want to know the definition of Linux to avoid ambiguity.
It's like the story by William James about an argument over whether a man "goes round" a squirrel. A man is on one side of a tree with a squirrel opposite of him. Whenever the man moves around the tree a bit, the squirrel moves an equal amount always staying opposite of the man. The man eventually moves all of the way around the tree. The question then is "did the man go round the squirrel?" The answer depends on one's definition of "go round". If one defines it to be to the north of, to the south of, to the east of and to the west of, then the man went round the squirrel. On the other hand, if the definition is that to go round the squirrel the man must be at some point on the squirrel's left, on it's right, in front of it, and behind it, then the man did not go round the squirrel.
Now, it may be quite valuable to promote one's product as one that "goes round the squirrel." Does HardHat Linux "go round the squirrel" when they change a small piece of the kernel like including their own scheduler? Does RTLinux "go round the squirrel" when it manipulates how interrupts are handled yet pretty much allows the kernel to perform as usual? Does one's version of Linux "go round the squirrel" when you port it to a new processor?
Consumers of Linux distributions want to know what they are getting. Are they going to be dependent on the distribution they choose? Are these dependencies in the kernel or just on software outside of it? I think that most consumers will want to be able to keep up with new versions of Linux. Will the differences in the distribution they choose be kept up-to-date?
I think what we want is a standard. With a standard vendors can then be asked to clearly explain how they differ. The problem is, I think most people would agree, is that it's too early to adopt a standard for a "Linux Distribution". For the kernel, though, we do have a clearly defined standard. The standard is what Linus releases. Interestingly, that means there are literally hundreds of standards since there have been hundreds (I did a little counting on www.kernel.org) of versions, or minor versions, of the Linux kernel.
The mechanism that the GPL mandates for making changes is quite useful. The vendor is to supply you with a patch. Humans can actually read Patches. But, it can be hard work, just like reading code. It's like working without out man or info pages.
If a vendor has code in its kernel that is not in a release from www.kernel.org then its valuable to be told what that code is. Tell us in a way that helps us understand our commitment. Such distributions are not Linux anymore, but they are a Linux distribution if they have any Linux kernel code at all.
From the perspective of a developer, any change to the kernel presents the possibilities of incompatibilities. Even a simple patch can change the behavior of an application. In, fact, that's the point. Would NASA apply a patch without thoroughly investigating and testing? (no snickers, please!) A patch makes the kernel different. If its different from what Linus releases, then in my simple, yet unambiguous, definition it's no longer Linux.
If a vendor patched a kernel and didn't tell you would you have an issue with that? So we have the situation of vendors then having to come up with a name for an unpatched kernel to distinguish it from a patched one. Some say "pure Linux" -- perhaps we should start with Linux, and make distinctions away from that.
Finally, I'd like to point out, like Tim Bird noted, we can view this as speciation. In computing, I think, just like in nature speciation occurs most rapidly when a species encounters a new environment. Embedding of Linux is a new environment and should be expected to cause rapid evolution. Whichever species survive will be decided by the life and death decisions of customers. Like in the natural world, new creatures may quickly die off because they do not receive the support they need to sustain life.
I think part of the important role that, sources of information like linuxdevices.com and outside consultants such as myself, play is to help to establish taxonomies* that customers can use to better understand the strengths and weaknesses of any particular distribution for use in a given ecological niche. We should expect vendors to continue to define Linux, and other valuable adjectives such as "open source", in ways that fit their message.
* Incidentally, the man called the "Father of Modern Zoology" and famous in part for his binomial nomenclature of plants and animals was Carl von Linne' (sometimes spelled Linneaus). So we may want to develop a Linneaus Linus Linux naming system for variants of Linus' Linux system. ;-)
Author's bio: Kevin Dankwardt is founder and President of K Computing, a Silicon Valley training and consulting firm. He has spent most of the last 9 years designing, developing, and delivering technical training for such subjects as Unix system programming, Linux device drivers, real-time programming, and parallel-programming for various organizations world-wide. He received his Ph.D. in Computer Science, in 1988. He may be contacted at k@kcomputing.com.
Related story: "What is Linux?"
Do you have a question or comment on this article? talkback here
(Click here for further information)
|
|
|
FUEL Database on MontaVista Linux
Whether building a mobile handset, a car navigation system, a package tracking device, or a home entertainment console, developers need capable software systems, including an operating system, development tools, and supporting libraries, to gain maximum benefit from their hardware platform and to meet aggressive time-to-market goals.
Breaking New Ground: The Evolution of Linux Clustering
With a platform comprising a complete Linux distribution, enhanced for clustering, and tailored for HPC, Penguin Computing¿s Scyld Software provides the building blocks for organizations from enterprises to workgroups to deploy, manage, and maintain Linux clusters, regardless of their size.
Data Monitoring with NightStar LX
Unlike ordinary debuggers, NightStar LX doesn¿t leave you stranded in the dark. It¿s more than just a debugger, it¿s a whole suite of integrated diagnostic tools designed for time-critical Linux applications to reduce test time, increase productivity and lower costs. You can debug, monitor, analyze and tune with minimal intrusion, so you see real execution behavior. And that¿s positively illuminating.
Virtualizing Service Provider Networks with Vyatta
This paper highlights Vyatta's unique ability to virtualize networking functions using Vyatta's secure routing software in service provider environments.
High Availability Messaging Solution Using AXIGEN, Heartbeat and DRBD
This white paper discusses a high-availability messaging solution relying on the AXIGEN Mail Server, Heartbeat and DRBD. Solution architecture and implementation, as well as benefits of using AXIGEN for this setup are all presented in detail.
Understanding the Financial Benefits of Open Source
Will open source pay off? Open source is becoming standard within enterprises, often because of cost savings. Find out how much of a financial impact it can have on your organization. Get this methodology and calculator now, compliments of JBoss.
Embedded Hardware and OS Technology Empower PC-Based Platforms
The modern embedded computer is the jack of all trades appearing in many forms.
Data Management for Real-Time Distributed Systems
This paper provides an overview of the network-centric computing model, data distribution services, and distributed data management. It then describes how the SkyBoard integration and synchronization service, coupled with an implementation of the OMG¿s Data Distribution Service (DDS) standard, can be used to create an efficient data distribution, storage, and retrieval system.
7 Advantages of D2D Backup
For decades, tape has been the backup medium of choice. But, now, disk-to-disk (D2D) backup is gaining in favor. Learn why you should make the move in this whitepaper.
|
|
|
|
|