← back to blog index

Студенты и OpenSource

Posted on June 06, 2009

OpenSource

Захотелось рассказать о том, что такое OpenSource, чем участие в открытых проектах может быть полезно для студента и что делать, если вам это интересно, но не знаете с чего начать.

Долго рассказывать о том, что такое OpenSource, думаю не стоит, почти все как минимум слышали об открытом ПО и при желании всегда можно почитать об этом в той же Википедии.

Зачем вам это надо?

Студенту участие в OpenSource проектах поможет развиваться, получая новые знания и решая реальные проблемы. При этом вы познакомитесь с тем как ведутся обсуждения над проектами в списках рассылки, которые часто применяются и внутри обычных компаний, и почтовым этикетом. Научитесь работать в команде и пользоваться современными инструментами коллективной разработки. Сможете завоевать авторитет и познакомится со многими интересными и, возможно, известными людьми. И, наконец, сможете добавить дополнительную строку в свое резюме, которая очень не помешает студенту только окончившему ВУЗ.

OpenSource — это весело. В проектах участвуют много умных и веселых людей, которые занимаются этим не потому что кто-то заствляет, а потому что нравиться. В irc-чатах обсуждают разные темы и не всегда они могут быть связаны с проектом. Вот только что мне, например, пришло письмо с темой «We are fa-mi-ly» с обсуждением будущей встречи разработчиков с вечеринкой, напитками и всеми вытекающими последствиями.

OpenSource — это не закрытый клуб для избранных. Здесь всегда приветствуют новых участников. Проектов море и каждый может найти то, что ему по душе.

Многие компании все активнее используют открытое ПО и активно его поддерживают. Nokia выпускает устройства с Linux на борту (дальше их будет еще больше) и поддерживает несколько разных сообществ разработчиков, Яндекс активно поддерживает Django и другие проекты, Google просто основан на использовании открытого ПО, очень способствует его развитию и распространяет многие свои разработки под открытой лицензией. Почти все большие компании так или иначе с этим связаны.

И в конце-концов, участвуя в OpenSource проектах вы помогаете создавать программы, которые свободно могут использовать люди со всего мира.

Работодатель берет только людей с опытом работы? Вот он ваш опыт. Используйте возможность получить реальный опыт работы прямо во время учебы.

Язык

Да, правда, общаться придется на английском. Но это не значит что вы обязаны владеть им досконально. Нужно уметь понимать что написано простым языком и суметь выразить свою мысль. Если ошибаетесь — не страшно, смеятся или указывать на ваши ошибки никто не будет.

Если думаете, что ваших знаний все же недостаточно, то самое время начать их подтягивать, читать статьи и техническую литературу на английском, ну или хотя бы смотреть Саус Парк в оригинале.

С чего начать

  1. Сначала подумайте над тем, что вам интересно, что вы уже знаете и чему хотели бы научится.

    Например, я выбираю проекты, которые помогают научится чему-то новому. В прошлом году мне хотелось хорошо разобраться с JavaScript, а в этом — захотелось научиться писать на Python да еще и под мобильные платформы.

    Помните: здесь многое основанно на энтузиазме, поэтому вам должно нравиться то, чем вы занимаетесь.

  2. Отберите пару-тройку проектов, которые вам интересны.

    Здесь появляется вопрос — а где их искать? Есть большое количество разных проектов/организаций, есть из чего выбирать. Список проектов, которым нужна помощь можно посмотреть на сайте того же Google Summer of Code. Этот список хорош тем, что в нем есть описание каждой организации, чем она занимается и ссылки на список идей («Ideas Page») — каждая организация написала список того, что мог бы для них реализовать студент в течение лета.

    Пользуетесь Убунту и вам нехватает какой-то фишки? — Можете написать ее сами. Замучил какой-то баг в системе или программе? — Разберитсь что там происходит и исправьте его. Помогите с локализацией какой-то программы, в конце-концов. Это не обязательно должно быть что-то грандиозное, люди все равно будут вам благодарны и вас заметят.

  3. Сходите на сайт проекта, посмотрите документацию, это поможет вам определится с проектом.

    Стоит оценить качество документации, достаточно ли ее, так как вам, возможно, с нуля придется разбираться в проекте. Почитайте какие средства разработки вам понадобятся для работы, насколько будет легко настроить рабочее окружение у себя локально.

  4. Установите все необходимые для работы программы, скачайте исходный код проекта из репозитория и попробуйте собрать/запустить его у себя.

    Посмотрите где хранится исходный текст проекта. Если еще не знаете точно что такое система контроля версий, какие они бывают и как ими пользоваться &mdash самое время узнать.

    Подпишитесь на список рассылки, зайдите в irc-чат.

    Посмотрите, что народ сейчас обсуждает, чем сейчас интересуется сообщество. Можете представится, сказать, что есть желание участвовать — вам подскажут с чего начать.

  5. Исправьте какой-то баг для начала и отправьте патч.

    Это поможет хоть немного разобраться в исходном коде, после чего вы уже будете иметь представление как там все устроенно и сможете, при желании, что-то дописывать. Если еще не знаете точно что такое баг-трекер или патч и как его создавать — самое время узнать.

  6. Enjoy :)

Например

Есть такой проект — GNOME. Они создали отдельную страницу под названием GnomeLove. Ее цель — помочь людям, которые хотят чем-то помочь GNOME, но не знают с чего начать. Есть даже отдельная статья на русском языке — зайдите, почитайте.

В конце

Никто не заставляет вас заниматься OpenSource-ом вечно. В любой момент можно устроится на работу в компанию. Но при этом у вас всегда будет что показать в резюме и на собеседовании, у вас появятся новые знакомые.

Если по каким-то причинам не хотите или не можете участвовать в «каких-то там больших и страшных проектах», вот вам открытый проект, который только начинает развиваться у нас в университете &mdash XSoC. В нем используются Verilog, C, Asm, Linux. Если вам интересна тема разработки встраиваемых систем, нравится писать на C, VHDL, Verilog или крутить Linux — милости просим, все покажем и расскажем. Если хотите принять в нем участие — сообщите мне или Алексею Владимировичу Лукину — с радостью примем новых разработчиков. Можно и после сессии.