|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Для начинающих разработчиков эти возможности тоже открыты. Существует множество международных проектов разработки свободного программного обеспечения, плоды труда которых можно применять при создании собственного софта. Например, компоненты для обеспечения харденинга (безопасности) ПО создают Kernel, Glibc, libssl, GCC и Open Wall Linux (OWL). Контроль цепочек зависимостей на основе RPM обеспечивает Apt RPM. Xcat – управление узлами, используемыми в суперкомпьютерах. Strace – отслеживание системных вызовов между процессом и операционной системой (ядром) и многие другие. Важно внимательно изучить, какие права будут предоставлены вам лицензионным договором на модификацию исходного программного продукта и распространение производного произведения. Разработчики, которые не уделили должного внимания лицензиям на исходные СПО-компоненты, рискуют получить неприятные сюрпризы, когда захотят коммерциализировать свой программный продукт. Например, если вы взяли за основу программный продукт под GNU GPL и модифицировали его, то производный продукт обязательно должны будете распространять тоже на условиях GNU GPL – лицензии, которая запрещает закрывать коды после их модификации. Таким образом воплощается принцип «наследования» прав, или «копилефт». «Все-в-одном»: репозиторийКрупнейшие проекты разработки свободного программного обеспечения ведут собственные репозитории программных пакетов. Репозиторий может обеспечивать не только хранение, но и сборку пакетов (в том числе доверенную), отслеживание зависимостей между пакетами, поддержку их версионности и т.п. В репозиторий включаются как собственные наработки проекта, так и сторонние СПО-компоненты, которые используются для создания программного продукта. Репозитории тесно связаны с инфраструктурой разработки ПО. Создавать программные продукты на основе репозитория могут не только его владельцы: как правило, он открыт для всех желающих, которые готовы соблюдать правила работы. Это взаимная выгода: репозиторий получает полезные, качественные разработки, а программисты – возможность пользоваться аккумулированными плодами чужого труда, причем «свежими» и лучшими плодами. Подобные репозитории ведут, например, крупнейшие проекты разработки операционных систем на основе ядра Linux: Red Hat, Debian, SUSE и отечественный репозиторий «Сизиф» (Sisyphus). Создание и поддержка собственного репозитория требует немалых финансовых затрат и серьезной организационной работы. Поэтому, создавая свой программный продукт, можно воспользоваться уже существующим репозиторием. Это потребует некоторых накладных расходов и соблюдения «правил игры», но взамен вы получите весьма ощутимые бонусы. Например, разработчикам, работающим с «Сизифом», открыт доступ практически ко всем хранящимся в нем разработкам, к технологиям и сборочным системам. Закрытые разработки, составляющие небольшую долю от общего объема, связаны, как правило, с обеспечением безопасности или обязательствами «Базальт СПО» (держателя репозитория) перед сторонними фирмами. Существенное преимущество работы с отечественным репозиторием – в том, что вам становятся доступны разработки отечественных программистов, которые не включаются в зарубежные репозитории. Например, вы можете собрать программу, которая будет работать не только на компьютерах Intel с архитектурой х86, но и на отечественных аппаратных платформах на базе микропроцессоров «Эльбрус», «Байкал», «Мультикор». Кроме того, вы избавляетесь от необходимости самостоятельно находить сторонние разделяемые библиотеки, необходимые для работы приложения. Актуальность этих библиотек надо постоянно поддерживать, что создает для разработчика дополнительный большой объем работ. Можно не включать в состав своего продукта сторонние разделяемые библиотеки, а пойти другим путем: вызывать их непосредственно из операционной системы. В дистрибутивах операционных систем семейства «Альт», которые развиваются на основе репозитория «Сизиф», содержится большое количество разделяемых библиотек, версии которых регулярно актуализируются. Другое преимущество – предсказуемая доверенная сборочная среда. Ни для кого не секрет, что не только зарубежное ПО, но и железо может содержать «закладки», обеспечивающие несанкционированный доступ к информационным ресурсам пользователей. Поэтому важно не только то, на каком оборудовании работает ваш софт, но и то, на каком он собран. Например, сборка на инфраструктуре «Сизифа» выполняется в «стерильном» окружении: в безопасной виртуальной зоне, которая специально создается для каждого пакета, и по завершении процесса уничтожается. Перспективно ли быть разработчиком свободного ПО?Наша страна пока что не лидер в области разработки свободного программного обеспечения. Нам всем памятен достаточно долгий период, когда отечественные программные продукты сравнивали с «Жигулями» и не рассматривали всерьез. Причем не были исключением случаи, когда отторжение отечественного ПО строилось по печально знаменитому принципу «Не читал, но осуждаю». Созданию негативного имиджа отечественного софта немало поспособствовали зарубежные вендоры – международные корпорации, которые располагали внушительными бюджетами и на разработку, и на массированные маркетинговые и PR-кампании. Сейчас ситуация постепенно начинает поворачиваться «с головы на ноги», события последних лет внушают надежду. В связи с курсом государства на технологическую независимость в сфере ИТ стали развиваться интересные проекты, связанные с СПО, сократился отток из страны сильных программистов. Соответственно, молодые люди получают возможность заниматься интересным делом в сильном профессиональном окружении и получать за свой труд достойное вознаграждение. В стране создано и развивается довольно много отечественных системных и прикладных решений, которые покрывают основные потребности заказчиков любого масштаба и отраслевой принадлежности. Многие из них создаются на основе свободного ПО. Фирмы-разработчики заинтересованы в привлечении в штат программистов, знакомых с СПО. Дополнительный импульс этой сфере придали появляющиеся государственные преференции для отечественных фирм-разработчиков – например, преференции на приобретение ПО органами госвласти в ходе открытых конкурсов. Подобные преференции, кстати, уже давно и успешно реализуются в других странах, обеспечивая поддержку местных производителей. Поэтому перспективы для молодых разработчиков, решивших связать свою профессиональную жизнь с СПО, безусловно, есть. «Покажи мне свой код»!Присоединиться к проектам разработки свободного программного обеспечения совсем несложно. Единственным «входным билетом» служит написанный вами код. «Покажи мне свой код!» – это требование, ставшее каноническим в среде СПО, неизменно предъявляет Линус Торвальдс к программистам, желающим присоединиться к проекту разработки ядра Linux. Когда «Базальт СПО» рассматривает кандидата в штат, нас интересуют не регалии человека, а его код. Кстати, нередко случается, что мы уже заочно знакомы с программистом по его коду. Аналогичную просьбу слышат и программисты, которые хотят, например, поместить свои разработки в репозиторий и распространять их в составе дистрибутивов операционной системы. Деньги vs имяСвободный продукт, если он удался разработчику, приносит ему известность и уважение в сообществе СПО. Если вы хотите заработать имя – создавайте открытый код и демонстрируйте его сообществу. Причем не обязательно создавать свой продукт, можно присоединиться к уже существующему СПО-проекту со своей идеей. Со временем имя начнет «работать» на вас: вы будете обнаруживать, что профессионалы, с которыми не были знакомы лично, уже знают вас «по коду», и это сильно облегчит взаимодействие с различными проектами.
Но будьте готовы к тому, что признание придет не сразу, и период «наработки» имени не будет сопровождаться высокими заработками. Вначале имя, а потом карьерный рост. Ждать готовы не все. Веяние сегодняшнего времени – создание стартапов, разрабатывающих решения с использованием компонентов СПО. Участие в таком проекте сильно повышает шансы быстро получить желаемое материальное вознаграждение. Но побочным эффектом становится ваша «обезличенность» для сообщества. В проектах, нацеленных на извлечение прибыли, известность обретают, как правило, не разработчики, а бизнесмены, которые организовали стартап, вложили в него деньги и продвигают продукт на рынок. Приемлемы оба пути. Просто надо выбрать, какой из них вам интереснее. А можно ли их совместить? Да, если бизнесмен, основавший стартап, не скрывает имен работающих с ним программистов. Это отнюдь не уникальная ситуация, но все же гораздо чаще программисты уходят на второй план. Еще один минус начала карьеры с коммерческого проекта – достаточно слабый стимул добиваться высокого качества кода. Одно дело, когда вы знаете, что коллеги увидят и оценят ваши разработки. И совсем другое, когда вы инкогнито для сообщества создаете код, к которому бизнес предъявляет одно требование: работоспособность. Выдавая «на гора» такой код, вы становитесь крепким благополучным ремесленником, но уменьшаете шансы стать уникальным мастером. Что важнее – каждый решает для себя.
Подпишитесь на журнал Комментарии отсутствуют
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|