views:

458

answers:

3

I'd like to port an application written under linux to windows. Currently I'm using Cygwin but I'm curious if there are any other options that don't force me to release my source since I'm not in the position to do so right now. Are there any other options short of having to completely re-write it or buying a license?

+6  A: 

MinGW doesn't have as many licensing restrictions as Cygwin, but it might require more effort to get your code to run under it.

Tmdean
+1  A: 

I am by no means an expert. Saying that, if you're not going to release your application, I believe you can use it with GPL'd stuff internally. It is only when you started distributing your binaries that you are bound by the GPL to release your source along with the binary, or by user request. E.g. a company could modify some GPL'd source code, and use it internally so long as they don't distribute the code or application outside of the company.

So it depends on what you plan to do with your app.

You might be able to use cygwin for now just to get it to a working point, and then gradually replace pieces of the app with native windows code until you've completely de-cygwin'd it.

I know that's probably not what you're looking form, but I thought I'd throw that out there. They should have a couple law/licensing classes shoved into CS degrees these days.

AaronLS
A: 

Please give us more information about your application. Simple commandline utility? Uses KDE libraries? Uses linux kernel extensions? etc etc. For internal use only? For use on corporate desktops? For use by end-users? These all will change our suggestions.

I'll also suggest using MinGW.

The basic process of porting:

  1. Install MinGW and MSYS
  2. Run your Makefile.
  3. Likely you'll get an error, fix it (either by changing code or by commenting it out)
  4. Recompile via Makefile.
  5. Repeat 2-4 until you compile with no errors.
  6. Then test your application, and track down any bugs you might have introduced.
davr