Было бы конечно здорово, если бы разработчики предпринимали шаги (при проектировании софта), чтобы портировать мог не-профессионал. Ну хотя бы двигаться к этому Им ведь это выгодно.
с МС имхо всё сложнее, потому что она не unix-like. но я довольно мало с ней имел дела последние лет 8, так что сказать мне про неё примерно нечего. но там вроде вопрос запуска линуксовых приложений уже решили радикально)