На днях на РСДН всплыли сразу две интересные темы Для чего создаются Open Source проекты Задачки для самообразования. Лично у меня давно сформировалось мнение относительно этих вопросов, которым мне и хочется поделиться.
Начну с того, зачем вообще нужно писать OpenSource приложения и что это может дать обычному разработчику. Да, именно обычному разработчику, а не некой компании.
Во-первых, наличие OpenSource проектов это – огромный бонус при приеме на работу. Несмотря на то, что среди разработчиков ходит довольно нелепый миф про работодателей, которым совершенно плевать на OpenSource проекты потенциальных кандидатов, дела обстоят совершенно иначе. OpenSource проект – это код, который всегда можно легко оценить, глянуть историю изменений и, как следствие, легко составить мнение о потенциальном кандидате. Сразу видно как человек пишет код, как он думает и как он делает рефакторинг, если, конечно, он его вообще делает. Так же видно, какие у человека интересы и взгляды на прекрасное.
Во-вторых, OpenSource проект это – экономия времени при поиске работы. Довольно часто потенциальный работодатель просит пример кода либо выполнить тестовое задания. Так как при отсутствии собственных проектов такой код взять неоткуда, разве что украсть у предыдущего работодателя, то приходится или делать тестовое задание, или отказываться от вакансии. В то же время, вместо выполнения тестового задания всегда можно прислать ссылку на собственный OpenSource проект.
И в-третьих, OpenSource проект это то, что ищет за тебя потенциальных клиентов/работодателей пока ты спишь, катаешься на велосипеде или делаешь еще что-то, не имеющее никакого отношения к твоей основной работе. Ведь такой проект будет проиндексирован Гуглом, о нем можно написать в социальной сети типа LinkedIn или на своем любимом форуме типа РСДН.
Таким образом, для обычного разработчика, OpenSource проект это, в первую очередь, косвенный способ заработать денег и организовать небольшой самопиар.
Теперь к тому, что же можно писать. Что бы далеко не ходить, начнем с проектов крутящихся вокруг РСДН-а.
- Nemerle – образцово-показательный русский OpenSource проект. Отличных язык и отличная команда работающая над ним. Единственный минус – вероятность того что появится возможность применить его в продакшн стремится к нулю.
- Янус – удобная, старая но крайне тормознутая читалка РСДН-а написанная на C#. Описание звучит странно, но, особенности проекта дают хорошую возможность позаниматься оптимизацией приложения и рефакторингом.
- Avalon – еще одна читалка РСДН, ужасная как снаружи, так и внутри, написанная с использованием Qt. Несмотря на внешние и внутренние недостатки, это приложение просто отличный способ развить навыки кроссплатформенной разработки и дизайна UI. Да и проект очень полезный, лично я уже внес в него небольшой вклад.
- Андроид читалка РСДНа с загадочным названием anusai-android. Внутрь не глядел, но зная автора могу предположить что там все впорядке. Снаружи все сыро и простор для доработки огромен.
- Слышал что и для iOS есть читалка, но не видел. Если нет – написать, если есть – развить проект.
Кроме около РСДН-ных прокетов, хочется упомянуть о некоторых интересных лично мне.
- Tasks-Explorer – менеджер задач для Mac OS X. Начал я его в году так 2009, но как-то сдулся. Если интересно — буду рад помощи в развитии проекта.
- Rust – альтернатива C/C++. Проект с большим потенциалом над которым работает команда отличных разработчиков. Коммиты принимают, на вопросы отвечают, советы дают.
Так что, если у вас еще нет OpenSource проекта, возможно пора к чему-то присоединиться или завести свой собственный