YOUR FEEDBACK
Working at Google vs. Working at Microsoft
Ray the Barbarian wrote: I worked at Microsoft Research, and I had an in p...
SOA World Conference
Virtualization Conference
$50 Savings Expire June 24, 2008... – Register Today!


2007 West
GOLD SPONSORS:
Active Endpoints
Your SOA Needs BPEL for Orchestration
BEA
Virtualized SOA: Adaptive Infrastructure for Demanding Applications
Nexaweb
Overcoming Bandwidth Challenges with Nexaweb
TIBCO
What is Service Virtualization?
SILVER SPONSORS:
WSO2
Using Web Services Technologies and FOSS Solutions
Click For 2007 East
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts
SYS-CON.TV
TOP LINKS YOU MUST CLICK ON


Linux Technology Leadership and the Forking Issue
An argument for Linux variants

Digg This!

Page 2 of 3   « previous page   next page »

What Is a Fork?
We've now covered enough of the basics of Open Source Linux and commercial product development requirements to discuss the risks of a fork of the Linux kernel.

First, what is the definition of a "fork" in software?

In its most distilled form, a fork is any version of source code that is different (modified) from the master copy. By this definition, every time anyone, anywhere, makes a copy of Linux and begins to make modifications, they're creating a fork. In this sense, Linux is forking literally thousands of times a day.

Pragmatically however, this is not the common interpretation of the word "fork" as it applies to software in general and to operating system software in particular. A fork is generally construed as:

  • A long-lived derivative of the master version of source code, and
  • A derivative that's not intended to "resynchronize" with the master source code, and
  • A derivative of some significance in the marketplace.
Hence, short-lived derivatives that precede the submission of the changes back to kernel.org aren't forks. Commercial companies embedding Linux inside a product that have developed a derived version with code corrections and/or enhancements that the company doesn't submit back to kernel.org is not a fork. Such a derivative version doesn't have significance to the broader operating systems marketplace; it's a private version of no broader significance.

Similarly, a derived version of Linux that's frequently resynchronized with the evolving kernel.org source code base is not a fork. Almost every commercial distribution of Linux falls into this category. Some new entrants into the Linux distribution market are striving to label such distributions "a fork of Linux." Such claims are just inaccurate, they're disingenuous for the reasons cited above: it's only through such approaches that serious commercial distributions targeting specific markets can be developed and delivered...and those making such assertions know this. The claims are useful for purposes of creating fear, confusion, and doubt, and, in general, slowing down market adoption while such companies strive to catch up with their own distribution products.

Commercial Linux Technology Leadership
Let's explore the details of commercial Linux distribution in more detail. We particularly want to consider the situation of a company using Linux as a commercial operating system platform embedded in products in a market with significant requirements that extend beyond what the Linux from kernel.org is capable of.

MontaVista's approach to this situation is relatively simple. Here are its key strategies:

  • Identify the key market (or application) requirements that are underserved by standard kernel.org Linux.
  • Identify any extant Open Source technologies already developed or in development but not yet integrated into kernel.org Linux, and if available, assess their maturity, their state of ongoing development and support, their state of adoption by other industry players, and their potential for adoption into kernel.org Linux.
  • Either adopt an extant technology or begin developing a new technology. When developing new technology, use Open Source development models to (1) maximize community leverage, and (2) maximize the potential for both broader adoption and use and, ultimately, integration into kernel.org source code.
  • Aggressively commercialize the feature in MontaVista Linux products. Provide this capability as a high-value, fully supported and maintained component in the overall set of value components of the complete MontaVista Linux product.
Obviously MontaVista maintains private source code copies of Linux. These are either a new product version in development, an actively sold and supported version undergoing ongoing maintenance and minor enhancement (primarily new hardware support), or an obsolete version that may still be under special support to customers requiring "long lifecycle" support.

MontaVista aggressively integrates advanced capabilities not yet integrated into kernel.org into the MontaVista Linux product. In many cases these are capabilities developed primarily by MontaVista, using Open Source development methods. Sometimes these are capabilities developed by others, with or without active MontaVista participation or contribution. In all cases, the following are true:

  • The technologies are developed and maintained as independent Open Source components.
  • The technologies are promoted for inclusion back into kernel.org source.
  • MontaVista continues to move its own product line forward with new versions of MontaVista Linux, each of which moves forward to a more recent baseline of source code from kernel.org (and many other critical components, such as gcc, gdb, glibc, etc.).
To clearly distinguish how such Linux variants form a true fork of the Linux kernel, let's describe a hypothetical "real fork" scenario.

Linux is developed with a first-order focus on server and desktop computing. Requirements from more specialized areas of computing aren't given the highest levels of priority. Such areas include consumer products, telecommunications equipment, mobile handsets, and mil-aero. When implementation or optimization choices conflict with requirements from different application segments, servers and desktops typically (and arguably, appropriately) win out.

Given this backdrop, it's possible that an individual or a group (for example, an industry consortium) could build, market, and maintain a separate, specialized version of Linux. Let's say, for example, several large mil-aero firms decided to cooperate in developing and maintaining a "mil-aero Linux." To do this they'd choose a starting point set of Linux code from kernel.org and publish this code independent of kernel.org (say, www.mi-aero-linux.org). They'd then begin the process of evolving this code base to meet better the requirements of the mil-aero equipment market. The stated intention would be to make long-term design, content, and management decisions to optimize the code for those requirements. In doing so, the decision would be to diverge henceforth from the kernel.org source base due to the very different design objectives and specific code evolution being planned.

If such a development occurred, and the project moved forward successfully and the resulting software gathered significant adoption and use...THAT would be a fork of the Linux kernel.

It would have all the attributes of a true fork: a long-term variation; no intention to resynchronize with Linux proper; no attempt to get the capabilities in the fork back into Linux proper; and fielding some significance in the overall operating system market.

Legitimate Concerns
To date, no true Linux fork has arisen. So with respect to the Linux variants that aren't forks of the Linux kernel, are there legitimate concerns about them having "differences" from the kernel.org source code?



Page 2 of 3   « previous page   next page »

About Kevin Morgan
Kevin Morgan has 20 years of experience developing embedded and real-time computer systems for Hewlett-Packard Co. Experienced in operating systems and development, Kevin was a member of the HP 1000 computer software design team. While at Hewlett-Packard, he worked as an engineer, project manager and section manager spanning the development of five operating systems. As HP-UX Operating System Laboratory Manager, Kevin was responsible for overall HP-UX release planning, execution and delivery for Hewlett-Packard server computers. Kevin has been leading the MontaVista Software engineering team since joining the company in November 1999. Kevin obtained his BS in Computer Science from the University of California, Santa Barbara and earned his MS in Computer Science at the University of California, Berkeley.

ENTERPRISE OPEN SOURCE MAGAZINE LATEST STORIES . . .
Adobe's Kevin Lynch and Microsoft's Scott Guthrie to Keynote AJAX World RIA Conference & Expo
Two of the biggest launches in Rich Internet Application history took place in 2007/2008 when Adobe launched AIR 1.0 in February '08 and Microsoft launched Silverlight (September '07). At the 6th International AJAXWorld RIA Conference & Expo in October SYS-CON Events is delighted to be
MuleSource Releases Open Source SOA Governance Platform
MuleSource announced general availability of Mule Galaxy Enterprise, a new production-ready solution for storing and managing SOA artifacts offering new enterprise-class features such as clustering for high availability, an extensible query engine, and more. Mule Galaxy Enterprise, the
Oracle Updates Entire Family of Oracle Berkeley DB Embeddable Databases
Oracle announced new releases of Oracle Berkeley DB, Oracle Berkeley DB XML and Oracle Berkeley DB Java Edition. The new releases and enhancements signify Oracle's commitment to continued innovation across the Oracle Berkeley DB product family, while maintaining the open source dual li
Red Hat Expands Open Source Virtualization Applications
Open source applications provider Red Hat has introduced three applications targeting enterprise-wide adoption of next-generation virtualization. It has introduced embedded Linux Hypervisor for hosting virtualized Linux and Windows environments, which provide virtualization with improv
Red Hat Delivers on Linux Automation
Red Hat announced advancements that extend the Company's Linux Automation strategy by providing expanded capabilities and incorporating broadened community involvement for secure management of both users and systems across virtual and physical enterprise infrastructures.
Red Hat Numbers Up
Red Hat saw earnings rise 6.6% to $17.3 million, or eight cents a share in its first fiscal quarter ended May 31 on revenue up 32% year-over-year and 11% sequentially to $156.6 million. EPS was dead flat year-over-year. Subscription revenue was $130.7 million, up 27% year-over-year and
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

SYS-CON FEATURED WHITEPAPERS

ADS BY GOOGLE