MS Source Code
"Hilf said "most of the knowledgeable people" are actually asking not to be given the source code for Windows"
Most smart people don't want to look at MS Source code because if they do they'll never work for anyone again...
Open sourcing Windows is more hassle than it's worth and Microsoft sees little gain in releasing code, according to the man leading Microsoft's server marketing and platform strategy. Microsoft general manager Bill Hilf has said the Windows source code is "irrelevant for what people want". Hilf said "most of the knowledgeable …
"Hilf said "most of the knowledgeable people" are actually asking not to be given the source code for Windows"
I can't envisage any circumstance where people would actually ask not to be given it, it almost sounds like Microsoft is suggesting they've offered it but people begged them not to give them it.
I can understand that there are reasons for not open sourcing Windows, and in a way I kind of agree that it should probably stay closed source to avoid the kind of branching problems you see with Linux where there are 10 versions of everything in some cases. However, I'd still like to see the Windows source code, ironically for the very reasons Hilf mentions - not because I want to modify it, but because there's no better documentation for seeing how parts of the OS work together and communicate than actually being able to see the source code first hand.
Adding the "knowledgeable people" comment is just insulting and is doing the company no favours, he's implying if you want to see the Windows source code that you're not knowledgeable.
Surely I can choose to approach an open-sauced OS in the same way as I do a closed one?
If I don't look at the source, I can pretend it was never opened.
If they'd carried on the uncharacteristic honesty of the last couple of weeks and said "It wont be open sourced because we make more money this way" that would have been entirely understandable...
That's the theory but it's been tried before. And MS being MS, don't follow their own standards, document poorly and can never resist holding something 'clever' back. Hence the fact the Samba guys would much rather have a look at the source than being told 'hot it works'.
Well they have a point... From some twisted microsoft sort of world view...
They should keep it and their security flaws hidden well in their security by obscurity setup...
That way nobody else could possibly look at their bitrotten code and figure out how to actually fix everything wrong...
But yeah "MOST" ppl want to know how to interoperate fully with the windows systems...
If they just open the source code, there's no need to GPL or BSD it. No need for ANY license.
It's just open code so that when copyright expires (hah!) you can use the copyrighted work as the copyright deal was supposed to allow you to.
If they DO GPL it, think about this: would you buy Microsoft Windows XP or Joe Bloggs Wondows XP?
So MS would lose nothing by open sourcing their code.
Nothing that copyright allows them to do anyway.
"They don't want source code, they want to write an application like we can write an application: they want to know how does Outlook talk to Exchange."
Absolutely, and he would also be right to suggest that no-one actually wants to *build* Windows from the source code.
However, he hasn't picked the best example to illustrate his point, since MS have made it clear over the years that they won't be documenting that. In the absence of such documentation, the next best thing is to publish the source code and let the community reverse engineer such documentation. But they won't be doing that either.
Why? Because they know full well that the application "they" want to build is an Exchange Server replacement.
We all know that closed software is so crappy that it would make my dear ol' mum cry in her sleep. Why do'ya think it took so long to salvage Netscape code and turn it into firefox, or the mess that was StarOffice before it became OpenOffice?
No for the love of bob don't release any of your thoughtless code, Microsoft. The world will be a better place when you bury it under 37 meters of rocks and boulders followed by a steel cap and some guard dogs.
The open source lot complaining about MS poor documentation
Pot meet Kettle
An awful lot of open source doesn't even have any, never mind well written documentation. If there is any, it's usually done as an afterthought written by somebody who really can't be bothered - and it shows
Interesting twist on things there. It's true that most knowledgable people currently don't want to see the source code, but they are careful not to mention that it's only because Microsoft ensure that viewing their code has legal ramifications if you ever want to work on something similar.
It also nicely avoids the real point, which is that if they open sourced it, with no hidden catches, all of those concerns would go away, and those same knowledgable people would jump at the chance to have a look.
Interesting how they can use their own actions to justify doing exactly what they want, and to put words in their opponents mouths.
Theres little point in releasing the source code unless you wanted to change certain functions of windows because it didn't do what you want. (or heaven forbid you wanted to fix the bugs yourself)
Figuring out how Windows, or any software works and interacts with other bits of software from the source code is a friggin' knightmare and a waste of time if somebody is providing the API documentation anyway.
It opens up a huge can of worms if you find something wrong with the API implementation compared to the documentation; imagine people willy nilly fixing all the bugs and problems in Windows, and then breaking all the years of work arounds everybody else had to write to get their own software working?
Maybe I'll be writing a simular statement when ie8 is offically released.
Yes there are a lot of open source projects that have poor documentation.
On the otherside , there are many projects with great documentation.
There is nothing stopping YOU! writing good documentation for the projects you like (if there are any).
Not everyone who contributes to open source is a programmers, many people help our in translation and documenting services.
Who can document windows except MS?
If we don't ever get to see the windows source code, no-one can then be accused of stealing bits of it (a la SCO) and incorporating it into GPL'd code. "Hey, you stole the line 'int i=0;' from our code! We're gonna sue ya!".
On the flip side of course, if we got to see the source any infringements would get picked up real quick.
""Well they have a point... From some twisted Microsoft sort of world view...
That way nobody else could possibly look at their bitrotten code and figure out how to actually fix everything wrong...""
That's the problem.
They know exactly how to fix everything wrong. That's why I never update their stuff.
It is true that many open source projects have poor documentation but to suggest that this is the case for all is not true. The documentation of Lilypond (http://lilypond.org/doc/v2.10/Documentation/) is amongst the best documentation I have seen anywhere. To be fair, though, this is one project run by musicians first and geeks second.
The other factor is, to release it they would have to clean it up first.
Removing the bad syntax, the swear words, the appalling grammar. the pages of stuff that no longer has a purpose.
Wasn't there an article on the reg from one developer that detailed what the MS 2000 source code contained.
I doubt they want the hassle of actually going through all that code to clean up for public scrutiny.
gotta love M$
Well here's just a few:
* Malware authors being able to find hooks and holes with much more ease.
* Malware authors being able to create 'pirate' versions of Windows with the malware built right into the OS. Far more undetectable than even rootkits. Idiot users would love to buy a copy of Windows for £5 at a car boot sale, without realising the full payload.
* Software developers being able to see how things work will start to use and rely on internal behaviours. API not doing quite what you need? Edit it and build another.. All comes tumbling down when MS release a new SP or version.
There are also issues about who owns the source. I'd imagine that Veritas would have a whole lot to say about the disk manager being open sourced, what with it being Veritas Foundation Suite, just chopped down a bit. Likewise NTbackup is based on backupexec (or was) and there has got to be a whole load of IBM OS/2 code still in there and we all know their position of open sourcing OS/2...
>>> Hence the fact the Samba guys would much rather have a look at the source than being told 'hot it works'.
I'm not sure that's true. One of the first things I believe they do with a protocol is to build a test suite around it - and then test the existing implementations to see what doesn't work. Now, under the terms of the EU settlement, if it turns out that the shipping MS products don't implement the protocol as documented, MS are REQUIRED to fix the documentation.
So, the Samba team really do not need to see the source code, and as other have already pointed out, it really is in their interests not to ever have access to it (so there is no opportunity for even unintentional plagiarism).
"would you buy Microsoft Windows XP or Joe Bloggs Wondows XP?" - I think the answer here is "no."
Disadvantages of opening the source:
* Malware authors being able to find hooks and holes with much more ease.
Yeah, because that's so difficult now. On the other hand, you'd also have potentially thousands of volunteers peer-reviewing the code and helping to get those holes closed.
* Malware authors being able to create 'pirate' versions of Windows with the malware built right into the OS. Far more undetectable than even rootkits. Idiot users would love to buy a copy of Windows for £5 at a car boot sale, without realising the full payload.
You don't need the source to do this. It's been done a great many times.
* Software developers being able to see how things work will start to use and rely on internal behaviours. API not doing quite what you need? Edit it and build another.. All comes tumbling down when MS release a new SP or version.
This happens even if you do use the 'official' APIs. Also, hiding internals from programmers isn't the right way to deal with this. If developers rely on internals, then let their software break, who cares? But that doesn't mean the rest of us, who would use APIs responsibly, shouldn't see the source.
It's really quite simple. I use open source software because I like to have the option of knowing what my computer is doing. Source code is just the human readable form of the most precise description of exactly what my computer is doing. What Microsoft do as a matter of course is control what your computer is doing and refuse to let you discover what that is. Granted, most of the time I don't check when I do have the option, but with Windows you don't have the option, and neither does anyone else without a vested interest in concealing defects and underhand behaviour.
How can you trust software like that?
As an software developer (ok, ex) I want to be able to interface to other modules that make my job easier ( code-reuse), I don't want to write a million functions, and I'm not interested in seeing the source code for those modules I link in, I really don't care. What I want is, modules that work, and documentation that accurately reflects what's going on with those modules.
When I undertook VB work with DAO some years back, I did plenty of head scratching thinking my code wasn't working, when all along it were the objects in DAO supplied by Microsoft...a) they didn't work properly, b) the bugs were not even documented! The documentation appeared to have been developed in parallel to the object development, but that there was no updating of the documenation post object development, to reflect the bugs that had been uncovered.
Microsoft appeared to forget, the purpose of documentation is not to describe theoretically how things are or how they should be, but to describe how they actually are, to make our jobs as software developers easier.
MS have made the code available to various governments and academic or MVP scrutiny for ages. It is naive to think that the major malware authors don't already have a full listing.
As for "pirate versions" with the malware built-in, how would this be worse than a version with a root-kit built-in? Given root-kit access to the hardware, why would anyone bother to infiltrate the copy of Windows that was used as the "public face" of the OS?
Lastly, the sort of software developer who reverse engineers Windows to discover the "actual behaviour" typically ends up depending on some aspect of their own personal configuration and the resulting products don't work on customer machines EVER. Such people probably wouldn't look at the source anyway, and if they did they might learn how to solve their problem correctly.
I trust closed software as much as I trust m$. Why do I need a firewall to block OUTGOING comms from a windoze box? Maybe I don't. Maybe I don't need to wear a seatbelt whilst driving either.
The only thing I trust that m$ will ever do is look after its own ass, an fsck everyone else's.
I trust open source because anything nefarious in an open source OS or app will be spotted pretty quickly.
I would also imagine that almost 20 years of hacking the same codebase has produced a Frankenstein they are most embarrassed about if not ashamed of.
I'll tell you why I'd like it to be opened: because I'm a fairly decent programmer with kernel-mode and device driver experience, and next time some awful bug is giving me trouble I could just *fix* it instead of having to struggle to find some workaround.
And Andy Taylor: your three arguments aren't very strong, because ...
"Malware authors being able to find hooks and holes with much more ease."
That's a fairly limited impact. Most malware these days spreads by idiots clicking on it anyway, it doesn't even need OS exploits or holes.
"Malware authors being able to create 'pirate' versions of Windows with the malware built right into the OS"
That one's a total strawman. They can do that right now and it doesn't need access to the source, and access to the source wouldn't make it any easier. If your supposed pirate released a hacked version of windows based on the original sources, it wouldn't have the MS digital signatures on the system files, so they'd have to disable all the checking and system file protection feature in the os anyway... which you can already easily do, in which case you dead easily trojan or wrapper or replace wholesale any windows system file you like anyway. The source is neither necessary nor even useful for this kind of attack.
"Software developers being able to see how things work will start to use and rely on internal behaviours."
Dude, that's what MS already do anyway, and that's why their public APIs are no use. MS' use of secret internal APIs to gain commercial advantage for their products was half the issue in the monopoly trial, remember?
I think Ballmer is afraid some overseas 17 year old kid will figure out why Vista is so slow, come out with a patch and make MS look bad because their whole team of developers couldn't make Vista a viable alternative to XP. Frankly, if he wants those bogus sales numbers for copies of Vista sold Ballmer keeps using (even though they were on PC's that MS strongarmed retailers to put on their PCs even though end users wanted XP and Ballmer never calculated all the people who upgraded from Vistat to XP since they were forced to give the XP license for free to dissatisfied Vista users), Ballmer should let someone fix the turd that is Vista.
given that the leaked source code from MS before was full of explitives and dodgy hacks to cover holes I can only say that I feel releasing the source code would be a great idea.
but for this reason and this reason only.
to save face before releasing the code engineers would have to spend hours going through it and tidying it up to stop it getting a million and twelve blog posts about how dumb you have to be to work at MS...
of course this sort of code review should happen anyway. I just think that there would be more preassure to actually do it if it were opened up to the public.
Hilf said "most of the knowledgeable people" are actually asking not to be given the source code for Windows
Perhaps this explains the Vista delays...
Boss: I'm assigning you to the Vista team.
Knowledgeable Employee: Please, No! I'm too clever by far. Think of my career....
Well, as stated above, there is SOME good open source documentation out there, but much more open source stuffstuff has dire or non-existent documentations. (for obvious reasons - who likes writing documentation!!)
Thank god for the wiki where you can pretend to write some, then get someone else to patch it up for you.
And as for the comment
'There is nothing stopping YOU! writing good documentation for the projects you like (if there are any).'
What bollocks! If you are in a situation where you need decent documentation for something, you are hardly likely to be in a situation where you're a suitable person to write it!!
Microsoft have come along way in the documentation fronts.
Take a look at some of their .NET stuff (Not all perfect admitidely),
but some of it's pretty damn good.
Lots of code examples, etc, nicely laid out, and now allows for community documentation to be added if stuff is missing, and ratings on pages.
Suns Java doc stuff comparitevely leaves alot to be desired...
I've seen good and bad OO projects in this department.
As with the code It often depends however on how popular the project is with the uber geeks.
RC, documentation MUST be what it SHOULD be doing. If what it *is* doing is different, then that's either a bug in the program or a gap in the documentation.
Why?
Well, how do you decide what is a bug if your documentation merely says that it should do what it does?
Your reasoning is (I believe) the same that has made MS think that MSOOXML is "open" because it's merely documenting what MS Office *does* not what it *ought* to be doing.
Bull.
There's a lot of crap documentation on closed source projects. Hell, MSDN sites have incorrect information on it (or lacking all information: remember that people defending MS used to say MS didn't HAVE any hidden API's and all the documentation was there; at least until MS gave out documentation on hidden APIs).
Samba developers were paid by MS to give them documentation about what MS's code were doing. Isn't that indicative of bad documentation?
And OSS gets a partial bye on it because nobody is paying enough to cover the cost of documenting all of the code. MS has billions available and still haven't documented their stuff properly.
The only thing worth reusing here is the disk space. I'd download MS code just for the symbolic gesture of deleting it.
@ programming by contract: Hah! Unless the contract is something that has been chewed on for decades like POSIX ( and even that has unspecified behaviour) they're just not enough to build an effective system. At the end of the day the customer does not care which side of the contract is broken. All they care about is whether it works on Windows or not. If your program is correct, but the Windows side is not, then don't expect people yo buy your stuff and write nasty letters to MS demanding that they fix Windows so that it runs Foo.exe. When something is big enough (like MS) it makes its own rules. As my dear old Sgt Major used to say: There's the right way, the wrong way and the Army way.