> We have more products in Market which is developed by Less-Knowledgeable
peoples then More
knowledgeable peoples.
There are people (American small startup company leads with sales/marketing
background usually) who do agree to pay for very, very dirty code. Sometimes
such a code is done to impress investors. Sometimes - to look better then a
competitor in a comparison matrix by adding one more feature (can be hardly
functioning and unsafe, this is OK for marketing. When the market will notice
this, the next version will have it rewritten and properly implemented).
Some of these managers are constantly exploring the offshore facilities in
India, Russia and Ukraine to find somebody cheaper. For instance, some of them
are unwilling to pay for project management expenses, and are trying to pay
only the programmer’s salary. With per-hour rate (and they insist on it, while
per-feature rate would be better for both sides strategically) - such tricks
are easy to play.
Surely they do find the underbidders, and then having all problems connected to
this. For instance, if the underbidder will get another project - better paid -
from another customer - he can just stop the first project, if not drop it on
the floor. Or the underbidder can stop the work in the middle, not provide the
source code to the customer and require more money for rewritten “and this time
realistic” project spec 
With system-level code, changing the contractors on the fly is disastrous, and
with underbidders, it will be this way.
That’s why there is a market for dirty code writing, for small Russian/Indian
offshores especially - larger ones have several major customers like Boeing
and are going on writing accounting/enterprise apps for them, and are reluctant
of accepting any system-level technically hard projects. The latter is often
due to too rigid business procedures in these companies, modelled by Rational,
UML and other kinds of scholastics.
I personally think that even Microsoft will not be able to bring this down. For
instance, if some hardware violates the SCSI spec, but the manufacturer/major
consumer of it says “hey we want this yesterday!” and is agree to pay - then
yes, somebody will patch the SCSIPORT.SYS binary to support this hardware. This
is how market works.
Yes, the world is going imperfect. Seriously imperfect. But, if we will try to
find the guilty - then sorry, the developers will blame the marketoids, and the
marketoids will blame the market. The conclusion: the masses of users are
guilty
the whole business seems to run off users with “Hey that’s kinda
cool!” attitude who can pay some small sums for well-painted logo and popup
boxes.
Worse so is that the hardware/peripheral market started to “develop” in this
direction too, especially for El Cheapo USB hardware.
I personally think that the only thing Microsoft can do to really improve the
situation (and yes, this is in their interests - they want users being
satisfied by Windows, and not higher profits for a small Bangalore or Nizhny
Novgorod company) - is to create a blackmailing site where the bugs and issues
in all kinds of small apps will be published, so that people will stop blaming
OS for instability of the apps and OS-add-ons by third parties.
For now, the things are as the following:
- the small company releases the product which uses hacks or undocumented
techniques (have anybody noticed the large interest to undocumented and
unsupported TDI filtering during the last months? most of these tasks could be
solved by good old NDIS IMs. Then why go to unsupported land?)
- the small company does nearly no interop testing. They do the interop testing
only with major products which are likely to be installed on most desktops, but
not with the minor products.
- then the Average Joe who have read too much sites on “this brand new cool
software!” installs around 10 or 15 small apps - from such small companies - on
his machine.
- the machine starts to deteritoriate, and nothing surprising - the main
evilness of undocumented hacks is the interop issues they produce with 2 such
products.
- then the Average Joe…blames Microsoft for this

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com