Slashdot Mirror


The Future Of The 2.0 Linux Kernel

An Anonymous Reader writes: "The first 2.0 stable kernel was released over six years ago, in June of 1996. It was followed by the 2.2 stable kernel two and a half years later, in January of 1999. The more recent 2.4 stable kernel followed by two years in January of 2001. And the upcoming 2.6 kernel is at least a year off. Through all these years, 2.0 has continued to be maintained, currently up to revision 2.0.39, also released in January of 2001. David Weinehall maintains this kernel, and says, "there _are_ people that still use 2.0 and wouldn't consider an upgrade the next few years, simply because they know that their software/hardware works with 2.0 and have documented all quirks. Upgrading to a newer kernel-series means going through this work again." Read the full story here."

10 of 219 comments (clear)

  1. killer feature by ghum · · Score: 5, Insightful

    The long time maintainance of an "old" kernel is a very important argument in favour of linux for serious industrial applications.

    In our area we have the saying "you earn money with depreciated machines" - and to use them, you simple do need an "old" maintained operating system.

    So the work of the "historic kernel"-maintainers is helping Linux to get good reputation.
    1. Re:killer feature by XO · · Score: 2, Insightful

      processor/network/ram hungry, probably not-- pure physical SIZE of the 2.2 and 2.4 kernels prevent them from being used adequately with single floppy based systems.

      My network router/web server/email server is all mounted off of a single floppy that is both the root filesystem and the boot disk. Can't do that with a 2.2 or 2.4, and still have all the drivers necessary to make all the hardware work, and have the software necessary to make all the rest of it work.

      --
      "Champagne for my real friends - and real pain for my sham friends!" http://ericblade.postalboard.com/
    2. Re:killer feature by MasterOfMagic · · Score: 2, Insightful
      A typical use of older machines, as a firewall/router, springs to mind. Here I doubt that the 2.4 firewall code is much more resource hungry than the 2.0 code, but the changes to the kernel make iptables much more flexible than ipfwadm.
      What about machines that stared life with ipfwadm and have been firewall/routers for about 5 years now? Updating to the newest kernels pretty much means you have to rewrite all of the rules in ipchans/iptables, which takes time of an employee, which costs money, and decreases productivity. I'd rather just install an old 2.0 series kernel for the latest security patches than I would have to go through the pain of rewriting lots of firewall rules.
    3. Re:killer feature by Alan · · Score: 2, Insightful

      Not only floppy but other embedded devices. My old company was using 2.0.39 simply because otherwise we couldn't fit it onto the system, or get it to use a reasonable amount of ram. When you're trying to produce hundreds of thousands of units, the move from say, an 8 meg DOC or DIMM to a 16 meg one is a big expense. The 2.0 series was stable, time tested, and fit in a very small amount of space. We simply couldn't get the same results from 2.4.

  2. my 0.2 cents by Anonymous Coward · · Score: 0, Insightful

    hi,

    well i can understand this fellow. 2.0.x is indeed stable as hell but you must also consider that maintaining old kernels prevent people to use and report bugs for new kernel versions.

    to go forward people need to make decissions and steps. i really recommend saying that after 6-7 years that the kernel should maybe move to 2.0.40 and then stop. suggest people to switch over to to use new kernel and report bugs for the new kernels. also applications are improving, many tools require new kernel headerfiles etc. one day it's end for 2.0.x i doub't that people still have their applications supported for that old kernels. e.g. if you need new drivers or if you want to compile new tools because there are security holes reported for older versions.

    this is a neverending wasted task to convert all the new applications to understand the old kernel headers etc.

    simply end it. it's time for new kernels, it's time for people to use the new ones so we all can profit from bugreports, featurerequest, enchancements etc.

    personally i think that the current kernels are getting confusing, there are 23894712047102347 versions out, -ac, -dj, -whatever, 2.0.x, 2.2.x, 2.4.x, ... ... ...

    i think one clean roadmap would be necessary the kernel development is really starting to get out of control...

  3. If it ain't broke by Ubi_UK · · Score: 3, Insightful

    ...don't fix it

    A good example of this is that NASA still uses 8086 processors: You know exactly how they work.
    New things mean new problems. If you're having a system which does its job, why upgrade to a higher level kernel that can support hardware and protocols you don't need, but brings in bugs you don't want.

  4. Re:Consider yourself warned by Erasmus+Darwin · · Score: 5, Insightful
    "Oh wait, this is open source."

    Which reduces the problem but doesn't negate it. Everyone loves pointing out that anyone can get their hands on the tools necessary to modify open-source software, but they tend to conveniently ignore the fact that not everyone has the programming skills necessary to do so.

    Sure there are a lot of people out there who can program, and even a decent number of people out there who can program well. But in this case, you'd need someone with at least some Linux kernel hacking skills and enough programming know-how to be able to close a bug (possibly even a security bug) that made it past all those people who've hacked on 2.0 so far. Now factor in that you'd want a programmer good enough to be trusted with mucking around with the kernel for Very Important Systems -- systems important enough, at least, that you aren't willing to even take the next big jump in kernel versions.

    It all boils down to a dicey situation. Even certain Open Source projects/versions get end-of-lifed by the official maintainers. You aren't always guaranteed that someone else will pick it up.

  5. Not everyone needs cutting edge! by xt · · Score: 3, Insightful

    There are a lot of specialized applications running on legacy systems, such as many mechanical corridors that connect to aircrafts (Win 3.11) or handheld barcode scanners (DOS), or even a lot of ATMs (OS/2 1.x).

    The basic advantage is the understanding someone comes to have by working a number of years with something specific. Most bugs, and for certain all the serious ones, are known and documented. Design limitations are known also. There are field proven designs and in many cases known tweaks to extend functionality, even beyond the original capabilities.

    This stands true for pretty much everything; another poster pointed out that NASA still uses 8086 hardware!

    The need for maintenance is also something relative; if you have something that constantly works reliably, the maintenance required to keep it that way is minimal.

    I believe that even if 2.0.39 was the last kernel of the 2.0.x series, people who use 2.0.x won't really care. I know, since I have a 2.0.36 based home router that runs for the past year and a half with zero maintenance. I don't even plan to upgrade to another 2.0.x kernel, let alone 2.2 or 2.4, as long as it just works (tm). :)

  6. Open source is a more perfect "marketplace" by dpbsmith · · Score: 5, Insightful

    One advantage of open source is that the continuation of older versions is _truly_ market-based. That is, an old version that is genuinely valuable to a small coterie of users can remain in existence. In particular, low-benefit-low-cost products--products that appeal to a small base but cost little to maintain--can thrive as long as the benefit/cost ratio is good (even if numerator and denominator are both small).

    IMHO one of the big problems with proprietary software--which I once saw personally from within a then-Fortune-500 company--is that career advancement depends on working on big projects and thinking big. One one occasion I was told that something wasn't pursuing because "on your own showing it can't bring in more than $2,000,000." I said, "yes, but the costs are trivial so it will be very good business." It was explained to me that projects of that size were just too insignificant to be considered. I believe that just the cost of translating the manuals into the fifteen languages supported by this global company was enough to sink the project (and of course ALL the company's product HAD to be translated into ALL languages because that was their procedure). On another occasion, when wondering whether we should be developing projects for a certain market sector, I was told, "Naaaah, we already had a consultant look into that, it's not worth it, it's just another $100 million market."

    And of course with proprietary commercial software is you usually have the vendor "pushing" newer versions because selling new versions provides more profit to the vendor than maintaining old ones. The commercial software marketplace is a very imperfect, high-friction "market." And one place where the vendor has a lot of asymmetrical power is with respect to versions and releases. It is usually easy to keep customers on the "version treadmill." What if you don't like Microsoft discontinuing Windows NT 4.0? Where's the customer leverage? "If you do that I'll just buy Windows NT 4.0 from one of your competitors?"

  7. please read this linux app developers by Anonymous Coward · · Score: 1, Insightful
    this is EXACTLY why you should not depend on the latest and greatest simply for your app to work. Try building with multiple libs (different versions) and for older versions of the kernel and environment. Many do NOT want to upgrade the kernel just in order to have our video cards, sound cards, and such work. I have often noticed a rather alarming trend that a very vital addition to the linux suite of apps that people have been eagerly waiting for and contributing to, ends up being released in formats that require libs and binaries that are only weeks to a month or two old... this is odd considering that the app was worked on (and the features/support promised) long before these binaries and libs were put together in even an unstable format.

    If there is not an absolute requirement for the latest and greatest, then please do not require them for the build. Additions are great, but they should be optional and 'extra' not the bare minimum. Otherwise this is like Linux binaries only being released for the latest instruction code of AMD (or Intel) chips, but not for any other chips. (this is a loose and probably poor example not to be overanalyzed to the point it looses its underlying meaning and reason for being said)