No good deed goes unpunished: Free code samples
There’s no such thing as a free lunch. Or free code either. Many years ago, I wrote some samples for the SDK as a favor, and at each major SDK release, I am reminded that no good deed goes unpunished. I can tell when a major SDK release is coming, because I get a piece of mail that goes something like this:
Hi. You are on file as the owner of at least one SDK sample. Please fill out the following gazillion-item checklist for each sample. If you don’t do this by (some date), your sample will be removed from the SDK.
Yup, it’s another episode of “You’re not my manager.” This gazillion-item checklist goes something like this:
- Start with a clean install of Windows XP with all service packs and patches.
- Install Visual Studio Super Awesome Edition.
- Install the latest build of the Platform SDK from this internal web site.
- Launch Visual Studio and change the following settings: …
- Open your sample in Visual Studio with the following settings: …
- Compile and run it, confirm that it builds with no warnings or errors and that it runs successfully.
- Repeat with Windows XP 64-bit Edition.
- Go to this internal web site and install additional stuff.
- Run additional tests X, Y and Z and ensure that your sample passes them all.
- … etc …
It’s the gift that punishes the giver. And not just once, but repeatedly, with no end in sight. If I’d know that writing an SDK sample would be so much recurring hassle, I might not have done it. Every time this happens, I have to remind the SDK folks that if they want people to do something as a favor to them, they have to make it easy. This means setting up machines with Windows XP and Windows XP 64-bit edition, installing Visual Studio Super Awesome Edition and all the additional tools, and letting people use Remote Desktop to connect to them, compile their samples, and run tests X, Y and Z.
Each time I recommend that they do this, the response is “Hey, that’s a good idea.” It’s like they forget that they did this same thing last time.