If your program is free software, it is basically ethical - but there is a trap you must be on guard for. Your program, though in itself free, may be restricted by non-free software that it depends on ...