The code should remains as open as possible, but I'm planning to sell it on Windows and Mac, and make free rmp/deb.
Does the licence even matter? It feels like I'm just selling the service of compiling and distributing the software here.
Since the program is Open Source, anyone can take your Linux code and port it to Windows and Mac OSX. Therefore you're really only selling the compiling, distributing, support (etc...) services, and those aren't covered by a copyright license anyway.
E.g. the GPL makes it explicit that such additional services are entirely outside the scope of the license, and anyone may charge money for that (not just you).
What you are really looking at is a Dual License phenomenon. You can provide two version of licensing under different conditions.
one of best/notworthy example is QT licensing where commercial license will permit commercial usage more freely (essentially allowing selling of close source apps created using QT).
In other cases is MySQL which allows GPL for Open source projects but mandates OEM license for commercial projects which uses and extends MySQL engine.
Also, read this: Dual licensing with GPL library