Здесь на самом деле два вопроса:
1. на чем написать приложение?
2. продавать его или сделать мир лучше за бесплатно?
ИМХО, проще найти работу на C#, но за хорошее знание C++ могут платить больше, однако нужен опыт. Настольные приложения быстрее и проще писать на C#. Таким образом, для целей быстрее найти работу выгоднее C#
Второй вопрос гораздо сложнее, поскольку извлечение прибыли возможно в обоих вариантах. Важно учитывать следующее:
1. Коммерческий продукт требует гораздо больше трудозатрат на "упаковку" и продажи, часто это упускается. Чтобы продукт покупался нужен сайт, годный контент на нем, трафик (+реклама), удобная установка, схема лицензирования, справка помощи и... поддержка! (да, оперативно отвечать на глупые вопросы пользователей).
2. Бесплатное приложение больше ориентировано на пользователей, которые сами себе его находят, продают, поддерживают и т.п.
Бывают приложения, которые одному писать очень сложно. Например, есть много интеграций или еще каких-то вариаций. В этом случае open source позволяет подключить к проекту волонтеров. Это тоже не простая история. Такое сообщество нужно "кормить", либо продукт должен быть настолько вызывающим интерес, чтобы от желающих не было отбоя.
Риски связанные с коммерческим продуктом:
1. Вложить много сил/денег и не продать ничего (либо несколько экземпляров), либо понять, что такой продукт на самом деле не нужен.
2. Вложить много сил/денег и узнать, что есть бесплатный аналог или его уже сделают за время предпродажной подготовки.
3. Промахнуться с рынком сбыта. А иностранные рынки это еще дополнительная головная боль и расходы.
Риски связанные с open-source:
1. Потеря возможности получить оплату за свое "ноу-хау". Другими словами, не стоит опенсорсить авторские алгоритмы (или трудоемкую реализацию), которые сами по себе имеют ценность и которые сложно повторить. Именно в этом основная ценность ПО.
2. Невозможность извлечь прибыль из своего труда, особенно, когда это занимает много времени. Здесь нужно аккуратно делить на бесплатные и платные фичи. Иначе хорошее дело очень быстро загнется, хоть и бесплатное для пользователей.
Ну это так, вкратце. Обычно опенсорсят (с целью демонстрации навыков) какие-то библиотечки вспомогательные. Это беспроигрышный вариант. Поскольку это не продукт (его не нужно хорошо "упаковывать"), нет особенной поддержки, не требует много трудозатрат и не жалко отдать пару недель работы бесплатно.