Меню Закрыть

Участие в open source проектах

Содержание

С помощью open source проектов можно усовершенствовать свои навыки, исправляя чужие ошибки и создавая что-то новое. Можно найти проект, который будет полезен и для собственного бизнеса, например, в медицине или e-commerce. Кроме того, как говорят практикующие программисты, один из лучших способов мотивировать себя на занятия программированием — это работа с open source проектами. Специально для читателей блога Geekbrains мы собрали список таких проектов из разных сфер деятельности:

Пакет программного обеспечения для работы с медицинскими изображениями. 3D Slicer доступен на нескольких платформах, в числе которых Windows, Linux и OS X.

Инструмент, который позволяет распределять обработку больших массивов данных по кластерам компьютеров с помощью простых моделей программирования.

Популярный пакет программного обеспечения для работы с текстом, создания электронных таблиц, презентаций, графики, баз данных и т.д. Полностью открытый процесс разработки означает, что кто угодно может сообщать об ошибках, запрашивать новые возможности или улучшать программное обеспечение. Он написан в международном open standard формате, поэтому воспринимает файлы из других открытых офисных программных пакетов.

Coder (для Raspberry Pi)

Экспериментальный проект для Raspberry Pi, созданный небольшой группой сотрудников Google в Нью-Йорке. Это бесплатная часть программного обеспечения, которое превращает Raspberry Pi в простой личный веб-сервер и веб-среду для разработки — только то, что нужно для крафта HTML, CSS, Javascript, когда вы учитесь программировать. Установка для начала работы займет не больше десяти минут.

Платформа для управления контентом, на которой работают миллионы веб-сайтов и приложений.

Менеджер для работы с медиаданными, предназначенный для создания больших централизованных медиа-библиотек.

Свободная операционная система типа Unix.

Офисный пакет для совместной разработки с функционалом, как у Microsoft Office или OpenOffice.org.

Система для создания курсов. Бесплатное веб-приложение, которое преподаватели могут использовать для создания эффективных Интернет-сайтов для обучения. Moodle стала очень популярной среди педагогов по всему миру в качестве инструмента для создания динамических веб-сайтов для своих студентов.

ПО для создания и управления обучающим аудио и видео контентом.

Мультиплатформенная система управления корпоративным контентом написанная на Java. Работает с несколькими базами данных (в том числе MySQL, Oracle, PostgreSQL, SQLLite, и другие), а также поддерживает несколько методов аутентификации.

Софт для создания частных и общественных облаков.

Сервис позволяет создавать опросы и делиться с контактами на сайте. Удобный способ собирать данные для их последующего анализа.

DICOM-сервер для здравоохранения и медицинских исследований. Предназначен для облегчения управления данными медицинских изображений. Хороший инструмент для автоматизации медицинских задач визуализации, специфических для каждого медучреждения.

Проект создан силами Open Source сообщества и предназначен для обеспечения лучших решений для предприятий с помощью бизнес аналитики.
Основные области применения:

  • создание отчетов
  • анализ
  • сбор Данных
  • платформа бизнес-аналитики

Java™ разработчики могут использовать компоненты проекта для быстрого создания собственных решений для бизнес аналитики.

Модульная open source система управления цифровыми данными.

Бесплатный софт для e-commerce.

Библиотека для быстрого фильтрования и сортировки больших коллекций — до 100000 элементов в браузере.

Языки c open source

Язык программирования с открытым исходным кодом и среда разработки для людей, которые хотят создавать изображения и анимацию.

R — открытый язык программирования и программная среда для статистических расчетов и графики. Язык R широко используется среди статистов для разработки статистического программного обеспечения и анализа данных.

Где найти больше open source проектов?

Один из самых крупных веб-сервисов для совместной разработки IT-проектов. Абсолютно бесплатен для open source проектов. Девиз сервиса “Social coding” можно перевести, как “Кодим вместе”.

Предназначен популяризовать open source проекты. С помощью инструментов, которые там предоставлены, разработчики создали мощное программное обеспечение в более чем 430,000 проектах; на ресурсе более 3,7 млн зарегистрированных пользователей. Популярный каталог объединяет более 41,8 млн клиентов с проектами open source и обслуживает более 4800000 скачиваний в день.

Цель Fossdroid — продвигать open source приложения на Android с помощью проекта F-Droid. Fossdroid берет свои данные из F-Droid и организует приложения в порядке, похожем на Google Play, с возможностью просмотра их по популярности.

Читайте также:  Почему нельзя редактировать сообщения в контакте

Как узнать является ли ПО open source и каковы правила его использования?

Необходимо понимать, что не все open source проекты могут быть использованы в коммерческих целях или свободно модифицированы.Чтобы узнать, является ли ПО open source и каковы правила его использования, нужно посмотреть его лицензию. Обычно полный ее текст находится непосредственно в коде.

Тем, кто хочет стать программистом, рекомендуем профессию «Веб-разработчик».

С помощью open source проектов можно усовершенствовать свои навыки, исправляя чужие ошибки и создавая что-то новое. Можно найти проект, который будет полезен и для собственного бизнеса, например, в медицине или e-commerce. Кроме того, как говорят практикующие программисты, один из лучших способов мотивировать себя на занятия программированием — это работа с open source проектами. Специально для читателей блога Geekbrains мы собрали список таких проектов из разных сфер деятельности:

Пакет программного обеспечения для работы с медицинскими изображениями. 3D Slicer доступен на нескольких платформах, в числе которых Windows, Linux и OS X.

Инструмент, который позволяет распределять обработку больших массивов данных по кластерам компьютеров с помощью простых моделей программирования.

Популярный пакет программного обеспечения для работы с текстом, создания электронных таблиц, презентаций, графики, баз данных и т.д. Полностью открытый процесс разработки означает, что кто угодно может сообщать об ошибках, запрашивать новые возможности или улучшать программное обеспечение. Он написан в международном open standard формате, поэтому воспринимает файлы из других открытых офисных программных пакетов.

Coder (для Raspberry Pi)

Экспериментальный проект для Raspberry Pi, созданный небольшой группой сотрудников Google в Нью-Йорке. Это бесплатная часть программного обеспечения, которое превращает Raspberry Pi в простой личный веб-сервер и веб-среду для разработки — только то, что нужно для крафта HTML, CSS, Javascript, когда вы учитесь программировать. Установка для начала работы займет не больше десяти минут.

Платформа для управления контентом, на которой работают миллионы веб-сайтов и приложений.

Менеджер для работы с медиаданными, предназначенный для создания больших централизованных медиа-библиотек.

Свободная операционная система типа Unix.

Офисный пакет для совместной разработки с функционалом, как у Microsoft Office или OpenOffice.org.

Система для создания курсов. Бесплатное веб-приложение, которое преподаватели могут использовать для создания эффективных Интернет-сайтов для обучения. Moodle стала очень популярной среди педагогов по всему миру в качестве инструмента для создания динамических веб-сайтов для своих студентов.

ПО для создания и управления обучающим аудио и видео контентом.

Мультиплатформенная система управления корпоративным контентом написанная на Java. Работает с несколькими базами данных (в том числе MySQL, Oracle, PostgreSQL, SQLLite, и другие), а также поддерживает несколько методов аутентификации.

Софт для создания частных и общественных облаков.

Сервис позволяет создавать опросы и делиться с контактами на сайте. Удобный способ собирать данные для их последующего анализа.

DICOM-сервер для здравоохранения и медицинских исследований. Предназначен для облегчения управления данными медицинских изображений. Хороший инструмент для автоматизации медицинских задач визуализации, специфических для каждого медучреждения.

Проект создан силами Open Source сообщества и предназначен для обеспечения лучших решений для предприятий с помощью бизнес аналитики.
Основные области применения:

  • создание отчетов
  • анализ
  • сбор Данных
  • платформа бизнес-аналитики

Java™ разработчики могут использовать компоненты проекта для быстрого создания собственных решений для бизнес аналитики.

Модульная open source система управления цифровыми данными.

Бесплатный софт для e-commerce.

Библиотека для быстрого фильтрования и сортировки больших коллекций — до 100000 элементов в браузере.

Языки c open source

Язык программирования с открытым исходным кодом и среда разработки для людей, которые хотят создавать изображения и анимацию.

R — открытый язык программирования и программная среда для статистических расчетов и графики. Язык R широко используется среди статистов для разработки статистического программного обеспечения и анализа данных.

Где найти больше open source проектов?

Один из самых крупных веб-сервисов для совместной разработки IT-проектов. Абсолютно бесплатен для open source проектов. Девиз сервиса “Social coding” можно перевести, как “Кодим вместе”.

Читайте также:  Программа для hasp ключа

Предназначен популяризовать open source проекты. С помощью инструментов, которые там предоставлены, разработчики создали мощное программное обеспечение в более чем 430,000 проектах; на ресурсе более 3,7 млн зарегистрированных пользователей. Популярный каталог объединяет более 41,8 млн клиентов с проектами open source и обслуживает более 4800000 скачиваний в день.

Цель Fossdroid — продвигать open source приложения на Android с помощью проекта F-Droid. Fossdroid берет свои данные из F-Droid и организует приложения в порядке, похожем на Google Play, с возможностью просмотра их по популярности.

Как узнать является ли ПО open source и каковы правила его использования?

Необходимо понимать, что не все open source проекты могут быть использованы в коммерческих целях или свободно модифицированы.Чтобы узнать, является ли ПО open source и каковы правила его использования, нужно посмотреть его лицензию. Обычно полный ее текст находится непосредственно в коде.

Тем, кто хочет стать программистом, рекомендуем профессию «Веб-разработчик».

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

После моего недавнего поста «Для тех, у кого это впервые», я получил массу писем и сообщений с вопросом: «В каком открытом проекте вы посоветуете поучаствовать?». В этом посте я попробую дать ответ на этот вопрос, а также сформулировать несколько рекомендаций относительно первых шагов в опенсорсе.

В наиболее общем виде ответ звучит так:

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

Лично мне больше всего удовлетворения приносит работа над проектами, которые важны для меня и моих знакомых. Второй ключ к успеху – работа на постоянной основе. Регулярная работа над проектом потребует понимания особенностей использования ПО и тех проблем, для решения которых оно было создано — знакомство с софтом с позиции пользователя в этом очень помогает.

Какие открытые библиотеки, фреймворки или инструменты вы применяете чаще всего? Может, вы работаете с Grunt, Gulp, Webpack или Browserify, и вам кажется, что они могли бы быть улучшены или задокументированы точнее. Или, вероятно, вы применяете библиотеку React или модуль Angular – их тоже можно немного отполировать. Вы наверняка используете какое-либо опенсорс ПО — и его улучшение может вам в чем-то помочь.

Первые шаги

Как только вы определились с проектом, в котором будете участвовать, возникает второй вопрос: «А с какой стороны за него браться»? У многих проектов есть файл CONTRIBUTING. Заглянув в него, вы обнаружите инструкции по участию в проекте. Если отдельного файла нет, то соответствующие инструкции могут быть в README (обычно расположен на домашней странице проекта). А если нет ни того ни другого, то можно отправить пулл реквест на добавление хотя бы скелетного файла CONTRIBUTING.md, чтобы начать переговоры о добавлении полноценных инструкций.

Познакомьтесь с проектом ближе. Чтение документации это хорошо, но мне больше нравится узнавать проект по коду. Мой любимый способ – влезть в обращения к функциям через дебаггер. К примеру, что случиться, если обратиться angular.module?

Посмотрев код, вы поймёте многое о принципах работы библиотеки или фреймворка. То же самое вы можете делать и с локальными инструментами, используя ваш любимый отладчик узлов (или просто добавив console.logs). Не переживайте, если с ходу что-то останется непонятным. Не сдавайтесь — вам это под силу!

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

Читайте также:  Как вырезать себя в фотошопе

Если у вас есть собственные соображения об исправлении бага или фичи, которую вам хотелось бы претворить в жизнь, я настоятельно рекомендую сначала обсудить её с куратором(ами) на GitHub issue. Может они скажут, что она лежит вне сферы интересов проекта или уже находится в разработке, а может, подскажут, какого рода изменения они хотели бы видеть в программном коде. Вы потратите гораздо меньше времени, убедившись, что ваш пулл реквест будет принят, прежде чем браться за его оформление (точно также прежде чем сделать предложение своей жене, я сначала сделал все для того, чтобы ответ был “да”)

Ваш первый пулл реквест

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

Также вам может быть интересна серия постов о том, как участвовать в опенсорс проектах на GitHub: https://blog.kentcdodds.com/introducing-how-to-contribute-to-open-source-be67917eb704.

Дополнительные материалы

Загляните на GitHub’s issues в поисках тикетов, отмеченных first-timers-only, good for beginners, good first bug (или good-first-bug), или help wanted. Есть и другие ресурсы для поиска простых путей участия в проектах:

  • twitter.com/yourfirstpr
  • twitter.com/first_tmrs_only
  • 24pullrequests.com
  • up-for-grabs.net/#
  • github.com/MunGell/awesome-for-beginners

Моим первым пулл реквестом стал запрос на исправление опечатки в комментарии. Он был очень маленьким и относился к проекту, которым я почти не пользовался (обнаружил опечатку, шастая по коду в дебаггере). Это был хороший первый вклад, хоть он и не особо повлиял на проект, а я не особо стремился продолжать участие в нём. Я перешагнул пропасть между отсутствием и наличием первого вклада, и это главное.

Заключение

Мне очень нравится участвовать в опенсорс проектах, и я всячески советую испытать на себе этот опыт. Да, начать непросто, но после того как вы сделаете первый шаг все последующие будут даваться значительно легче. Конечно, не всегда всё идёт как по маслу. У опенсорс сообщества есть свои причуды. Не обращайте на них внимания, просто продолжайте работать. Всё обязательно получится! Удачи!

Наверно много кто хотел бы поучаствовать в Open Source проектах, но куда и к кому обратиться, увы, не знают… Поэтому решил создать вопрос, чтобы сюда могли скинуть информацию о таких проектах (ссылку, кто нужен и т.д.) Надеюсь такие обитают на Хабре и дадут знать.

В комментариях к этому посту написали об одном проекте: jtalks.org — пишут на джаве движок для форумов, блогов и т.п. В основном участвуют Junior’ы.

  • Вопрос задан более трёх лет назад
  • 13193 просмотра

В целом, Вы очень-очень правы. Но, например, у меня такие проблемы при работе с ПО, которые я не смогу сам решить. Или это потребует столько времени, что решение станет уже неактуальным. (Например, мне бы очень хотелось расширить язык C#: добавить макросы и некоторые новые ключевые слова.) Не верю, что смог бы реализовать.

Бывают случаи, когда мне удаётся найти такие осмысленные задачи, которые решаемы, но это происходит нечасто. Последний на моей памяти минипроект делал для жены года полтора назад. Ей на работе требовалось агрегировать и сверять табели учёта рабочего времени, полученные из нескольких разных источников. Написал программку очень быстро, а сопровождал (поддержка, багфиксы) полгода. Затем баги, вроде, кончились. Теперь так и работает.

С тех пор проекта для решения задачи «из жизни», к сожалению, не нашлось.

Рекомендуем к прочтению

Добавить комментарий

Ваш адрес email не будет опубликован.