Microsoft's New Core OS Team Learning from Linux
sokk writes "Seems like Microsoft is paying attention to the Linux way of doing things. According to itworld.com, a new central engineering division will work on the core of Windows: "The Windows Core Operating System Division (COSD), within the company's Platforms Group, will be responsible for the core OS platform, including development, program management and testing, Microsoft said in a statement sent via e-mail.". A little further down the page analyst Rob Enderle: "They have been studying Linux extensively. Part of their study has been on how Linux has been able to maintain a high level of consistency in the kernel while groups around it maintain maximum flexibility,".
"
It's not like Linux developers haven't learned (or blatently copied) anything from Windows.
Username taken, please choose another one.
Microsoft isn't stupid, Linux is a great study in OS Development, and they are using it to their advantage.
Denigrate it loudly while duplicating it quietly.
Is there any evidence that this is anything other then an organizational change? I mean apart from the thoughts of an analyst who doesn't really know? Analysts get compensated for getting their company's name in the press.
Read Epic the first RPG novel.
Maybe because it is open source ? The consistency surely comes from having the entire codebase to refer to, and the flexibility from people being free to suggest any patches they like to the kernel.
Microsoft might say that they admire the way that linux contributors interract, but I think it will be a cold day in hell before the admit that they're implementing technical features of linux.
Later windows versions always had a handicap of having all this legacy to support, and many design decisions were influenced by this. It's definately a step in the needed direction for them, to find out how to make the system flexible enough for new stuff while keeping the core relatively consistent.
I'm going to go against the grain and NOT make this an "I told ya so" MS-bash. From a business perspective, it makes sense for them to learn from Linux, just as it would make sense for Linux to learn things from MS. Each do things differently that work. It's generally regarded that Linux has a better core, better security, and fewer bloat-features that introduce vulnerabilities. It's also generally regarded that Microsoft has superior usability/UI. In the end, for my mom, Microsoft wins. If this new MS team can improve the core to the point where it's as good or better than Linux, then the only reason anyone would use Linux would be cost.
At the same time, Linux's usability has been improving, it'll be interesting to see what happens when MS and Linux converge to the point where they're both as usable AND both as secure/stable/etc.
Wer mit Ungeheuern kämpft, mag zusehn, dass er nicht dabei zum Ungeheuer wird. --Nietzsche
.. they can't learn to have a love of what they do. That's a huge difference between Open Source and proprietary.
Trolling is a art,
So does that mean SCO is going to sue Microsoft, too?
"I like you, but I wouldn't want to see you working with subatomic particles."
If M$ won't adopt Linux, at least it will use ideas developed in the open source community to help Windows become a better operating system. Isn't that what we all want? Better operating systems?
Emulate, or Squash.
Squashing hasn't been working too well.
It's only funny until someone gets hurt. Then, it's hilarious.
Red Hat, Inc. is now Microsoft's #1 competitor in the marketplace. Has Red Hat been studying Microsoft for years? One need only look at kernel support for NTFS or the Samba project to answer that. Now in order to keep up with this arms race, Microsoft must in turn study Linux in order to keep up.
Capitalism demands this fierce escalation: it's called competition.
If guns kill people, then CmdrTaco's keyboard misspells words.
Comment removed based on user account deletion
I mean, I'm sure openness is a factor.. but from the beginning, things were this way.
I think it's more about focus.... or maybe lack of focus...
See, the kernel teams worries about the kernel, and exporting usable interfaces to that kernel. Not that interesting to Mom & Pop jones, but of great interest to other developers... like those who, say, build distributions.
MS takes a whole systems approach... the libraries and kernel and everything altogether.. they don't have a group just concened with releasing the best kernel... they have to meet whatever requirements happen internally.
It's flexible because in the open source world, the kernel team doesn't have to compromise for lazy app developers, or vice versa.
"They have been studying Linux extensively. Part of their study has been on how Linux has been able to maintain a high level of consistency in the kernel while groups around it maintain maximum flexibility,"
I know why and they will never be able to achieve it.
Linux does not suffer from one crippling problem that EVERY big software company has.
Management and Marketing.
If you eliminate the managers, the PHB's and the marketing team from ever communicating to the programmers, then you can do this.
I have seen management utterly destroy some of the most amazing and elegant software ever made.
Do not look at laser with remaining good eye.
why up-modding should have no limit. One of the funniest EVER!
"I'm just here to regulate funkiness."
yeah and what's great for them is that no one could prove they were either. yay for closed source development
As anyone who has ever worked in a commerical software house can tell you, for every one super-skilled developer writing code, there are dozens (hundreds?) of others who are not.
The reason that Linux's codebase has remained so cohesive, focused, and flexible is that Linux has so many really skilled developers -- the kind that most companies are fortunate to have just a handful of.
Software development is one thing where the difference in output between the most skilled person and the average person can be orders of magnitude.
There really aren't many other fields or occupations where you could argue that the top people/employees are orders of magnitude better than the median person/employee.
Embrace and extend.
It has come to mean good things (not trying to reinvent the wheel, but building a car around it), and bad things (trying to force down the use of the de facto microsoft-owned standards incompatible with de jure ones), but it's the key idea in Microsoft's business decisions. And it's what's behind trying to separate more clearly the Windows kernel from it's GUI and it's shell. Perhaps we'll be seeing plenty of third-party GUIs or shells (I know there's litestep) to Windows.
It was at one point clear (DOS/Win3.1), but then the GUI started to "own" many features (net support, and even CD-ROM access!) from 95 on - and they finally did away with the separated "core system" from ME on.
Perhaps they're starting to see it's a bad idea, or that it's losing them customers. The first thing that attracted me to Linux is how I could have internet access without ever booting the GUI. And while XP is not the nightmare ME was, it's pretty hard to fix when broken in a deeper level.
On an off note, Billy Gates' "Road to the future" is actually an insightful book, you know. You just need to remember he's a businessman, not an actual geek. To him, it's better to admit to having been wrong than losing money or market share. Welcome to the world!
"Better operating systems" is just part of it. Freedom is the other bit. I don't see M$ adopting that any time soon...
At least, that is what America always seems to preach: "Democracy and Free market spur technological advancement which increases the quality of life."
If you are a company, what else do you have to control other than the "social" aspect.
I think MS implying "social superiority" to the Open Source model is far more damning than admitting technical superiority, because the latter implies a "point of advancement" while the former implies a "rate of advancement." Plus, very few companies have been able to reap the benefits of both the Open Source and Corporate worlds at the same time (though, Mandrake is getting pretty close).
How do you recreate the structure that naturally appears when you open the source and all future benefits derived from that source to all of humanity? Isn't that kind of like trying to recreate the functions of a living organism without DNA?
If you ask me, the best "social" aspect to open source is the amount of heart people pour into it.
Sdelat' Ameriku velikoy Snova!
Go ahead, name a program that uses undocumented hooks into their Apps?
MS SQL Server - uses the same API everyone else uses.
Office2k3 - same deal
IE - just a bunch of COM objects.
Where are they using these so called undocumented hooks?
<troll>
That Microsoft will someday be able to release a stable operating system?
Sorry, I just couldn't resist...
</troll>
But seriously, it looks as if the mere presence of Linux is having an effect on Redmond. Perhaps Microsoft will produce better systems than they have in the past if they consider Linux a threat to their business model. Nothing inspires excellence like a little competition...
The society for a thought-free internet welcomes you.
If that is not a strong motivation for churning out quality code I don't know what is!
Too bad for a certain closed source vendor that this is hard (if not impossible) to replicate within their current business model.
But, who knows? Maybe they can learn something else from the OSS process. It's completely open and successfull, so it must be the ideal research subject!
"First lesson," Jon said. "Stick them with the pointy end."
Microsoft will not win over linux in the market place, because they believe their own propaganda - that copyrights are some type of free market property right and not an overbearing government regulation. The GPL accounts for that, the MS EULA doesn't.
Once they understand that restricting what people copy is not some kind of inherent right, but an inherent burdon that is no longer workable in the informaiton age - it will probably be too late for them.
It's not just code they are looking at. Windows and Linux use entirely different kernel architectures. They are looking at development methods.
Saying Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders.
What makes me "wonder" is why everyone is accepting speculation on the part of an outside analyst as definitive proof that Microsoft is doing anything other than a dilbertesque reorg.
If you need web hosting, you could do worse than here
"To a certain extent, Microsoft's decision to form a division focused on the OS core was driven by its main rival, Linux, said Rob Enderle, principal analyst at Enderle Group, a consulting firm specializing on emerging technologies, in San Jose, California.
Microsoft didn't say a damn thing about emulating linux, Rob Enderle did. The memo was distributed by MS, but appears to have no content regarding an emulation of Linux development methodologies.
Might want to reign in the horses a bit boys.
Psst. Here is the secret. It's called freedom. If they offered real software freedom, they too would be able to produce world class software.
Actually, there are 2 classes of Linux programmers: (1) those of us who grew up in a Unix environment before Windows came along (and are thus very experienced) and (2) those who started computing with Windows or DOS but were technically adventurous and confident enough to venture beyond that. Either way, it lifts the average competency of Linux developers.
Linux isn't there yet until Joe Shmoe can throw together a toy app quickly and easily that can keep track of his beer, cigarette, and pork rind expenditures.
Isn't that what Perl is for?
I think this statement is right on, but needs to be thought out some more. Hopefully, the "average" computer user will change. Right now, the Average Computer User (ACU) was probably born when personal computers didn't even exist. Look ahead 50 years, and that won't be the case. The ACU will be much more familiar with computers, and there will be no need to coddle them as much. Unless of course, they are coddled their entire lives. I think at some point the learning curve needs to be adjusted.
And my mom is a newbie to computers too, just using it for email and very minor web surfing. To her, the Windows UI is extremely confusing. Double-clicking was a new concept. Saving a file, locating where you saved it, opening it, all the wizard options, the odd error messages, etc. These were all brand-spanking-new things to her. Nothing was intuitive about Windows. Now I am not saying that Linux would have been, but if she were to start out using computers today, the Linux UI would be no more difficult than the Windows one, because her computing needs are simple. The more things you use a computer for, the more you delve into the particular OS's UI.
The real question is, is the ACU in 50 years going to be just as clueless as to how a computer operates as they are today? I certainly hope not, because that would mean that we are not progressing.
My beliefs do not require that you agree with them.
Comment removed based on user account deletion
Shouldn't they be studying the OpenBSD process? (security) Or the NetBSD process? (run everywhere)
[o]_O
Perl is ok but still daunting for someone with little programming background. There are too many symbols and the contexts where those symbols are used that make it look scary. At least, that's what some friends have told me.
VB, for instance, builds GUI apps... something that they can see and something they can see changes in very easily. Drag this button here, double click on this button write some code, done. Even designing the forms gives folks a sense of accomplishment sometimes, even with nothing behind it. In Perl, you do a bit of typing (using lots of strange symbols - for someone who at most just sees the characters that can be found in a newspaper column) which is just a bunch of text, then there's nothing to look at when you run it but maybe a prompt asking for you to type some more stuff. Not very exciting... powerful, yes... just not flashy or pretty.
Oh yes, I'm sure Microsoft is willing to risk their windows source code because a groklaw artical said it was ok.
Given that it is unlikely that MS will allow any outside auditors to check their code base for GPLd code, I'd say the risks were minimal. The only way a GPL copyright holder might have probable cause for asking for such an audit would be if a disgruntled MS developer blew the whistle. Another unlikelyhood given the NDAs MS reqiures of its employees.
You mean the same people who decided to put IE in the kernel?
How would you know?
Even with their "we'll show you the source" programs you can't compile and compare checksums to make sure you are shown the source to the code that actually generated the binaries you are running...
Can you?
--Phillip
Can you say BIRTH TAX
Linux and other OSS projects are open by their nature. If someone wants to come along and inspect it they can whether or they have alterior motives or not.
The "O" means "Open" for a good reason. The spirit of OSS is sharing and learning with everyone. This includes Microsoft. If they can learn how to stop making overly complex software that can never seem to quite work from inspecting BSD and Linux then so be it. Linux and BSD have nothing to hide. That sounds like a strength, not a weakness for MS to exploit.
For 1500 years alchemists worked tirelessly in their secret labs making potions and spells with the ultimate goal of turning whatever into gold. 1500 years wasted because everone kept everything secret. Chemistry came along when people published and studied work of others. After 300 years we know it takes a nuclear reaction to turn something else into gold. Linux is like chemistry. Microsoft isn't. Get the idea?
Comment removed based on user account deletion
You compared apples and oranges with that one.
Slashdot - the place where you can look like a genius by restating the obvious
You'll never see 1000 day uptime from Microsoft until they learn how to apply patches and updates that don't force the machine to reboot nearly every time. Maybe that's what the core developers are focusing their attention on. Forget the heavy usage, I'd enjoy seeing a picture of any Windows machine that has been patched on time and is still 'up', i.e. not rebooted.
I mean seriously, in this day and age of modular kernels and separate daemons for everything, can't you just kill a service/daemon and restart it without power cycling your machine?!
The problem is simple: Microsoft has a Marketing Department. Linux does not. I for one don't beleive Microsoft is willing to get rid of it's Marketing Department, or seriously reduce it's control over the development process, just to produce better code... but I could be wrong.
"Freedom means freedom for everybody" -- Dick Cheney
MS is about power-tripping. Linux development works because it is **not** about power tripping but about technical collaboration. Trying to take on the methods without the underlying ethos is as effective as praying without faith.
Engineering is the art of compromise.
Because Slashdot wanted to post an article entitled, "Microsoft's New Core OS Team Learning from Linux." Facts don't matter.
"Sufferin' succotash."
In my experience, anything a nurse (or General Practitioner) tells you can be ignored, you'll still get better. A nurse generally gives advice that makes you feel better more comfortable, and possible speeds the process along a bit, but inheirently does nothing to fundamentally change the outcome. Generally I stopped seeing a GP unless I need a bone set, or I have been sick for a week.
However, when you have a bleeding brain, nothing but a brain surgeon will do. When you have a pile of bad C code, a really good programmer, or an average programmer will both get the job done (in differing amounts of time). So there isn't as much selection pressue on the job of a programmer.
If I found a brain surgeon who was nice, I wouldn't let them operate on me. Clearly they aren't a real brain surgeon if they are a decent human being :-)
Finally, if you had quoted the following sentence, I pointed out that, comparing programmers to programmers is just as fair as a nurse to a surgeon. If you made a nurse do a surgeons job, there'd be an order of magnitude difference, if you made a surgen do a nurses job, there'd be an order of magnitude differece in quality. If you took a programmer whose really good a job X and make they do job Y, it's not terrible shocking there is fall of. A lot of programmers take work, and do work in areas they lack experience or knowledge, because it is a good job, and the people doing the hiring can't tell the difference.
Skill as a programmer, because programmers have a very, very broad range of skills and abilities that they need to do to accomplish their job, are inheriently incomparable in most ways. Finally, a lot of great programmers are great on the codebases they work on, but they'd be lousy on other codebases.
Kirby
"They have been studying Linux extensively. Part of their study has been on how Linux has been able to maintain a high level of consistency in the kernel while groups around it maintain maximum flexibility,".
It's because the Linux kernel is under the control of (no offense) a dictator, where as the MS kernel is under the control of a bureaucracy..
Sometimes dictators are a GOOD thing..
Ground control to Major Tom, your circuit's dead, there's something wrong...
Dude... I like Linux and hate Microsoft as much as the next guy, but uh...
- Dreamweaver
- Adobe Illustrator
- Adobe Photoshop
- Paint Shop Pro
- Microsoft Office (for losers with a lot of vba crap)
- In house VB-app that would need ported.
These are the programs on my system right now at work that would prevent me from moving the work box to Linux. Crossover Office will run all of them except, perhaps, the crappy VB thing, but that sort of nullifies the whole cost savings point of switching to Linux. The only one I'm willing to abandon is Dreamweaver which I'd replace with Bluefish.On the point of crummy software, I imagine the dead and poorly built, half-assed Linux projects on Sourceforge and Freshmeat easily match the number of crummy, half-assed, poorly built Windows apps out there.
Hate to tell you chief, but except for bigshots like PostgreSQL, KDE/Gnome, Apache, etc.... much of what litters the GPL/BSD landscape is garbage, just like the Windows world. Until big time, business-friendly developers like Adobe and Macromedia start building their tools for Linux... too bad. That's a pretty scary step for them though. Build for Linux and have Microsoft pull your "rights" to their proprietary interfaces and APIs? Scary thought. Microsoft, I'm sure, has them firmly by the balls.
When someone new comes on the scene and starts creating competitors to these big name business tools, THEN we'll see people considering a full on switch more seriously. See what OOo has accomplished as of late. We need an OOo of Adobe and Macromedia, etc. in order to wrap up the stragglers.
Alito: A vote for Alito is a punch in the eye to put that bitch back in her place!
...that the process isn't two ways. Linux developers should be taking a look at,and studying how windows does some things. Security might not be microsoft's strong point, but they did excel in the area of integration and user interfaces. Linux distrobutions could _really_ use help in both these areas.
BeauHD. Worst editor since kdawson.
If not, it was always my understanding (based entirely of heresay of course <grin>) that the Nt 4.0/Win2k/WinXP kernels were actually pretty good. Wasn't the original NT kernel jointly developed with IBM and OS/2? Again, my hearsay-based understanding has always been that all the "cruft" that is duct-taped to Windows accounts for the lockups and security issues.
I'm too lazy to dig out the links, but I'm sure many Slashdot readers are familiar with Microsoft's legal use of the term "core operating system" (or similar terms anyway). Remember all the stink about bundling Internet Explorer with Windows? Didn't Microsoft claim that IE is an intrinsic part of Windows, that it cannot be removed without breaking the OS? More recently, the Europeans want Microsoft to unbundle Windows Media Player from Windows XP. I'm sure Microsoft is claiming that WMP is part of their "core" operating system.
In short, Microsoft has been criticized so often for bundling applications with Windows. Their response is usually along the lines of "it cannot be unbundled". I call anything that cannot be unbundled part of the core system.
So it looks like this new division will work on the entire Windows product!
Unfortunately, too many people don't care or don't understand the subtleties of this discussion, and will never realize that---yet again---Microsoft says one thing but does another.
Amen. What many fanboys don't seem to realise is that writing a UNIX-like kernel isn't beyond the abilities of any top-quality programmer. The unique characteristic of the UNIX kernel is that it's tiny so it can be implemented by 1 or 2 skilled people in a very short period of time. Thompson and Ritchie did it. Tanenbaum did it. Linus did it. Plus the UNIX kernel has over 30 years of documentation; it's not a secret and there's no new ground to forge. So writing the Linux kernel wasn't all too incredible. However attracting 1000s of developers, smoothing their ruffled feathers when egos came into conflict, coordinating everybody in a single direction... now that's an achievement that demands respect.
Though writing the Linux kernel is also very impressive :-)
They are looking at development methods.
The problem is that development methods are not the problem. Microsoft simply cannot understand this. This is not a Microsoft-specific problem. It's just due to the way large companies work.
Basically, some Microsoft analyst team sat down and decided that Linux isn't wildly technically better than Windows. The only other difference must be the development methods -- every software manager knows that software engineering methods are crucial.
And that's where they'd be wrong. The development model is slightly different, but it's not magical. There are groups that feed software up and a few knowledgeable people that review code. It isn't that unique or unheard of.
The philosophy and the *social* structure is what matters. I don't mean from a Richard Stallmanesque "We have an ethical mandate to ensure that software is Free", but simply their goals. The people working on Linux make decisions based on one criteria -- technical merit. They are doing what they are doing because they want to make a name for themselves, because they love the technology itself, because they want to fix a problem that's bothering them, and sometimes even because they want to help others. They have a *reason* to put in the extra effort to make code be really clean. It isn't even just that their work can be viewed by millions (and sloppy Linux code frequently gets harshly panned), but that they want to do their best because they're making something to be proud of. You simply cannot replicate this in a traditional company. A programmer is tasked with implementing a feature. He didn't come up with that feature. The feature was decided upon by a committee that was reviewing input from marketing. The feature then hit a high-ranking person in the software development system, and flowed down to this programmer. He knows that much of the Windows codebase is a mess already. If he does a really exceptional job, he can't keep the code with him or show it off to others. He doesn't have the pride there, and the most enthusiastic project manager or juicy set of incentives can only keep the interest and excitement alive for so long. He's putting in his hours to implement something that's customer-driven, and may not be something that he wants to use. You *cannot* produce a large company that has programmers that produce works of love, because you'd get lots of difficult-to-sell output, and in any case the sheer bureaucracy would stamp the joy out of things.
If I wanted to make a system as close as possible to replicating the Linux system, here's options I'd consider:
* Open source the code. An ultimate reward is allowing programmers to allow others and employers to see their entire body of past work. If you want an incentive to do well, this is a big deal.
* Use only programmers that will use their own work. This is hard for some fields, and extremely difficult for vertical market software -- it's the rare programmer that directly uses banking transaction software. However, the rewards are enormous. The gaming industry has got a pretty good grasp of this. There are a lot of games that have lots of neat visual effects or features, things that were thrown in because the programmer *wanted software* that could do something. They have some incentive to go the extra mile. In the open source world, this is frequently called "scratching the itch". Programmers *want* to write software and will write *better* software, if the result is something that matters to them. "Eating your own dogfood" is a hazy corporate attempt to implement this, but I'm talking about going beyond this -- if you're making a raytracer and need another man on the project, try and find a programmer who ray traces in his free time, and give him free rights to use the product on his own as much as he wants.
* The implementor of a feature should have design influence over that feature. This is a tough one. Software design is harder to do well than software imp
May we never see th
Every Windows laptop has two buttons built in and the most popular models even have an equivalent of the scroll wheel. On ThinkPads, Dells, and others, I can scroll a window without moving my fingers off the center of the keyboard. It's so convenient that I never use an external mouse and almost never have any use for a scrollbar. I can scroll any window in two dimensions by simply pointing anywhere in the window and moving only my right index finger off the home keys.
None of this is possible on any Macintosh laptop. Apple's primitive mouse standard is a real problem.
"Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."