So I have this super sweet library I'm working on. Let's say I release it into the wild under GPL. In tandem I'm working on a commercial piece of software, and I'd like to use this library in it.
Since I made the library in the first place (even though I made it GPL), is it safe to assume I can use it in the commerical app?
Now that it's released as GPL, lets say some people make some awesome updates to it. Their work is also under GPL. Therefore I cannot include their changes in my commercial app, unless I wanted to make my commerical app GPL as well (which I don't). In that scenario, the safest thing to do would be to use my library as it was originally released when it was 100% my own code.
Is the above correct? If so, would releasing my library under LGPL be a better idea so I can re-incorporate changes to it into my commercial app since I'll just be linking to the DLL?
Edit after Thomas' answer:
To add a bit about the dual licensing option, it does open up the world of being able to commercially sell my library. On the other hand, I really want to bring in other developers to improve it (if they want), which kind mucks up the commercial licensing aspect. What is more important? For me, I'd rather have a better library than make a couple bucks off of it (it's not THAT impressive), so Thomas' point about going with LGPL is perfect. That allows me to both solicit assistance, and to take advantage of other contributors I can simply link to the DLL inside of having the original code baked into my solution file. The important bit is that I can use this improved code in my main commercial app and I won't worry about commercializing a subset of it (this library).