Lengthy Reply...
Oko said:
Now that is really very, very nice and informative post from somebody who knows his job.
Thank you, very kind. :e
You exactly pinpointed the things which makes systems like BSDs "superior" to Windows. Unlike MS open source projects can easily break backward compatibility and in particular they can brake compatibility with third party software.
What is "superior" or "inferior" is just a matter of matching a solution to a set a of requirements. When it comes to legacy support and the attendant problems; Windows is a victim of it's own success.
Your post also explains correctness of OpenBSD team approach which doesn't allow third party binary blob drivers nor kernel loadable modules which makes OpenBSD so incredibly stable.
I don't know much about OpenBSD, but if that's the case, then of course. Few drivers in the Windows world require kernel access, but in the case of graphics adapters, it's a requirement - otherwise you can't get the speed necessary.
All of Windows' security certifications are predicated that only signed, certificated drivers are used.
I wish you could elaborate little bit about difficulty to support such a wide variety of often crappy hardware.
There's not much to elaborate on - it's difficult. The biggest problem is not the coding, after all it's only written once.
The biggest problem is in the testing matrix. x86, AMD64, IA64 architectures, several dozen languages (including middle eastern, Far East, right-to-left reading order), and then add several product editions. To get good testing coverage for a particular feature, you have to test on them all. The build process alone is incredible.
Also Windows supports incredible wide amount of features not found on any other OS. For that reason Windows kernel is large comparing to Linux (probably not for a long time ) but in particular compared to BSD kernels.
A friend of mine and a reviewer of my Active Directory book, Mark Russinovich, has written extensively about the Windows kernel, including a comparison of size and functionality to Linux.
This is why is so important IHMO that BSDs remain simple systems for power users instead of accommodating clueless n00bs. If any system once goes down that path it is just going to become another Windows and I do not mean that in derogatory sense.
Depends on your requirements. All systems conform to evolving requirements. For Windows, supporting "clueless n00bs" is a requirement!
Can you explain why is MS so often offender of various RFCs? Is that a conscience decision to put other Vendors out of business? Is there are any particular reason but PR to have for instance your own mail protocol (exchange) or for poor implementation of open protocols.
First let's dispel a few myths. Microsoft gains no advantage anywhere by closing out other vendors. The success of Windows (Microsoft's cash cow) is predicated on a very healthy software ecosystem.
I think you'd find that any organization supports standardization as much as it needs to and not much more. No one buys a product because it's "IETF approved!"
For 6 months in 1999, I worked on "Platinum," the codename for Exchange 2000. The roots of Exchange go back to the late 80's and Microsoft Mail. From that came the Mail API (MAPI). MAPI was a rich, heavy-weight programming interface that fully supported various transport protocols, clients and servers.
This was around 1992-1994, and it was not clear that any of the email RFC's in existence at the time were sufficient for the needs of large organizations. MAPI became the way Microsoft did email, and it was very complete and worked well. Just like Lotus, Novell, IBM and any number of software vendors of the 90's, each had their own email protocols and only implemented SMTP to transfer mail in and out of their own systems.
MAPI supported secure authentication long before SMTP/SSL was commonly available, and organizations did not want employees using IMAP/POP clients sending clear-text passwords either. So, organizations opted for the proprietary Exchange-MAPI-Outlook end-to-end system.
I know Exchange 5.5 and certainly Exchange 2000 supported SMTP, IMAP4, and POP3; in addition to MAPI.
I believe that Exchange 2000 defaulted to using ESMTP as it's internal transfer protocol. Whether or not organizations use the IMAP/POP client interfaces is up to them. I know that I'm using IMAP to get my
chuckop@microsoft.com email via Thunderbird on FreeBSD 7.2. :e
Regarding incomplete support of RFC's; it's a matter of what the customer needs. Do they need 90%? 99.9%? RFC's are a moving target that do not conform to product design and shipping schedules. We build in what we can, when we can, as long as it's important to the customer. Customers usually don't put standards support in their top requirements. When customers do put standards support in their requirements, we support the standards as best we can when the product ships.
Open source products have much more of a need of interoperability with a wide variety of other products and thus depend more on standards. Also remember that standards often follow inovation and engineering advances. Products usually exist before the need for standards emerges. If everyone did exactly what the standard states and nothing more - on what basis would you sell the product?
FYI, I attended W3C meetings when HTML4 was being debated. Some of the same people who are now working on Mozilla were at those meetings in 1996 wanting to see Netscape's <LAYER> tag be implemented instead of CSS. Microsoft was pushing for CSS because it was a better from a engineering point of view, whereas <LAYER> was a kludge derived from graphic design constructs. So whenever someone says "Microsoft isn't supporting CSS2.1 100%" I think back to those meetings, when we were the ones advocating CSS in the first place. I've also been a part of the W3C's working groups on web accessibility and on the various Voice XML standards.
What about security? Could you compare the feature of Windows with OpenBSD?
I can't really. My Windows security knowledge is limited and I have no idea of what OpenBSD brings to the table in that regard.
Could you also elaborate about one of the biggest problems of Windows deployment and that is the lack of truly competent Windows system administrators and users.
Well, I wouldn't say that exactly, but I understand what you mean. As with any complex system, be it high performance automobiles, aircraft, you-name-it, it all comes down to how it's operated.
One of the nice things about the BSD-world is that it's user-unfriendly-ness keeps the entry bar pretty high. Windows on the other hand strives to be accessible to anyone. People who
use Windows assume that they can
manage Windows as well and that leads to problems.
As with anything complex, those with more education and experience will get better results.
Look at it another way. Windows has an installed base of nearly 1 billion users. If 0.5% are "clueless n00bs", that's still 5 million people! :e
Thanks for the message,
-Chuck
chuckop@gmail.com
http://friendfeed.com/chuckop/