Shipping the complete source code of all the Telerik controls, in practice, is simply not enough.
There are problems with “just shipping the source code”.
Let me outline the problems with this point of view:
First, your release DLLs that ship from your shop cannot be debugged with the visual studio >__DEBUGGER__<. PERIOD. THIS IS THE MAIN PROBLEM. The debugger needs the PDB files to load Telerik symbols, in order to debug calls into your library.
Second, have you actually tried to compile your controls from a customer’s point of view? I’ve actually tried to compile the Telerik source code for the AJAX controls and it is a PAIN. Many times the build documentation is out of date.
Third, the Telerik source codes are not “build ready”. Meaning, you purposefully have to modify the source code in order to get the Telerik source code to compile, which cause problems, pains, headaches, wasted time, wasted money in of itself. Why is the Telerik source code not “build ready”? 1) You do not distribute your SNK. This requires opening up all assembly projects and replace (or removing) the signed assembly attributes from the source code. This is time consuming. 2) I have had some types that cannot be completely resolved. I’ve located the types, but referencing them resulted in circular assembly dependencies. It’s probably the result of some exotic build plan or my lack of expertise in building Telerik from the source (and rightly so).
Forth, after spending hours trying to get the Telerik source code to compile (in pursuit of the coveted PDBs), my applications are now running a modified version of the release DLLs. But doesn’t this effectively defeat the purpose? LOL. I can only hope I didn't break anything else in the process. Well, at least I’ll have Debugger support right? So are you telling me that compiling my own version of the Telerik controls gives me more value (and better developer experience) than your release versions???? I think that’s backwards.
So, simply claiming that “instead of shipping the PDB files we are used to providing complete source code of all telerik products which we consider helpful in learning and debugging them” As a paying customer, I don’t see how it helps debugging without the release PDBs.
Quite frankly, on the Telerik side, you simply have to set a compiler flag to get the PDBs. Really, how hard is it for you to generate the PDB files part of your build process?
Now imagine in a world where Telerik shipped their PDBs.
As a developer, I can:
1. Take your PDB files and load them into my symbols directory with Visual Studio.
2. Take your Telerik Source code, and load it into a reference folder.
Without having to compile anything, when an exception occurs, with Telerik PDB symbols loaded, I can now see the exception, in its full detail, with the current call stack frame and local variables, autos, breakpoints, etc.
Please provide PDB symbols with your releases!!!!!!!!
PS. Also note, that when Microsoft relased the source code to the .NET framework, they didn't just release "Source Code". Microsoft fundamentally understood the need for release PDBs.