Beyond the Code
or, how to win friends, influence people and make a living by writing open source software. It's not just about the code.
Follow me on Twitter as @jonobennett.
Tuesday 10 March 2009, 10:23 AM
"Disabling" code is missing the point
Unfortunately this largely misses the point. Even disabled components are still "staged" on the machine's hard drive, so taking up space. This is, Microsoft claims, because some users want the ability to restore disabled applications without needing the installation disc. Yet if you're sure this will never be the case, you aren't given the ability to remove the files permanently. On a philosophical level, this means you're not free to decide what goes on your own hard drive. On a more practical level, it makes it far harder to make a slimmed-down installation of the operating system. While desktop and notebook hard drives may be massive these days, there are devices with limited storage: Netbooks using SSD hard drives, and that godsend to the technician, the bootable USB stick.
It gets even worse: some Windows components can't be removed at all, whether you want to use them or not. The justification behind this is that parts of some applications — Internet Explorer, or Windows Media Player, for example — provide APIs that developers can use in their own applications. If those components weren't there, applications that had been written to use them simply wouldn't run. Code reuse is good, Microsoft correctly argues, but fails to consider that to reuse code it doesn't always need to be installed along with the operating system whether it's going to be used or not.
Open source software shows us the way it should be done. The Debian package management system has coped admirably with all these issues for years. If you've used Ubuntu Linux you'll be familiar with how easy it is to install a new application, including its dependencies. It relies on having either an internet connection or installation media available, but the system works beautifully. Common code is spun off into shared libraries, so that only a minimum of code is present on a system, based purely on what the owner of the system has chosen to install.
Microsoft isn't short of very smart developers, and the problem of dependency resolution is well understood, so it seems that there are no technical reasons for there not being a better solution to this problem in Windows 7. This is also clear to many of the people who have commented on Microsoft's blog post, who haven't been taken in by this software removal that doesn't remove software.
Comments on this post
Another reason that "disabling" isn't as good or acceptable as "removing" or "not installing in the first place" - just because Microsoft says that the applications and associated libraries and code are no longer accessible and cannot be executed, how many of us are willing to believe that, and take their assurances at face value? How many worms, viruses, or whatever malware will be able to exploit this supposedly "disabled" code? Microsoft has proven their incompetence in this area over and over again. In this case there is no substitute for REMOVED, because it is the only way to be reasonably sure that the potential security vulnerabilities have been resolved.
Nice blog mate,
Fascinating read - especially your point about stored "staged" disabled components. I don't doubt that you are correct.
Isn't this kind of stratagem somewhat endemic of the type behaviour Microsoft is so often criticised for? ie. Making highly impactful decisions at an architectural level based upon (as you have said) the company's own perceptions of what users want to do with the inner workings of their systems.
It's almost tautological isn't it? ie. "We know what we reckon you might want to do with your machines so want to give you more options - so we're going to restrict what you can and can't do in order to give you that freedom."
It's just not really cricket is it and it's definitely not (as you say) open source.
AdrianB
Again this won't be a satisfactory answer for the casual user, but with the use of certain applications you can force any windows component off your hard drive. One being the 'unlocker application' and the other two being N-lite for XP and V-lite for Vista.
Unlocker will allow you to target the app where it lives in the program files folder and then forcibly remove it on the next boot. The N & V-lite software allows you to customise installation disks as you please.
There are now rumors begining to circulate that suggest MS is planning to ditch the tired old IE engine alltogether and go with webkit. If not webkit then something being cooked up in their own labs being dubbed "Gazelle"
To add a comment, fill out the form below


