QUOTE(Eniko @ Dec 30 2008, 05:54 PM)

Thanks for the quick response, ED.

So if I get this right, for a potential commercial closed-source project the safe bet is to compile the scale2x source as a DLL and publish the source for that with GPL license, but none of the rest?
It depends on who you ask, but this should be fine. So long as the DLL is a "complete work" on it's own, with all it's source code available under the GPL, this should work. However, it's a legal question, not a technical one. This, for instance, is how the NVIDIA drivers work on Linux... they put a "dll" of a kind into the kernel (GPL) and then call it from the NVIDIA driver (proprietry). Some people still don't believe that is legitimate but nobody has kicked up too much a fuss about it. BTW: GPL comes in many versions, and GPL 3.0, for instance, may consider this situation differently.
QUOTE(Eniko @ Dec 30 2008, 05:54 PM)

What happens if I use the algorithm without using the source to implement a scale2x pixel shader?
If I remember correctly from my own investigations several years ago, the algorithm is perfectly okay to copy (but you may not be able to refer to it by the names that you know it by) and reimplement, it's their actual implementation that is covered by the software license. I think I even read wording to that effect on their webpages but you'll want to double-check. You can't "copyright" an algorithm (but you can patent it in some countries!) and the GPL is a copyright licence.
QUOTE(Eniko @ Dec 30 2008, 05:54 PM)

Would that still require me to publish my source under the GPL license?
Unless you based the code off GPL licensed code, then no. But even "modified versions" or potentially even "using the GPL code as a reference" are going to cause you problems unless they are GPL licensed too. This is in the realm of "cleanroom reverse-engineering" and you can't just do that by pretending you didn't read the original source...
QUOTE(Eniko @ Dec 30 2008, 05:54 PM)

What if it's a modified version of scale2x? How far would it have to be modified?
If you modify the source, your modifications would have to be published as GPL (the license differs on exactly who you have to distribute that source to etc.). Any "modification" would be seen as GPL-based code. Even the wording of the word "modify" suggests that any end-product is GPL licensed. You would have to completely re-implement the algorithm from scratch without looking at the GPL code.
QUOTE(Eniko @ Dec 30 2008, 05:54 PM)

Or does none of the GPL license stuff apply because I'm using the mathematical algorithm, not the sourcecode?
If you *don't* refer to the GPL source code in your re-implementation of the algorithm, you're fine in terms of copyright. This means even looking at how the GPL code handles a certain structure, copy/pasting/modifying etc. If they hold a patent on the algorithm (I very much doubt it) and it's enforcable in your country (even less likely) then they can still "get you" for that.
It's a legal grey area. Even the Linux kernel people won't answer questions about whether the NVIDIA driver is "legal" etc. and it causes flamewars all the time. The usual advice, even from Torvalds et al, is to "consult a lawyer" because it's not a technical issue but a legal one (including definitions of "derivative works", etc.). My advice would be to either:
1. Write your own version of these scaling algorithms, not looking at anything but the published algorithms and NOT referring to the GPL code. (And then publish it because I'm sure a LOT of people are in the same position as yourself - I'd be surprised if there didn't already exist some libraries for this).
2. Use the GPL code but abide strictly by the terms of its license.
3. Find another scaling algorithm which doesn't have the same restrictions (there are others!) and don't use any scaling algorithm covered by any terms that might cause you work/trouble/consternation.