I am in a bind here. I found some old code written a long time ago, that someone had implemented under the GNU public license, in .NET 1.1. The original code was language agnostic, essentially a file parser. The .NET implementation of this parser was also released under GNU General Public License as a class library, i.e. a single DLL(Assembly) Now, come 2009, I have found a use for this assembly which I have modified for use on a mobile device, i.e its a Windows Mobile application.
Now my question is this, since I'm just referencing the .NET Assembly written by someone in 2003, when I sell my product, do I have to release source code for my mobile application, or is it sufficient to make the source code of the original assembly available? I don't want to release my application's code since it has other closed source code. It relies on said assembly only for certain functions.
Do I have to release my entire code base, or just make the assembly's source code available, which is freely available anyway.
EDIT 1: So I modified the code a bit, instead of referencing the GNU code directly, the Application now queries a Web Service that uses that component, that said, I am willing to release my Web Service code on my website that invokes the said GPL'd component/assembly. So my plan is this, I will make the source code of my web service freely available that uses this component, this way, my mobile app is only invoking a web service that uses the GPL'd code, does this satisfy GPL requirements? Since the mobile app is now invoking a web service, there is no GPL code in my mobile app, just a call to a web service that uses said component. This way, I don't have to release the source code of this application that I've worked on a for a long time.
EDIT 2: From the comments: This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or any later version