DISQUS

TechFlash: How a Microsoft veteran learned to love Linux, and why it matters

  • Lee · 6 months ago
    Keith, I applaud your book.

    One comment...

    "If Windows NT had been free from the beginning, there would have been no reason to create Linux."

    Early Linux ('91-'92) actually predates Windows NT, but I do agree with you. Had Windows NT been released as "free software", Linux may not have gained the momentum it has today. But then, who at Microsoft could have suggested such a "wild idea", which might have ultimately preserved the company. It will be interesting to see the shape of the software landscape 20 years from now. Free software will certainly exist and thrive, regardless of whether Microsoft continues along.
  • John · 1 month ago
    Free really isn't what Linux is about, its about the open source. The fact that people can look at the code, and modify it to work with what they need, makes it so much better then Windows. I mean there are distro's of Linux which cost money, and there is software like Spore that costs... But it's all open source and your only paying for the license. I don't mind that it's not free.... I mind that people can't look at the code themselves and make it work better for them and contribute to an OS to make it a much better one.
  • kiwibird · 1 month ago
    Well, "free" can mean two things, free as in beer, or free as in speech. GNU/Linux operating systems are (for the most part) free as in speech in addition to free as in beer, meaning they're both gratis and open source and come with certain other freedoms, see http://en.wikipedia.org/wiki/Free_and_open_sour...
  • Andre Da Costa · 6 months ago
    Lee, correction, NT predates Linux from 1989 when the project started as N10 on prototype Intel 810 processors. I am probably sure Dave Cutler had it in planning from late '88. Linux first commercial release I believe was Slackware which came out in 1993 and Redhat sometime after that.
  • Xeno · 6 months ago
    And BSD predates all of those.

    Linux would have become popular regardless of whether a open source Windows was created or not. You have to understand why people started using Linux. They used it because they wanted a version of UNIX to learn with, develop with or for their business but didn't want to pay the huge licensing fees.

    Linux became popular on the server side not as a Windows replacement but as a Unix replacement on big iron. This is why to this day Linux is VERY popular on servers in enterprises. Microsoft is popular in the server space mainly for running Microsoft products. This is why you will never see a version of SQL Server for Linux; they like being able to make a second dollar of their first dollar. Sell one product to make them buy another product. Why would they want to sell SQL Server for Linux when they would be hurting their server sales?

    And even if they released an open source version, Linux has shown time and time again in NON_MICROSOFT funded FUD that they can scale better (2-3 Windows servers do the work of one Linux server on same hardware at Expedia for example), they are more secure (most vulnerabilities are patched in a 24 hr period and there are 10 times the number of major vulnerabilities on Windows systems) and the is no cost to install or use them. Do Linux admins cost more? Nope. They are able to administrate Windows and Linux machines in your dept whereas the reverse for Windows admins cannot be said.

    So while it would be nice if Microsoft started to open source some things, it would have never had an impact on Linux's growth.
  • Satyabrata Maitra · 6 months ago
    Keith
    Too good to comment! Fantastic!
    Satya
    Red Hat
  • Prototyped · 6 months ago
    I dearly wish the author had more of a clue. The book seems to be more of a philosophy/community study than an actual technical venture.

    1. The applications make the platform, not the kernel. You could swap the kernel out and adjust the runtime accordingly and no one would be the wiser.

    I like to say that users can't touch, smell or feel the kernel. That's because it's the man behind the curtain, allowing the performers (apps) to perform (run). That's the extent of its involvement.

    2. DOS' "kernel" was nothing more than a bootloader for Windows 3.0 and up. Windows 3.0 and up loaded its own kernel and only used DOS to get up and running.

    3. The rest of the software stack arguably matters much more than the kernel or even, say, the C runtime. For instance, the display system on most Linux machines, X11, provides for a particularly important stack, providing the means to draw windows, draw widgets, draw text, send 3D scene drawing commands (via GLX and libGL, the latter being where all the magic happens), sending input and damage notifications, etc. And then there are the whole frameworks built on top of this (widget toolkits like GTK+ and Qt; text rendering libraries such as Pango; experimental widget systems like Clutter; vector drawing utility libraries like Cairo; and so on).

    And when it comes to apps, they want basic functionality like copy-and-paste, a user notification system, device management and awareness of device availability, volume management, and so on. Desktop environments such as GNOME and KDE provide this functionality.

    All these things are more important than a kernel.


    In the end, software freedom is a philosophical thing. Practically speaking, software quality matters, and as of right now, I cannot honestly say that open source software has achieved the sort of quality I could bank on, even though open source enthusiasts are fond of screeching from the rooftops about it. Maybe if they say it enough times, it'll become true?
  • Lennyp · 3 weeks ago
    Prototyped makes no sense whatsoever.

    "1. The applications make the platform, not the kernel. You could swap the kernel out and adjust the runtime accordingly and no one would be the wiser."

    The kernel is there to provide the need functionality and protections to upper layers without exposing dependencies such as which graphics card, which drive interface, etc. Yes, in a properly designed system you can swap kernels as long as the interfaces remain compatible, but you can not remove the kernel and expect any functionality.

    "2. DOS' "kernel" was nothing more than a bootloader for Windows 3.0 and up. Windows 3.0 and up loaded its own kernel and only used DOS to get up and running."
    DOS was integral to Windows functionality. The bootloader was actually the Bios which loaded DOS. Windows was actually an application which ran on DOS and provided additional functionality to other applications. Windows saved applications programmers from having to write device specific code as you did under DOS. I think you need to learn a little bit about such things as hardware abstraction, hardware drivers, and I/O.

    "3. ... the latter being where all the magic happens) ..."
    Let me assure you that none of this is magic. What you describe as "The rest of the software stack" would not function without the kernel. Further, the entire computing experience is dependent upon the quality of the kernel from I/O to security to power efficiency and beyond. Had Microsoft bothered designing and implementing a secure kernel we would not have most of the security issues that plague us today.

    Please take some computer engineering courses. I think you would find them quite enlightening as to how computers work, how computers should work, and why we have what we have today.
  • KeithCu · 6 months ago
    Hey all!

    @Xeno:
    If Windows were made free from day 1, it would have had many or most of the outside people working in it that are currently working in Linux. Therefore, it would have the scalability, reliability, etc. The key to Linux's success is its free-ness, not its Unix-ness.

    @Prototyped:

    It is true that there is a lot more than the kernel to an OS. I talk about the Linux kernel because it is a great case study demonstrating how free software can build something large and complicated and yet technically superior.

    Also, the kernel is the foundation: once you've got a kernel, then you can work on all the other pieces. I can't write code for my OS until my hardware works!

    Finally, the kernel battle is a proxy for the OS war: zero Microsoft apps run on Linux.

    I don't think you can say that software like Gnome is more important than the kernel. It is like saying that an engine is more important to a car than its tires: both are necessary.

    I agree that free software is not uniformly better than proprietary software. (But the Linux kernel is better!) I talk a lot about its remaining challenges in later chapters of the book. But it is getting better every day -- at an increasing rate. And many big organizations bet their business on free software, like Google. I doubt your needs are greater than theirs.

    Finally, don't be too hard on the excerpt: it is just 1%, and introductory words at that.
  • Andre Da Costa · 6 months ago
    @XENO:

    My understanding is, you still have to invest in a commercial distribution of Linux such as Redhat or Novell which can very much equal licensing cost or more to Windows. Any IT Admin with common sense is not gonna use distro like Fedora or OpenSUSE simply because they are bleeding edge releases with little support thats mostly community based. So, the myth that Linux doesn't cost a thing is bogus. When you want to scale up, you are most likely gonna use commercial equivalents to products like MySQL - think Oracle DB which will cost money.

    I think the Open Source community these days need to start telling the plain truth, we want to be like Microsoft and make money too. Its that simple.
  • KeithCu · 6 months ago
    @Andre Da Costa:

    Yes, commercial versions of Linux make sense in many scenarios. However, companies can also provide paid support on free versions of Linux, like what HP does with Debian. If the software is free, it makes the license + support cost less.

    Each company, big and small, can decide what they need. Wikipedia runs on Ubuntu. I think it is cool that I can run the same software as the big sites. And if I ever need support, I can get it. Yes, software costs money to manage. My book doesn't argue that it doesn't.

    I believe there are many opportunities for service companies to make money using free software and I hope and expect it to happen. It will create much more of a free market of support than we have today. For example, if you have a bug or want a feature added to proprietary software, you must go to the one vendor. In the free software world, many more companies can provide it. Of course, there is no guarantee of quality, but that is the same issue that exists today for car mechanics.

    The MySQL versus Oracle is a separate battle -- one that Oracle is losing. BTW, many large sites run MySQL. In fact, I believe many of the features that exist in Oracle are unnecessary and belong outside the database.

    I talk about all of these issues, and many more, in the book.
  • JD · 6 months ago
    Uhh yeah if NT was free.... great. I Think There Still Would be a Point to create Linux because, windows is unstable and gets too many virus still!
    Congrats on the book looks interesting!
  • Mallik · 6 months ago
    @Keith:

    Even if windows binaries were made freely available from day 1, i guess, it wouldn't have been that scalable & reliable as linux is now.

    The key to linux's success is not merely the 'free-ness' but the 'open-ness' which attracted developers across the world to contribute to its reliability & scalability, etc..


    If the 40 year old Unix is made freely (and, ofcourse, openly) since its birth, there would've been no reason to create windows, what do you say?
  • KeithCu · 6 months ago
    @Mallik:

    What you call open is implied in my definition of free. When I say free, I think of the GPL, which I believe is the best license.

    I agree that if Unix were free from the beginning that the industry would be totally different, and Microsoft as we think of it wouldn't exist. I make that point in the book.
  • NirY · 6 months ago
    @Andre Da Costa:
    I work in an ISP, and for any system that doesn't run Oracle DB we use CentOS, which is based on Red Hat sources, and is basically identical, only free and without support. The only reason we still use Red Hat is so that we can get Oracle's support for their DB (it's 99.99% sure to still work on CentOS, but you know how these people are sensitive about supported platforms and all that).
    Other than that, there's really only reason to work with supprted distributions like Red Hat for production systems that are impossible/very difficult to make redundant.

    @JD:
    I believe that if Linux had the same popularity as Windows, there would've been many more viruses and worms created for it.
  • anomymuos · 6 months ago
    If you look at the latest data from IDC, you'll realize Windows Server has slowly become dominant..not as dominant as the client but more servers ship today with Windows Server than Linux and Unix combined.
  • TheNetAvenger · 6 months ago
    @KeithCU

    "Linux kernel because it is a great case study demonstrating... technically superior"

    Really?

    I am going to guess that you never worked at a highly technical level at Microsoft if you honestly believe this.

    I know a lot of Microsoft people don't understand the 'core of the company' as you would say, with that being the kernel and NT.

    As an OS theorist/engineer myself, I am sitting here, trying hard to come up with a single item from the Linux kernel that I could try to sell as 'better' than what NT offers.

    When Dave Cutler and his team put NT together, Microsoft owned Xenix at the time, and the Cutler team not only were from the VMS and UNIX world, but they could have created NT based on UNIX concepts and still used a semi-hybrid kernel.

    They chose SPECIFICALLY to abandon the UNIX OS model concepts for many reasons, from the poor network security model and lack of ACLs to the 'limits' of the generic textual I/O device model.

    They also chose to create a new low level kernel model that has benefits of several basic kernel designs by layering out the kernel API sets.

    Where NT was 'ahead' is where you will see where Linux and other UNIX variant OSes have hit a wall and is putting 'band-aids' on the kernel model or the UNIX OS model itself. You can see this in fights over granularity and locking.

    You could truly argue a good 'philosophical' point about open source, and there would be a lot of things I would agree with you on.

    However flat out saying that the Linux kernel is better than the NT kernel shows either a vast gap in your understanding, or your own biases towards Microsoft that you are promoting through a guise.


    When you have Technology A and Technology B, and A can do everything B can do, but B can't do everything A can do, it would be insane to call B superior to A.

    -Sadly this is what you are doing.
  • Double4 · 6 months ago
    I am a simple user who wants stuff to work, when I am working on my computer and I plug in a flash drive, I expect to read and write to it without having to go to University to learn file systems. I expect to get updates without a problem, I expect to have great anti-virus protection, I expect to work without crashes, I expect the OS to have a great plug and play system.

    I simple want to work...

    I use MS XP SP2 at work and OpenSuSe 10.3 / 11.0 at home. Whilst it would be great to work with Linux full time at home, I find myself switching to Windows now and then or when I am at work, wishing I was using Linux.

    I would be very happy if the great computer minds would create a system I could actual use without wishing I was using the other "one"...
  • KeithCu · 6 months ago
    @TheNetAvenger:
    If you are looking for something that the Linux kernel does that NT doesn't, how about "runs on machines with 1,000s of processors?" Or, "has the power of Windows NT in the size of Windows CE." Linux also supports more architectures, is more reliable, is more componentized, is simpler, etc. My book goes into this in more detail.

    And, unlike Windows NT, most of the people who worked on it years ago are still there.

    @Double4:
    I agree that Linux isn't ready for everyone yet. Just hold tight, it will get there. My book lists the biggest remaining challenges.
  • PStryder · 6 months ago
    The software wars are over? When did that happen?
  • Tyler Style · 6 months ago
    Sorry to nitpick, but you've got an error in your text. You quote 4,000 man years as having gone into the Linux kernel, and then reference it as 40 man-millenia, which would be 40,000 man years.

    Other than that, I have to say the intro certainly has intrigued me!
  • KeithCu · 6 months ago
    @PStryder:

    The wars aren't over, but I had to add "After the" to make the artwork fit! Also, the book is a vision of the future.

    @Tyler:

    You scared me for a second, but I think the text is fine: the 40,000 man-years is referencing the entire free software stack.
  • mycall · 6 months ago
    http://en.wikipedia.org/wiki/Comparison_of_Wind...

    http://www.linuxtoday.com/news_story.php3?ltsn=...

    Personally, I think eventually NT will go open source and the tides will turn once more.
  • mycall · 6 months ago
    Don't forget, there are better ways than Linux:

    http://www.cs.unm.edu/~fastos/05meeting/PLAN9NO...
  • BricksinWindows · 6 months ago
    A Little History lesson the NT kernel didn't come from Microsoft. NT is an old OS called VMS it use to run old super computers back in the day.
  • Dave · 5 months ago
    The only reason people use Linux on servers is because its free and they don't have to actually use it: it just sits there on the server doing its thing.

    The notion that the Linux kernel is in some way superior to the NT kernel is a dream of anarchists everywhere, but its not true. The moment you had to install 50 device drivers (not that they exist) from 50 vendors into the kernel of Linux it would have every problem that Windows does, and a lot more.

    Stick Server 2008 on a mainstream box (like a Dell) with common hardware and its indestructible. We use one as a terminal server with 30 people running Office apps on it all day long (plus MySQL and some other things) and it never has to be rebooted. It never fails.

    Why? No poor quality third party device drivers.

    This is one area where the Mac has a bit of an advantage: they control the hardware platform so tightly that the operating system doesn't have to deal with the myriad of possibilities that NT does.

    Trust me, even VMS wouldn't have been stable if you installed software on it with drivers written in a boiler factory in Xianghu province of China.
  • Anonymous · 5 months ago
    @Dave

    Your first paragraph is the best testament to linux on servers. Install and forget. It doesn't get in your way.

    As far as your argument for device drivers, you said it yourself - they are third party. One can't call Kernel technically inferior for that.

    If you mix sugar in your oil, the car's gonna stall - irrespective of whether its BMW, Honda or Cherry. That can't be used to call Cherry technically inferior (or superior for that matter) to BMW.
  • sajal · 2 months ago
    interesting read... but FC3 is ancient now... now Linux does kickass of windows even when it comes to desktop usage...
  • johnny guest · 1 month ago
    IMTHO, the only thing Microsoft has innovated lately is crowd control.

    All the bells and whistles being added to the OS (and other software) aren't intended for the masses, and from the amount of difficulty with Vista, users have concluded, loudly, that Vista lost their interests (2 definitions of the word interest applies here). Similar for MS Office - I have been trained on (and am 'certified' on) Office 97, back in the day; today, I still do not use web integration, nor any collaboration nor embeddings. These features aren't used in the offices where I've been employed. I say 2 people per hundred felt that some subsequent version of Office had an improvement they personally needed to use, and when their output documents were unreadable to subordinates and clients (with older versions of Office).... well, the lazy 2 percenters, in effect, propagated the upgrade waves for version after version of MS Office. Not opinion: IT veeps of 2 different companies told me this was the reason for the upgrades being installed on my corporate PC (by name in each instance - each wanted the latest and greatest despite the impact). Little did one IT veep know, not until I told him, that I hadn't booted the OS on the hard disk for weeks. All my compatible documents, all my email, etc., had been generated using a live Linux distribution called Knoppix, it running from the CDROM drive and using the local hard dis only for storage; this was back in 2001.

    More, Microsoft isn't about innovation, it is about twisting. Microsoft usually 'innovates' by purchasing existing software (Excel and Visio, to name two titles that come to my mind). So when I spend $240 for retail versions of a full install of Office, what exactly am I getting that Open Office is not presently providing to me? Scratch the reference to OO, I can still edit my resume (RTF) with Abiword, Applixware, etc.

    A newer abomination I ran into (years ago, now) is the .NET framework. An application that one version earlier just barely fit on a bootable floppy now needs 8+ megs of 'framework', and the application alone couldn't fit on two floppies. Did performance gain as a result of the changes needed? Can't tell, I decided .NET was .NOT for me.

    In any case, my PC is not owned by Microsoft, I'm glad to have functional choices of operating system and office suite.
  • linuxiac38 · 1 month ago
    Point 1 of the 1024 reasons to reject Microsoft:

    Windows = FAIL! Consecutive baby steps for each process through the CPU stops system (CRASH!), when any individual step fails!

    Linux, BSD, Unix = SUCCESS! Concurrent, multiple processes run in parallel optimum multi-processing, multi-user environment!

    More, Windows even still crashes when running FOSS, because the win system is so flawed.

    Point 2 of the 1024 reasons to reject Microsoft:

    The million Microsoft virus/mal-ware bots/exploits take advantage of the built-in flaws in Microsoft.

    Because of the security of the 'Nix file system, immunity to virus is assured, and proven, since Unix was 'born' in 1969, as demonstrated by BSD (1971), and Linux (1991).

    Point #3 of the 1024 reasons to reject Microsoft:
    Processes run as much as 200 times faster in all the 'Nixes, than Microsoft can do.

    Perhaps you should read more about all the reasons Microsoft FAILS and is even prohibited by Microsoft from running in any production environment, in any professional or enterprise environment, especially those affecting production, life support, motor vehicles, ships, planes. http://linux.org

    http://livecdlist.com has many of the 315 LiveCDroms of Linux & BSD.
  • o.a. · 1 month ago
    Very good argumentation. Thanks for sharing it with the folks.
  • LennyP · 3 weeks ago
    Had Bill Gates in the person of Microsoft, not engaged in the illegal monopolist practices to which Microsoft has been found guilty of, there would be no Windows (and no Office). There were many other far superior O/S's such as DR-DOS, BeOS, NeXT, O/S 2, etc that were intentionally negated by Microsoft through it's illegal monopoly. (Read the court records.) Whether NT had been free or not is really irrelevant as it still would be a closed system under the control of the convicted Microsoft and subject to it's illegal practices.

    The only means for geeks to provide themselves with a viable PC operating system on generic hardware was (and still is) through open-source collaboration; the Microsoft monopoly still exists and still engages in the same practices. The open-source model provides us with means to run a higher quality O/S though the deals MS makes with computer vendors still requires most of us to pay the Microsoft Windows tax. Linux, with all it's shortcomings (and it has many) at least permits us the freedom to do our work in the manner we see fit rather than as Microsoft attempts to dictate.
  • freon96 · 2 weeks ago
    Linux would be worthwhile even if every other OS was free simply because it offers the best ways to learn about an operating system. R&D and experimentation make it the best learning tool for computer science.

    As far as a desktop goes, Gnome and KDE are easily configured for almost any environment. There's lots of other desktop managers you can also play with as well as plain old X-windows. Now it's also possible to run an instance of Windows under Linux using VMWare or VirtualBox (I use Sun's VirtualBox to run a full install of Windows XP Pro and it works great).

    Another major appeal to Linux is that it doesn't require endless hardware upgrades; it will run on just about any Intel or AMD based system. Since it's free not only do you save money but you don't have to keep track of licenses or track which user uses what software.