Открытый исходный код: особенности и преимущества
Разрушаем мифы об Open Source продуктах
Понятие Open Source (или открытый исходный код) давно и прочно вошло в жизнь разработчиков, а вот обычных пользователей порой все еще ставит в тупик: отсутствие понимания рождает не только мифы, но и страх доверить судьбу своей компании открытым решениям (там ведь, говорят, никто никаких гарантий не дает!). Пора уже выходить из тупика незнания и разобраться, наконец, в особенностях и преимуществах проектов с открытым исходным кодом.
Проект с открытым исходным кодом НЕ значит полностью открытый проект, в который может запросто влезть любой желающий
Да, написать код может любой студент-энтузиаст из ближайшего радиотехнического — и даже ваш сосед Вася, если у него знаний хватит.
Но, во-первых, исходный код лишь одна из составляющих любого проекта, важная, но не единственная. Чтобы проект можно было назвать открытым и любой участник сообщества мог внести свой вклад в его развитие, должен быть свободный доступ и к другим составляющим проекта (программной документации, набору тестов и т. д.) — а также четко выстроенный процесс работы и понятная коммуникация между всеми участниками. Только в этом случае они смогут работать на благо проекта, не внося хаос и сумятицу.
Во-вторых, написанный код — не значит принятый в работу. Хороший пример: если вы напишите свой сценарий и отправите его режиссёру\издательству, не значит, что все тут же бросятся снимать фильм или выпускать книгу по написанному вами (а жаль:). То же самое с кодом: чтобы его включили в основной проект, он должен быть действительно лучшим и хорошо протестированным.
Открытый проект — это коллективная работа множества людей, и ни один из них не позволит в легкую уничтожить результат своего труда. Любые замечания, предложения и изменения будут многократно проверяться, тестироваться и дорабатываться — и лишь в том случае, если код пройдет все тесты и проверки, он будет принят.
На основе проектов с открытым исходным кодом активно разрабатываются коммерческие решения, которые могут включать закрытые компоненты
И именно закрытый функционал добавляет ценность каждому конкретному продукту, разработанному на основе одного и того же открытого проекта.
Проект с открытым исходным кодом НЕ равно абсолютно бесплатный проект
Важно понимать, что стоимость самого ПО — не единственная статья расходов, связанных с его использованием. После получения продукта с открытым исходным кодом, его, как и любое другое ПО, нужно установить, настроить и внедрить в работу, учитывая особенности каждого пользователя\компании. Также важно обучить пользователей работе с ним — и, при необходимости, постоянно оказывать техническую поддержку.
Отсюда вытекает и следующий пункт:
Открытые решения — это доступная техподдержка.
Оперативная, грамотная техподдержка — ключевой момент для любой компании, чья работа завязана на различных видах ПО, от операционных систем на компьютерах рядовых сотрудников до хостинга и CRM. И в этом плане проекты с открытым исходным кодом не уступают своим проприетарным (частным) и коммерческим коллегам. Если проект с открытым кодом крупный, поддерживать его могут как сообщество разработчиков, так и коммерческие компании. Последние по вашему желанию легко доработают проект и внедрят функционал, необходимый конкретно вам — ведь код открыт.
Так ERP-система Odoo — пример ПО с открытым исходным кодом. Наша компания обеспечивает клиентам полную техническую поддержку и, при необходимости, разрабатывает новые решения на основе исходного проекта.
По уровню безопасности проекты с открытым исходным кодом не уступают закрытым аналогам
Чего больше всего боятся пользователи, работая с любым ПО?
Хакерских атак и утечки данных. Поэтому чисто психологически проще довериться закрытой системе: код закрыт для посторонних, над проектом работает вполне конкретная команда разработчиков — а значит, внедрить вредоносный код практически невозможно. Другое дело открытая система — да там же любой желающий может влезть!
Отставить страхи и домыслы — давайте еще раз вспомним все, о чем мы говорили выше:
1. Мало написать код. Чтобы его включили в проект, он должен быть лучшим.
2. Тех самых программистов-энтузиастов, которые работают над проектом просто так, за идею, гораздо меньше, чем вы думаете. Чаще всего над открытыми проектами трудятся профессиональные разработчики — и даже целые отделы компаний, названия которых у всех на слуху. Они активно используют открытые решения для своих вполне коммерческих проектов — и любые нарушения безопасности в исходных проектах напрямую вредят не только их репутации, но и прибыли. Поэтому поверьте, они не меньше вас, конечных пользователей, заинтересованы в высоком качестве и безопасности открытых решений.
3. А если атака все же произошла? Увы, от этого никто не застрахован — вы наверняка и сами не раз читали новости о хакерских атаках на банки и госслужбы разных стран: а за безопасностью используемого ПО они следят как никто другой. Так вот, над закрытым проектом работает конкретная компания\команда разработчиков. Они — и только они — будут решать любые возникшие проблемы. Над открытым проектом работает целое сообщество разработчиков разного уровня, среди которых много профессионалов.
Качество открытого ПО всегда на высоком уровне
Некоторые по незнанию считают, что качество открытых проектов оставляет желать лучшего (просто потому, что написать код для них может любой желающий) — но доказать обратное очень просто:
1. Выше мы писали о том, что весь процесс разработки прозрачен, над проектом работает сообщество людей, а значит, некачественный код увидят другие участники. Не просто увидят, но проанализируют, подвергнут критике — и отправят на доработку. Если же халтура повторится — человек или компания могут просто-напросто потерять доверие и репутацию. А репутацией в нашей сфере дорожат.
2. Компании, которые разрабатывают коммерческие продукты на основе открытых решений, серьезно заинтересованы в качестве кода открытых проектов — поэтому в процессе тестирования и использования исправляют все найденные проблемы (и стараются добиться того, чтобы все изменения были внесены в основной код), а также работают над его улучшением. Так мы, работая с Odoo, постоянно тестируем все обновления и расширения и, в случае необходимости, оперативно сообщаем о найденных багах.
Мы постарались наглядно показать, что опасаться проектов с открытым исходным кодом не стоит. По уровню качества и безопасности они ничем не уступают закрытым системам — и даже имеют целый ряд преимуществ перед ними. Поэтому наш совет прост: не бойтесь доверять им.