Я начинающий системный администратор Linux и хотел бы внести свой вклад в разработку программного обеспечения с открытым исходным кодом, чтобы получить новые навыки и, если возможно, помочь другим людям. я нашел это SF вопрос и безуспешно искал в Google, как присоединиться к командам инфраструктуры CentOS или Snort. Лучше быть программистом, чтобы способствовать открытому исходному коду.
Может ли кто-нибудь помочь понять, с чего начать и чему я должен научиться, чтобы участвовать в проекте в качестве системного администратора?
Навыки программирования или, по крайней мере, навыки написания сценариев необходимы для наиболее заметных и важных ролей в этих проектах. Много работы уходит на то, чтобы такие вещи, как запуск, выполнялись быстрее или эффективнее, и для этого требуется немало скриптов bash.
Одна из областей, где навыки системного администратора действительно пригодятся, - это форумы поддержки. Разберитесь в этих областях и начните помогать другим людям. Это способствует развитию сообщества, может показаться, что это не так, но это делает всю экосистему приятнее для жизни.
Еще одно направление - участие в тестировании сборок разработки. Это потребует некоторого оборудования или хотя бы места для виртуальной машины, но обеспечит очень необходимую обратную связь для разработки о том, что работает, а что не работает, и предоставит вам много возможностей для устранения неполадок. Такой вид устранения неполадок - отличный способ лучше узнать свой проект. Делайте это достаточно долго, и вы отточите свои навыки достаточно, чтобы начать вносить исправления для исправления проблем или, может быть, даже освоить несколько редкий, но очень полезный (для сообщества) навык, такой как ручная упаковка RPM.
Вы можете отслеживать различные пакеты вашего любимого дистрибутива (или BSD) и просматривать обновления безопасности из апстрима. Отправляйте отчеты об ошибках для пакетов с уязвимостями и проверяйте их побочные эффекты в других пакетах системы.
Используйте виртуальную машину для всего тестирования, иначе вы сломаете свою систему :)
Узнайте, как создавать пакеты и философию проекта. Вам нужно будет показать свою ценность для других участников проекта (в течение месяцев или лет). Также изучите сценарий оболочки для автоматизации вашей работы.
Вот как системный администратор может внести свой вклад в GNOME.
Вы можете стать добровольцем в качестве тестировщика и составителя документации. Для настройки тестирования вам потребуются навыки системного администратора (и вы, вероятно, научитесь писать сценарии). Точка зрения системного администратора может быть очень полезной при написании документации для системных утилит, служб и приложений.
Все это отличные перспективы того, какой вклад вы можете внести как системный администратор. Хорошим первым шагом к поиску проекта с открытым исходным кодом, в котором можно было бы принять участие и внести свой вклад, является sourceforge.com. Это одно из самых популярных сообществ для этого.
Я также рекомендую github.com, он намного новее, но на нем есть несколько очень инновационных и активных проектов, и он ориентирован на объединение людей, занимающихся программированием с открытым исходным кодом.
Конечно, есть много других, но они отлично подходят для того, чтобы намочить ноги.
Вы также можете помочь некоторым проектам ОС, добавив серверные ресурсы. Есть множество проектов, у которых нет доступа к серверу сборки, серверу CI, серверу тестирования и т. Д. Вам не обязательно становиться веб-хостингом, просто предоставьте хотя бы один из них, и люди, стоящие за проектом, полюбят вас .
Чтобы найти проекты, которым это необходимо, возможно, вы могли бы начать с просмотра программ с открытым исходным кодом, которые вы используете. Подойдите к ним и посмотрите, заинтересованы ли они. Вы также можете поискать или поспрашивать, я знаю, что Drupal проект может использовать другой тестовый сервер.
Чтобы на самом деле запустить сервер, который нужен проекту, найдите недостаточно используемый сервер виртуальной машины и поместите его туда, обязательно подготовив его, чтобы он не убивал другие функции сервера виртуальной машины.