Linked by Thom Holwerda on Sat 11th May 2013 21:41 UTC
Windows "Windows is indeed slower than other operating systems in many scenarios, and the gap is worsening." That's one way to start an insider explanation of why Windows' performance isn't up to snuff. Written by someone who actually contributes code to the Windows NT kernel, the comment on Hacker News, later deleted but reposted with permission on Marc Bevand's blog, paints a very dreary picture of the state of Windows development. The root issue? Think of how Linux is developed, and you'll know the answer.
Thread beginning with comment 561212
To read all comments associated with this story, please click here.
makes sense
by TechGeek on Sat 11th May 2013 22:01 UTC
TechGeek
Member since:
2006-01-14

This makes a lot of sense. Its difficult to pay for the manpower to match a group who do something out of love of the art. Microsoft, at least the top levels, have known this for a long time. Its the reason for there unending war on Linux, even when they may publicly applaud open source. Its hard to compete with free.

Reply Score: 11

RE: makes sense
by cdude on Sun 12th May 2013 06:23 in reply to "makes sense"
cdude Member since:
2008-09-21

Its difficult to pay for the manpower to match a group who do something out of love of the art

The fat majority of devs working on the Linux Kernel are payed and yet still do there work out of love of the art. The one doesn't exclude the other. At least not on Linux.

http://www.computerweekly.com/blogs/open-source-insider/2012/04/lin...

Edited 2013-05-12 06:26 UTC

Reply Parent Score: 12

RE[2]: makes sense
by Lennie on Sun 12th May 2013 13:11 in reply to "RE: makes sense"
Lennie Member since:
2007-09-22

If you regularly do good work on the Linux kernel, you can pretty much be guaranteed to get job offers from companies.

You also see the share of "companies" working on the code is still ricing:

http://lwn.net/Articles/547073/

I mentioned them as "companies", because they pretty much have no say in what the kernel developers they hide do. They mostly just keep working on what they've always worked on.

Companies hire the developers that work on things they care about. Not so much to influence it, but because they want an in-house expert.

Reply Parent Score: 7

RE: makes sense
by bassbeast on Sun 12th May 2013 07:35 in reply to "makes sense"
bassbeast Member since:
2007-11-11

No it doesn't, not really, for several reasons. One nobody is gonna care about "faster" when the average $300 PC is several TIMES more powerful than its owner will need.

Two nobody is gonna care about speed and innovation if you just broke $30k worth of office software and left an entire company's products broken so the risk isn't worth it in many cases.

Third Linux pays for this "speed and innovation" with one of the worst driver models in the history of computing, a driver model so messed up that to this very day a company can't just put a penguin on the box and a driver on the disc because thanks to Torvalds laughingly bad driver model there is a good chance the driver WILL be broken before the device even reaches the shelves.

Let me end with an illustration of why this entire argument is pointless and moot when it comes to OSes from my own life...Next week after nine years of faithful service I'll be putting my old Sempron office box in the cheap hardware pile. Now that is NINE years, TWO service packs, and probably 3000 plus patches...and not a single broken driver, NOT ONE.

For the vast majority of people on this planet Linux isn't free as in beer nor freedom, its free as in worthless.I'm sorry if that makes some people upset but its true, you can give me your OS for free but if my wireless is toast on first update and my sound goes soon after? Well into the trash it goes.

Faster kernels mean jack and squat if it doesn't lead to a better product and when Googling for fixes, forum hunts, and drivers that work in Foo broken in Foo+1 are the order of the day it doesn't. I mean MSFT has put out a product more hated than Vista, ME, and Bob put together and Linux is STILL flatline...doesn't that tell you something?

Reply Parent Score: 6

RE[2]: makes sense
by RshPL on Sun 12th May 2013 09:52 in reply to "RE: makes sense"
RshPL Member since:
2009-03-13

On the other hand once a driver lands into the kernel, it becomes the same moving target as the whole thing. Most of the webcams released for Windows XP no longer work on Windows Vista/7/8 while in Linux you can use many of those webcams on all kinds of hardware, from laughingly old x86 to boards such as Rasberry PI. Plug it in and it just works! Thank you Linus, this is the reason why I love Linux. It might be beneficial in few cases to have a stable ABI but see the bigger picture and imagine today's stuff that just works in 20 years time - unlike Windows. I think having stable ABI would prevent it.

Reply Parent Score: 12

RE[2]: makes sense
by bert64 on Sun 12th May 2013 12:47 in reply to "RE: makes sense"
bert64 Member since:
2007-04-23

People do care about faster, perhaps not those who run a single system on a modern desktop but think of other areas, where linux happens to be strong.

Embedded devices - much slower hardware, better performance counts (and can also improve battery life).
Supercomputers - slight performance improvement, multiplied by thousands of nodes.
Virtualization - slight performance improvement, multiplied by large numbers of virtual machines.

As for drivers, i have never had a driver that was in the kernel break, and that is where drivers should be so that they can be improved and debugged alongside the rest of the kernel. The idea of third parties creating binary drivers is extremely damaging, and is one of the reasons why windows has never been successful on non x86 systems. I very much like the fact that virtually all the USB peripherals i use on my x86 linux boxes will also work on my arm based linux systems. Closed source binary drivers will never have this level of flexibility.
Also, even MS were forced to break the driver interface with vista because the old driver interface was holding them back. Linus doesn't want to get stuck in a situation like that, where progress is impeded unnecessarily. Linux typically undergoes regular, small changes instead of sudden large ones, and when the interface is changed the in-kernel drivers are typically changed at the same time so nothing will ever be in a state of not working unless your running bleeding edge development kernels (an option that closed source systems typically dont even provide at all).

Linux is not flatline, its huge in pretty much every market except desktops, and its lack of success in desktops is more down to marketing and lock-in than any lack of technical merit.

Reply Parent Score: 9

RE[2]: makes sense
by Lennie on Sun 12th May 2013 13:26 in reply to "RE: makes sense"
Lennie Member since:
2007-09-22

Now that Linux is mainstream that driver model is doing fine.

These days lots of drivers are developed in the Linux kernel before the product ships. It takes a lot of time to get a product to ship. There are kernel drivers that were already done and releases before the product came to market. Yes, it also takes some time to get into distributions. This is true, but a lot of popular distributions now are on a 6 month release cycle. This helps a lot.

I don't know if this is still true, but you could even get someone to develop a driver for your device for free: http://www.kroah.com/log/linux/linux_driver_project_kickoff.html even if you require a NDA.

So lots of things have changed.

Obviously some companies are still not participating all that well. And I don't even mean Nvidia. They can't develop a driver for their desktop GPU in the open because they don't own the license on their own drivers. They hired an other company to develop it.

The mobile GPU-drivers from Nvidia are actually in the kernel and submitted by Nvidia.

Reply Parent Score: 4

RE[2]: makes sense
by Valhalla on Sun 12th May 2013 14:55 in reply to "RE: makes sense"
Valhalla Member since:
2006-01-24


Two nobody is gonna care about speed and innovation if you just broke $30k worth of office software and left an entire company's products broken so the risk isn't worth it in many cases.

How would Linux the kernel suddenly break office software? The userland API/ABI is extremely stable, add to that the fact that no company would be running their business on bleeding edge kernels to begin with, they will most likely use a tried and tested LTS kernel version.


Third Linux pays for this "speed and innovation" with one of the worst driver models in the history of computing, a driver model so messed up that to this very day a company can't just put a penguin on the box and a driver on the disc because thanks to Torvalds laughingly bad driver model there is a good chance the driver WILL be broken before the device even reaches the shelves.

Your old tired bullshit again, first off Linux (while just being a kernel) supports more hardware devices than any other operating system out there, and it does it straight out of the box.

A company wanting to 'put a Linux sticker' on the box doesn't need to put a driver on a disc, they can have the driver be part of the actual kernel tree and be shipped with all Linux distros and maintained against ABI changes by the kernel devs.

ABI changes doesn't break these drivers inside the kernel (if the kernel devs change the source interface they update the drivers), it only breaks those very few external proprietary drivers that exist for Linux, and no it's not as if those drivers have to be rewritten, typically they have to be slightly modified and re-built against the new ABI.

And those few proprietary driver vendors do continously update their drivers against the new ABI versions, so it's not even a practical problem even when it comes to proprietary drivers, you just get the new driver from your package manager.

By comparison when Microsoft update their driver ABI like with Windows Vista, tons of perfectly functional hardware is made obsolete because the hardware companies won't release new drivers for older hardware (they want you to buy new hardware).

And it's not as if a Windows ABI version is in reality stable during it's own lifetime, as shown by the Vista SP1 service pack driver malfunction debacle.


you can give me your OS for free but if my wireless is toast on first update and my sound goes soon after? Well into the trash it goes.

Again unless (and even if you do) run a bleeding edge distro any problem such as this is extremely unlikely to be caused buy the Linux kernel, ABI change or not.

and Linux is STILL flatline...doesn't that tell you something?

The only area in which Linux 'flatlines' is on the end user desktop, an area where no one has been able to challenge Microsoft, not even OSX riding the 'trendy/hipster' wave with massive marketing, in every other area in computing Linux either dominates or is doing extremely well. And guess what, those areas ALSO USE DRIVERS, how can this be? According to you they just keep crashing due to your imagined ABI problem.

A non-stable ABI means no cruft, no need to support crappy deprecated interfaces and functionality because some driver out there may still use it (hello Windows), instead you modify and re-compile the drivers to work against the new improved ABI, and this is something the kernel devs do for you if you keep your driver in the kernel.

Again for those few instances of proprietary driver holdouts, yes they need to do this themselves, and they do. The result is that all Linux drivers improve as they make use of new/enhanced functionality provided by the kernel.

Reply Parent Score: 15

RE[2]: makes sense
by tidux on Sun 12th May 2013 18:47 in reply to "RE: makes sense"
tidux Member since:
2011-08-13

> Third Linux pays for this "speed and innovation" with one of the worst driver models in the history of computing, a driver model so messed up that to this very day a company can't just put a penguin on the box and a driver on the disc because thanks to Torvalds laughingly bad driver model there is a good chance the driver WILL be broken before the device even reaches the shelves.

WAAAAAAAAAAH my proprietary code designed to link against a GPLv2 kernel that explicitly doesn't have a static driver ABI doesn't work with a different kernel version! If your driver means that much to you, submit a patch.

Edited 2013-05-12 18:47 UTC

Reply Parent Score: 3

RE[2]: makes sense
by djohnston on Sun 12th May 2013 19:02 in reply to "RE: makes sense"
djohnston Member since:
2006-04-11

Let me end with an illustration of why this entire argument is pointless and moot when it comes to OSes from my own life...Next week after nine years of faithful service I'll be putting my old Sempron office box in the cheap hardware pile. Now that is NINE years, TWO service packs, and probably 3000 plus patches...and not a single broken driver, NOT ONE.

For the vast majority of people on this planet Linux isn't free as in beer nor freedom, its free as in worthless.I'm sorry if that makes some people upset but its true, you can give me your OS for free but if my wireless is toast on first update and my sound goes soon after? Well into the trash it goes.


Hmmm. Bad hair day? Here's a real-world user case. I still own and use a 1999 Dell Dimension 4100. It's used mostly for testing purposes. When I boot it from the hard drive, it runs Debian7 (wheezy). It's been running it for about a year now, from beta status to (just recently) stable release. Many updates in between. The kernel is a third-party 3.8-10.dmz.1-liquorix-686, the latest liquorix version. It has gone through many updates, as well.

The machine uses an 800mHz PentiumIII CPU and 512MB of RAM. I'd add to the RAM count, but it's all the motherboard will register, even with more installed. The motherboard came with no ethernet port. It still doesn't have one. I use a Linksys WUSB54G card, connected to a USB port. The Linksys is quite a few years old, but not as old as the Dell.

The wireless driver for the chipset is in the kernel. It is registered with the OS, "out of the box". Through all of the "bleeding edge" liquorix updates, as well as the Debian testing updates, the setup never failed to acquire a wireless signal or connection ability.

Regressions? You clearly do not know what the hell you are talking about.

Reply Parent Score: 5

RE[2]: makes sense
by l3v1 on Mon 13th May 2013 11:30 in reply to "RE: makes sense"
l3v1 Member since:
2005-07-06

No it doesn't, not really, for several reasons. One nobody is gonna care about "faster" when the average $300 PC is several TIMES more powerful than its owner will need.


Unless you're developing resource hungry algorithms and applications that those not-caring people are actually using. You can't base your development on thinking only about the consumers. True, they are the larger crowd, but without the developed apps and content, they won't have anything to consume. You might say you don't care about the developers and only concentrate on serving the consumers, but then at least state that plainly and don't behave like you care, frustrating devs from time to time with seemingly ignorant decisions.

Reply Parent Score: 4

RE: makes sense
by Deviate_X on Sun 12th May 2013 10:38 in reply to "makes sense"
Deviate_X Member since:
2005-07-11

For most of the last 30 years windows have emphasized backward compatibility, so the code written X years ago will still run today. The consequences of this will lead to more bloat and less optimal code supporting mysterious-forgotten corner cases.

Linux being purely engineer lead will more proactively-aggressively route out unneeded code, optimize at the expense of compatibility.

In my personal experience, Linux is faster at many things as a _user_! ls !! But surprisingly isn't that great! And as a developer, there really isn't any worthwhile difference at all.

Reply Parent Score: 3

RE[2]: makes sense
by bert64 on Sun 12th May 2013 12:49 in reply to "RE: makes sense"
bert64 Member since:
2007-04-23

Linux has extremely good source level backwards compatibility, lots of software written for very old unixes will still compile and run just fine on modern day linux systems.

That's the difference between writing a simple, sensible and extensible system vs writing something unnecessarily complex.

Reply Parent Score: 1

RE[2]: makes sense
by Lennie on Sun 12th May 2013 13:28 in reply to "RE: makes sense"
Lennie Member since:
2007-09-22

[replied to the wrong comment]

Edited 2013-05-12 13:31 UTC

Reply Parent Score: 2

RE: makes sense
by toast88 on Sun 12th May 2013 19:37 in reply to "makes sense"
toast88 Member since:
2009-09-23

This makes a lot of sense. Its difficult to pay for the manpower to match a group who do something out of love of the art.


Most Linux kernel developers are actually paid for what they are doing. That, I agree, however not contradict with the fact that they probably love what they're doing.

Adrian

Reply Parent Score: 3

RE: makes sense
by zima on Sat 18th May 2013 22:57 in reply to "makes sense"
zima Member since:
2005-07-06

I think you missed the point - it's not about "free" (many linux devs are employed anyway), it's about "in the open".

Reply Parent Score: 2