I think it would be useful to have a lib that can be used to link apps that are aimed to control aMule. So they don't need to be recompiled for a new svn tarball, when the only ec-change is the date. They could link against libec-v20080722, and the version is only updated when something really is changed.
Wrong all over. Generally speaking, casual users should not compile anything. That's why they're called "users". All other folk (developers, testers, etc) are
supposed to recompile. That's an idea. Adding dll complexity only worth it in case of
significant amount of shared code between different applications. And here, you have neither significant amount of code to share nor third-party applications. Now, do you propose to create such library in every language we support? Java? C#?
A "global lack of direction" as you call it is what allows this project to keep a handful of people working on what they like most, as opposed to what someone wants them to do.
No. Handful of people (me including) are working on this project because it is quite useful application which gratefully accept contributions.
This allowed project to get to this point. Although, it think that direction in sense of feature priorities, for example, would benefit this project.
And let me point out that this project is not aimed to create "A ED2K network library for p2p client coding",
Yes, you right, literally. But I do think that it would be good idea to split codebase to ed2k core in form of static lib (as we do with EC) and write GUI around it. IMHO it worth an effort