What Linux Needs To Learn From Windows

My company (Likewise Software) develops software for UNIX, Linux and Mac OS X. Our code is system-level, infrastructure, software. It interacts with the authentication components in the OS in order to allow users to login to these non-Windows systems using their Microsoft Active Directory credentials. By supporting single username/password and single sign-on and by supporting Windows-style “group policy” on non-Windows systems we can greatly facilitate account management, greatly improve security and greatly improve the odds that companies who use our product will comply with SOX, PCI and other regulations and standards. 

Writing this software in order to support 110+ software platforms is a bitch and the bitch’s name is “Linux”. Her sisters “UNIX” and “Mac OS X” aren’t gals you’d take home to meet mother, either. Here’s why.

(Note: my apologies for the misogynistic literary device. No offense intended.)

All flavors of Linux start with a common base: Linus’ kernel, currently version 2.6.XXXX.  Of course, there’s still plenty of Linux in use that is based on an older kernel, 2.4.XXXX. The kernels are a little different. The run-time libraries associated with them might differ; the threading might be a little different but if that was all I was complaining about, you’d be right to accuse me of whining.

Although Linux distributors start with this common base, they all go on to add their own special sauce to distinguish their product from others’. In the US, we have Red Hat, Novell (SuSE) and Ubuntu (a Debian variant). We also have Oracle Enterprise Linux and Centos (Red Hat variants) and VMWare ESX (Red Hat 3 variant) to consider. In Europe, you add Madriva to the mix while in Asia, you have to take Asianux and its derivatives (Red Wall, etc.) into account.

Each distributor typically writes their own installer and, rightfully so, competes on the basis of how easy they can make the installation process. Alas, installation involves choosing (directly or indirectly) which additional packages need to be installed. At this point, things begin to get messy because some systems use rpm packaging and others use deb packaging. Although all distributors include a similar set of packages in their pools (including things like Apache, Samba, MySQL, etc.) they sometimes choose to include different versions of these packages with their distributions. Sometimes, out of pure spite, some packages (e.g. Mono) are excluded by one vendor because they were developed by another whom they don’t want to support.

Even at this point, the situation is not too bad. You’d still date the gal – she’s good looking and she has a nice personality, even if she tends to dress in stripes and polka dots.

Where things begin to get complicated is when you’re writing software that’s anything but trivial. You say you want to write a graphical application? Are you going to write it for KDE or Gnome (the two most common desktop managers in use in Linux)? Maybe you should write it using GTK+? Maybe you should use Mono so that you can use Visual Studio for both Windows and Linux development.

You say you want to write some system software (like we do)? Be prepared for differences in:

  • System initialization sequence 
  • Daemon scripts (/etc/init.d)
  • Networking mechanisms
  • “Hardened Linux” mechanisms (SELinux, App Armor)
  • Network firewall management
  • System management infrastructure

Inside every Linux application lives a big, complicated, “if” statement that has to deal with special cases for each distribution and release of Linux. I’ve written the same statement for Windows 95/Windows NT/Vista – trust me, it’s not as complicated.

Now that you’ve noticed that Ms. Linux has a bad case of acne, you might as well consider her sisters. Forget UNIX. The differences between Linuxes is nothing compared to the differences between HPUX, AIX and Solaris. Consider Mac OS X. She’s clearly adopted.

Mac OS X is based on FreeBSD, not Linux. Everything listed above is different on the Mac, too. We do a lot of work with PAM and NSSWITCH. At least, all the UNIXes and Linuxes have PAM and NSSWITCH (okay, AIX 4.x has LAM, but close enough). The Mac doesn’t have these components – it’s replaced with the the Mac Open Directory API. A pretty cool API, but nothing like its siblings.

It’s tempting to position Linux and Mac OS X as Microsoft killers. Microsoft has its shares of problems which Vista has done nothing but accentuate.  We’ve seen increased numbers of Linux desktop projects and Mac OS X machines showing up in “the enterprise.” This is just one of the factors that is driving an incredible amount of business in our direction. Nevertheless, I think that the operating system business is still Microsoft’s to lose. The competition is, at best, a hodgepodge of uncoordinated attempts to define an alternative to Windows.

Is there any hope that a single other OS will displace Windows? If this is to happen, I think it must be preceded by several things:

  1. IBM and HP need to continue to promote Linux and phase out AIX and HPUX.
  2. Sun needs to give up on Solaris/Open Solaris and get behind Linux.
  3. The Linux foundation or some other more effective organization needs to drive more forcefully towards a widely accepted standard Linux. The “standard” needs to go beyond the kernel. We need blessed “stacks” of components and we need agreement on all the areas of difference that I mentioned earlier. Most significantly, we need a standard GUI stack, window manager, desktop, and system management API (By the way,  Linux and UNIX, for the most part, don’t even have a system management API. There are things like Yast, WBEM, ZenWorks and WS-Management floating around but none of them has any wide acceptance. For the most part, management applications just muck directly with system configuration files.)

This, at least, would result in making Linux a more credible alternative to Windows. Mac OS X, would still remain an outlier. There’s very little likelihood of Apple releasing Carbon into the public domain. This is a tragedy as Mac OS X is much, much, better positioned to challenge Windows on the desktop.  Although Mac OS X Server is a fine operating system, it doesn’t help sell any IBM, HP or Sun hardware. Apple’s iPod/iPhone cachet does not buy it anything in the server business.

The answer to my question then is “no, there is no hope that a single other OS will displace Windows.” At least, not unless Apple decides to go totally open source and to port Mac OS X to Linux and make all of its API available under GPL or similar license.

48 Responses to “What Linux Needs To Learn From Windows”

  1. 7043 880395Normally I do not read write-up on blogs, but I wish to say that this write-up very forced me to try and do so! Your writing style has been surprised me. Thanks, quite nice write-up. 124861

  2. 264153 699744I like this web site because so significantly utile stuff on here : D. 458271

  3. w88 says:

    110912 132065I will right away grab your rss feed to remain up to date on any succeeding articles you may write 876876

  4. 492988 654320I want to start a blog but would like to own the domain. Any suggestions how to go about this?. 737373

  5. 716067 614144I take pleasure within the comments on this weblog, it actually gives it that community feel! 251647

  6. 555553 15379You produced some very first rate factors there. I seemed on the internet for the difficulty and located most people will go along with together together with your web site. 975663

  7. 351535 385828Delighted for you to discovered this web site write-up, My group is shopping more often than not regarding this. This can be at this moment certainly what I are already seeking and I own book-marked this specific website online far too, Ill often be maintain returning soon enough to look at on your distinctive weblog post. 938494

  8. 888308 533846Dude.. My group is not considerably into looking at, but somehow I acquired to read several articles on your blog. Its great how interesting its for me to go to you fairly often. 962799

  9. 546303 282955I believe this web site has got really exceptional indited articles content . 571552

  10. 379475 241098extremely nice post, i in fact enjoy this internet web site, carry on it 229266

  11. 605973 845473Music began playing any time I opened this web site, so frustrating! 229068

  12. m88mi says:

    530433 911164Good read, I just passed this onto a colleague who was doing a little research on that. And he just bought me lunch since I identified it for him smile So let me rephrase that: Thank you for lunch! 155158

  13. 414414 429541Incredible blog layout here. Was it hard creating a nice seeking web site like this? 991573

  14. 820043 591907The excellent intreguing articles maintain me coming back here time and time once more. thank you so a lot. 511182

  15. 323606 952789Some genuinely select articles on this internet internet site , bookmarked . 215953

  16. 243615 149756I believe this internet website has some rattling amazing information for every person : D. 773920

  17. 392390 961455Why didnt I consider this? I hear exactly what youre saying and Im so pleased that I came across your blog. You really know what youre talking about, and you created me feel like I ought to learn more about this. Thanks for this; Im officially a huge fan of your weblog 614564

  18. 16288 704708Ive been absent for some time, but now I remember why I used to really like this weblog. Thank you, I will try and check back much more often. How often you update your internet internet site? 346435

  19. 526284 58494Id constantly want to be update on new content on this web site, bookmarked! 533200

  20. 517361 845727Yay google is my king assisted me to uncover this outstanding site ! . 696062

  21. 94635 913551Magnificent beat ! I would like to apprentice whilst you amend your internet site, how could i subscribe for a weblog website? The account helped me a appropriate deal. I had been a little bit acquainted of this your broadcast provided brilliant transparent concept 696885

  22. 266205 133724I will tell your friends to check out this site. .Thanks for the article. 657940

  23. 550738 894121I admire your work , regards for all the helpful weblog posts. 492327

  24. 397362 206530Wow, awesome blog structure! How long have you been running a weblog for? you made blogging look simple. The total look of your internet site is great, let alone the content material! 926425

  25. 844927 291450The electronic cigarette uses a battery and a small heating component the vaporize the e-liquid. This vapor can then be inhaled and exhaled 921935

  26. about says:

    622168 415156My plate is real full and your tryna give me a lot more food, boy what the fuck is wrong wit you?!|guruisthebomb| 726273

  27. 38716 746287Thank you for some other great post. 589431

  28. 955497 622768Good V I should definitely pronounce, impressed with your site. I had no trouble navigating through all tabs and related information ended up being truly simple to do to access. I recently found what I hoped for before you know it at all. 290463

  29. 762714 824389thank you dearly author , I located oneself this web internet site extremely beneficial and its full of exceptional healthy selective data ! , I as nicely thank you for the great food strategy post. 542995

  30. 242027 36442There is noticeably a bundle to realize about this. I assume you produced various nice points in capabilities also. 26054

  31. 74682 357086There is noticeably plenty of dollars to realize about this. I assume youve produced certain nice points in features also. 593599

  32. 542303 446127Average In turn sends provides could be the frequent systems that provide the opportunity for ones how does a person pick-up biological, overdue drivers, what one mechanically increases the business. Search Engine Marketing 468395

  33. 850334 773028My spouse and I stumbled over here from a different website and thought I may as effectively check things out. I like what I see so now im following you. Appear forward to going more than your web page repeatedly. 469329

  34. click here says:

    264890 377490I dugg some of you post as I thought they were incredibly useful handy 291743

  35. music video says:

    442953 831109Hello there! Nice post! Please inform us when all could see a follow up! 583161

  36. Click Here says:

    80081 981984hi!,I really like your writing very so much! 197467

  37. 316140 316877I adore your wp web template, wherever would you obtain it through? 188093

  38. 418280 1446This really is a amazing internet page, could you be interested in performing an interview about just how you created it? If so e-mail me! 496125

  39. 402776 615857Genuinely good style and style and superb content , nothing at all else we need : D. 688872

  40. 842863 31429really great goodthis post deserves almost nothing hahaha merely joking: S nice write-up: P 840933

  41. 551254 428221Vi ringrazio, considero che quello che ho letto sia ottimo 691147

  42. 475686 457109Exceptional weblog here! Moreover your internet site rather a whole lot up quick! What host are you the usage of? Can I get your affiliate link to your host? I wish my site loaded up as quick as yours lol 370955

  43. 636664 330327Just wanna input on couple of common things, The web site layout is perfect, the articles is really superb : D. 483346

  44. 586609 330460Really intriguing topic , thanks for posting . 354132

  45. 452622 24283What a lovely blog page. I will undoubtedly be back again. Please keep writing! 225890

  46. 619553 734485In case you happen to excited about eco items, sometimes be tough shock to anyone them recognise that to help make unique baskets just for this quite liquids carry basic steps liters associated ceiling fan oil producing. dc no cost mommy weblog giveaways family trip home gardening house power wash baby laundry detergent 912151

  47. 816661 99068Today, while I was at work, my sister stole my iphone and tested to see if it can survive a thirty foot drop, just so she can be a youtube sensation. My apple ipad is now broken and she has 83 views. I know this is totally off topic but I had to share it with someone! 237167

  48. 842422 26045Hey this is kinda of off topic but I was wanting to know if blogs use WYSIWYG editors or in case you have to manually code with HTML. Im starting a blog soon but have no coding experience so I wanted to get advice from someone with experience. Any assist would be greatly appreciated! 525757

Leave a Reply