Why the SDK doesn't contain .exe tools?

You know, I'm thinking of renaming my blog to something like "CRM insider” or similar. I often find myself giving some insight on how things work or why a decision was made on the product team. To be fair and absolutely transparent I do take a lot of information from internal distribution lists/mails but only post things that a) I know what I’m talking about (so I only used the dlist information to corroborate my knowledge) and b)I’m confident it won’t cause any trouble releasing it to the public.

Today’s mystery is… why aren’t executables shipped with our SDK? If you notice we always ship tools in the form of source code. The reason is two fold

a) It allows us to have a faster release cadence. Releasing executables requires a more time consuming process that could potentially slow us down. The SDK team prefers, and I side with them, to be more responsive and release updates faster.

b) More importantly, you learn a lot more by looking into the source code. The code that is shipped on the SDK are mostly a wrappers around our existing APIs, there is nothing better to learn how to use an API than to actually seeing the code in action. In fact we have plenty of partners that use the knowledge acquired by examining out tools to develop their own.

Believe me, I often times wish that I wouldn’t have to compile some tools but I have gained tremendous insight on how things work by doing so. And there is always codegallery  or codeplex where some individual post compiled versions of CRM tools if I don’t want to spend too much time on a certain task.