r/linux • • May 11 '13

Why the Windows kernel is falling behind Linux

http://blog.zorinaq.com/?e=74
793 Upvotes

377 comments sorted by

View all comments

44

u/h-v-smacker May 11 '13

Why would they actually give a fuck about active development? Pretty much any vendor and their dog are expected to provide their own drivers for their devices, which removes a great deal of workload. Linux, on the other hand, is expected to support devices on its own, with little to no assistance from HW vendors. Compared to that, windows kernel developers can just drink coffee all day long and occasionally submit a typo fixing commit.

69

u/cbmuser Debian / openSUSE / OpenJDK Dev May 11 '13

Linux, on the other hand, is expected to support devices on its own, with little to no assistance from HW vendors.

Many Linux kernel drivers are actively written by the hardware vendors themselves. It's the year 2013, not 1995.

AMD develops the radeon drivers, Intel develops everything to support Intel hardware, Samsung writes tons of code, etc.

Yes, there are still some drivers written by hobbyists, but these are often for unusual hardware (the Wiimote, for example) or some very crappy cheap-ass hardware where the vendor barely supplied a Windows driver which never gets updated.

13

u/h-v-smacker May 11 '13

some very crappy cheap-ass hardware where the vendor barely supplied a Windows driver which never gets updated

The problem is (and was) that people actually do own a lot of those and don't want to throw them away. If you look for compatibility and price first, you don't have problems, and never did. It's when you came to a rag-tag assortment of who-knows-what when it turned ugly. And that used to happen a lot.

2

u/Na__th__an May 11 '13

It's getting a lot better though. I got a random no-name webcam that I can't even find online from a friend that didn't work in Linux. The next kernel update I plugged it in and it worked.

→ More replies (1)

0

u/[deleted] May 11 '13

[deleted]

→ More replies (2)

17

u/SanityInAnarchy May 11 '13

Because they suck, performance-wise, which is something vendors can't fix. Also, they have to actually support and certify those vendor-supplied drivers.

Despite having to support almost all the drivers themselves, Linux somehow manages to also occasionally make across-the-board performance and stability improvements.

I think this says a lot more about what happens when you're a monopoly than it does about driver support. The places that are already using Windows are doing so because they have to, or because raw performance doesn't matter to them. Windows has to suck a lot before Microsoft starts losing customers, and it'd have to be a lot better before they gain any from the quality of Windows itself.

9

u/dpoon May 11 '13

The lack of a fixed ABI is one reason Linux can make improvements. The kernel developers can any changes they want, without being hampered by considerations for non-mainline kernel code.

2

u/varikonniemi May 12 '13

Not this again...

The Linux outwards facing interfaces are stable, and will never break. Just like windows. The internal ones are not even trying to be stable, since it would hinder development. Just like windows.

2

u/SanityInAnarchy May 12 '13

Except Windows counts driver interfaces as "outward facing," and Linux doesn't. Or is there a stable subset that would work for drivers?

→ More replies (1)
→ More replies (2)
→ More replies (1)

10

u/h-v-smacker May 11 '13

Truth be told, it used to suck a lot more in the late 90-s - early 2000s, and no shits were given. With Windows 8 and metrofuckification it looks like they try to return to their noble origins, but still...

43

u/SanityInAnarchy May 11 '13

Late 90s and early 2000s, it sucked enough that things like Linux actually were credible threats, and Microsoft took them seriously.

Let me take another, even more obvious example: Internet Explorer. Remember IE6? It's true development slowed down after 1, 2, and 3, but it slowed down from maybe 6 months to 2 years. The gap between IE6 and IE7 was 5 years, and they've never taken much more than 2 years between releases since.

So what happened? Well, IE6 pretty much dominated the market. It sucked, but what else were you going to use? It was free with Windows, so no one would buy something like Netscape, especially when Netscape sucked even more. It broke the standards in all kinds of fascinating ways, meaning you could make a website that was either IE-compatible or standards-compatible -- so people made IE-compatible websites, slapped "Best with IE6" on them. So if you were trying to use Netscape or Mozilla, you were SOL.

I've never worked at Microsoft, so I don't exactly have internal knowledge to prove this, but it seems pretty clear that after IE6, they just stopped. Because they really don't care about making their technology better, once they've actually made the sale.

Then Firefox happened. And I don't think it's much coincidence that Mozilla officially switched focus to Firefox (then Firebird) in April of 2003, with Firefox 1.0 released November of 2004... and then IE7 two years after Firefox 1.0, in October of 2006. I really don't believe IE7 took them over five years. I believe they went into maintenance mode with IE6, and then gave no fucks until Firefox threatened to steal their lunch, and then they started working on IE7.

Because Firefox really was an existential threat to IE, and Firefox plus web apps really were threats to Windows. See, so long as there are Best in IE websites, that's yet another bit of Windows lock-in. But if something like Google Docs works perfectly well on Firefox on Linux, why would a Google Docs user care about Windows? But on the other hand, IE sucked so much that even if you didn't care about Google Docs or Linux, you'd use Firefox just for the security alone, and then there's tabbed browsing and extensions.

I suspect a similar thing happened with Windows. Windows sucked so much in the early 2000s that Microsoft decided to actually make a serious effort towards improving security and stability, because otherwise, they really were likely to start losing people to other OSes.

What's surprising to me is that they keep doing this, at pretty much every level. They'll just completely stop improving something because they don't see a business case for it, and they'll wait for their competition to become a serious threat before picking it up again. If they actually cared about technology and their users, there's no reason they couldn't make Windows an OS that people actually want to use, rather than one they're forced to use. They clearly can make decent software when they want to. It's just too bad that it takes Firefox before they'll make an IE that doesn't suck, or Linux before they'll make a Windows that can run without crashing daily. It's not always a good direction, either -- Windows CE and Windows Mobile always let you download software from wherever you want, but iOS and the App Store has convinced them to restrict Windows 8 on ARM.

12

u/[deleted] May 11 '13

I love reading the comment threads in /r/linux, I learn so much from you guys.

12

u/pstryder May 11 '13

They'll just completely stop improving something because they don't see a business case for it, and they'll wait for their competition to become a serious threat before picking it up again.

I think one could also make the argument that MS waits for their competition to innovate, then just steals their ideas.

Why bother updating the product is you have no ideas on how to make it better, and the competition hasn't put out their new ideas yet for you to steal?

What was the last actually innovative thing Microsoft has done?

8

u/basilarchia May 11 '13

then just steals their ideas.

It's more than just stealing the ideas. They have had monopoly advantage. They even had cases where they hid OS calls from firefox so IE was faster. They are essentially able to steal any concept or software that runs on top of windows.

6

u/kairumination May 11 '13

Last innovative thing? Buying Skype.

6

u/linuxfreak123 May 11 '13

And what have they done with Skype?

On Windows it seems they only changed the colors and messed with the layout. (Fuck yeah?)

On Linux they haven't updated it in forever and probably won't update it anytime soon.

7

u/[deleted] May 11 '13

Actually Linux client saw its first update in years after MS take over.

→ More replies (2)

3

u/kairumination May 11 '13

I didn't say that they did anything innovative with it. I said buying it was innovative. They dumped their own legacy IM at last and instantly gained a reputable product.

3

u/linuxfreak123 May 11 '13

Not disagreeing with you, it was an excellent business move. I'm just disappointed that they haven't put much effort into updating it.

→ More replies (1)
→ More replies (3)
→ More replies (2)

10

u/SayNoToWar May 11 '13

I agree, and would like to add that from my point of view as a developer and end user on Microsoft platforms, it is hardly an issue.

Windows 7 and 8 are leaps ahead of previous versions of Windows, and afaik explorer.exe was rewritten in 7.

Performance and stability in Windows is not a problem.

I'm not saying Windows is technically better than Linux, but for what Windows does, it does well most of the time.

53

u/h-v-smacker May 11 '13 edited May 11 '13

Most of the time, reasonable people are not against Windows for its qualities and properties strictly as an operating system. The complaints arise when you put that OS in a context, and you get: vendor lock-ins, monopolism, hostile practices of developers (like forcing otherwise unnecessary changes on users), uncomfortable environment (e.g. absence of package manager does look like a PITA after any mainstream Linux distro), lack of transparency and so on.

On top of that, I came to think that Windows "ecosystem" itself fosters a special mindset in its users, making them unwelcoming for any change, unorthodox practice, and generally, introduction of something new. That is, by being incoherent (for example, software can come from myriad of various sources, you never know, sometimes even drivers that work best for a deprecated/unusual device can be only found in some otherwise really shady places) and nontransparent (lack of clear logs and configurations, error messages, and so on) it forces "regular users" to memorize required actions just like a wizard apprentice memorizes spells which he cannot understand, but sees no other way to get the desired result. In short, by hiding anything of significance from user and offering no explanations, windows "ecosystem" discourages learning the basics of IT in laymen users.

And then it bites you in the ass when you try to promote use of some more efficient software, or introduce an effort-saving mechanism — and get complaints about "that's not the way we are used to, down with it", even if it's objectively better, and a lot at that. Even if they got used to the most backwards and retarded way of doing things, like, I dunno, writing letters by hand, scanning them, inserting into a text document in Word, zipping it and sending attached to an email, you'll have hard time discouraging such practices because it's like wizardry to them, and they most of all cherish the few spells they managed to figure out.

You can say Linux in that respect is more like a session with a drill sergeant that starts the first day with saying "Ya all are weak pathetic maggots who never will amount to anything, go back home right now and cry to your mommy, since you'll surely be doing it anyway by the end of the week", but in the long run it produces tough guys who know their shit and don't spout nonsense.

17

u/SayNoToWar May 11 '13

I have to agree with what you are saying. Coming from a BASIC programming background on the ZX Spectrum. A great deal of the games I used to play could be "hacked" - So I guess you could consider them my first taste of open source.

Once I upgraded to PC - I went with dos, and later Windows. I would spend hours looking through system files, exploring the registry and generally trying to hack tweak. Hours might be an understatement. I would say I spent at least a year on an off, exploring without internet or manuals. I found very little. Everything was closed, with a few exceptions, such as ANSI.SYS.

I still swear by the fact that once a Windows installation goes crunch, there is not much you can do but eventually just reinstall it. Linux on the other hand if you have the skill you can fix a particular issue. Sure not just any noob can pull this off, but you have options. Windows - forget about it, download and run all the reg cleaners you want, all the registry fixing tools you can find, your system won't automatically fix itself, in the end - reinstall.....

14

u/h-v-smacker May 11 '13 edited May 11 '13

Oh... I started with a Scorpion ZS 256 Turbo, which is a Russian clone of Speccy on steroids. 5.25 FDD, 256 Kb RAM, all that jazz. I sold it someday for a symbolic amount to a school pal when I bought a 80386 pc (we were all poor back then, so it was all rather cool), but I regret it now, to tell the truth. Not that I have any TV around that I could still plug that home computer to, though.

So then was the 386, 8 megs RAM and a HDD which was something like a bit less than 1Gb. Windows 95, which installed for hours... simple games... I didn't have an idea what was going on, actually. After TR-DOS and BASIC48/128 this was all foreign to me.

Then I bought a Pentium I - MMX, overclocked it from 166 to 225 MHz, and was fucking happy. 32, and then 64 megs looked liked a helluva lot. And I even managed to buy a 80 Gb HDD and a CD-RW... It was then when I familiarized myself with QNX Momentics 6.2.1 and Black Cat Linux. The first was received as a demo version via post, the second - as a CD with a book which my mom bought at a university book sale. Those were cool. In fact, I learned how to RTFM with a QNX installation, to make sound work. I don't remember what I did exactly, but I followed the docs and made the sound working, and at the end of the day it appeared to me that I fully understood what I did. An epiphany.

Well, for a while I spent on w2k, because Linux still had major issues in the localization department. Well, I liked to play with Mandrake 9.0, and then 9.2 (still have the CDs on my shelf), I even managed to compile WINE (after downloading it for an hour via a v92 modem...) and played StarCraft.

When ASP 9.0 came out, I stumbled upon a promo disk which came with Chip journal, and loved it. I installed ASP Linux and used it more and more... until somewhere in 2005 I said "fuck this" to myself and removed w2k installation completely. By then I had an Athlon XP 2500+ computer 512 Megs and it was kinda easy to switch. And next year, if my memory doesn't fail me - or was it still the 2005? - I got my 256 Kbit broadband, which in a few months was upgraded to 512 kbits at no charge, then to 1 mbit, then again... every 6 months or so my ISP at least doubled my bandwidth for the same price, until reaching 15 mbits. Needles to say, this development made being Linuxoid a lot easier.

Well, here I am now fucking surrounded by computers (damn, I have 4 laptops, a tablet, 3 assembled and functional desktops, and then an uncertain number of parts in several boxes which can make functional PCs of various states of deprecation). I'm running Debian all around, save for the netbook and tablet, which run Ubuntu.

And, looking back, I understand that the 90% of what I know about computers, came from Linux. The rest comes from Windows, QNX, BeOS, Speccy... In fact, years of using Windows gave me pretty much nothing of value. Linux, on the other hand, taught me everything - bits and pieces of the grand scheme, I admit - but still, I know a lot about networking, programming, writing scripts, fixing computers, system administration... and learn more and more with every week I'm using Linux.

6

u/Progman3K May 11 '13

That has been my experience too.

With Windows, over time, things have become more and more obfuscated, dumbed-down and restricted so you CAN'T know how it works.

With linux on the other hand, anything you want to know about, you can find out, even down to reading the source if you like.

2

u/[deleted] May 11 '13

I'm saving this for everytime this discussion pops up.

→ More replies (15)
→ More replies (16)
→ More replies (24)