1. 6

For the past week I’ve been trying to track down the source code for an old open source .NET library called sharepod-lib. It was open sourced in 2010 on Google Code, and then removed in 2012 or 2013. I’ve exhausted my Googling ability, and am asking for some assistance.

So far, I’ve tried Wayback Machine (it only archived a handful of the original source files), searching GitHub (no copies), searching Google for various class names, and even reaching out to the original author. My current thinking is that when the software was acquired in 2013 the repo was taken down, and the author no longer has the rights to distribute the software (however this is just a hunch as they’ve not yet replied to my email).

My goal is to update the library for .NET Core, making it cross-platform. I’ve only found three other libraries for interfacing with an iPod: gnupod (written in Perl, works well, but is a pain to distribute as a binary), libgpod (an absolute PITA to compile, and doesn’t seem to work with the few examples I’ve tried), and ipod-sharp (built around HAL which is deprecated on Linux).

If you happen to have a copy of the library, know someone who might have a copy, or have any tips on tracking down a copy, I’d really appreciate hearing from you!


  2. 3

    There’s this one, which has a download that has the dll included, if nothing else you can get the source code from decompiling that, I would assume.

    1. 1

      I actually gave decompiling the DLL a try, but the produced output is in pretty bad shape. It’s obfuscated and includes GOTO instructions.

      1. 1

        There are deobfuscators for Java code, maybe you could give those a try.

        On the other hand the world has progressed some, maybe a clean-romm implementation would not be that much effort. I cannot guess, I do not know the domain well enought, bet have sunk about as much work into updating a legacy library recently which would have been enough to reimplement the relevant part from ground up.

        1. 1

          I’ve brought up a few .NET libraries to .NET Core, and it’s actually not that difficult! I’m far more confident in my ability to do that than I am in my ability to reimplement iTunes DB parsing (especially since the two best implementations I know of are written in C and Perl, neither of which I know).

          1. 1

            I have also done such, I’m having PTSD from an MFC C++ library i had recently encountered…

            I don’t know the C library, but I have used P/Invoke with success and ease some times. Bundling the native code properly is not trivial, but actually it could work, especially if the library is designed for being easily wrappable.

            According to this bug report libgpod worked with SWIG at one point. I might give it a try. (fork, clean up build, try to wrap with SWIG, etc). This would definitely also have its own challanges.

            1. 1

              My biggest issue with libgpod is that even after installing it in a Docker container with all the right libraries, it still didn’t correctly load a track with album artwork onto my iPod. I suspect it has something to do with its reliance on GTK for image processing.

    2. 2

      Well, in case the author doesn’t reply… I did find a project that uses this library. So that’s someone else you could ask, maybe he still has it around.

      1. 1

        Thank you, but it looks like they were using the assembled DLL file as opposed to the actual source code.

        1. 0

          To be honest GPL requires tem to provide source code, so for GPL dependencies your project should keep the sources archived… Or distributed along the code.

          This shows that in real life how absurd the requirements of GPL are. Even a honest actor can fall victim of bit-rot and violate GPL inadvertly.

          1. 1

            That’s… not how licenses work, nor how the GPL works. There are no binaries on that page, therefore no requirement to distribute their sources; and presumably that project is uploaded by its author, who as the copyright holder is not themself bound by the terms of their own license.

            There is absurdity in what you said, but I’m afraid it isn’t the GPL’s. 🙂

      2. 1

        How about contacting Jeff Harris himself? (Edit: oops, you already mentiond it. How long did you wait for reply?)

        1. 1

          Yup, I emailed him a few days ago! He’s currently my best hope.