На самом деле программы, устанавливаемые на ваши компьютеры, операционные системы, мобильные приложения, можно видоизменять и дополнять в зависимости от целей, приоритетов, интересов пользователей. Это возможно благодаря специальному программному обеспечению — Open Source Software. Давайте выясним, как появилась идея открытого программирования и в чём его преимущества.
Что представляет собой open source
Open source — это специальное программное обеспечение, исходный код которого можно не только досконально изучить, но и изменить, дополнить, преобразовать, а также использовать как основу для разработки других программ. Проще говоря, опенсорс предполагает открытость и доступность текста таких программ, чтобы их можно было дорабатывать и трансформировать под собственные задачи, при этом не нарушая авторских прав разработчиков. Такая концепция позволяет всем желающим проверить исходный код на наличие уязвимостей, в случае чего усовершенствовать его и обеспечить безопасность собственных данных.
Open source появился в качестве альтернативы проприетарному программному обеспечению с полностью закрытым кодом, то есть недоступным для просмотра и тем более исправления. Отличительные принципы open source следующие:
- отсутствие любых ограничений по продаже или бесплатному распространению ПО или отдельных его программ;
- продажа не предполагает выплат разработчикам за право использования продукта;
- ПО должно распространяться в исходном коде, не допускается его намеренное искажение;
- каждый желающий должен иметь возможность приобрести или получить такое ПО, не допускаются никакие формы дискриминации в отношении людей;
- возможность изменять, настраивать, модифицировать и преобразовывать ПО, на том же исходном коде разрабатывать другие программы и приложения.
Несмотря на то что open source — это максимально открытый и доступный для всех софт, он регламентируется специальными лицензиями. Так называют соглашения между двумя сторонами, то есть разработчиками и пользователями. Регулировать их взаимоотношения призвана, например, Public Domain — лицензия, которая относится к материалам, являющимся общественным достоянием, поэтому их могут использовать все желающие и не спрашивать на это разрешения. Кроме того, есть лицензии Permissive, Copyleft и другие, но отличаются они друг от друга лишь нюансами и тонкостями. В любом случае все программы с открытым исходным кодом предполагают возможность их изменять, свободно распространять и так далее.
Как появился open source и в чём его отличия от free software
В 1980-е годы появился так называемый предвестник опенсорса, который называли свободным программным обеспечением, или free software. Термин ввел в оборот разработчик, сотрудник Массачусетского технологического института Ричард Столлман. Несмотря на активное развитие IT-индустрии, широкое распространение компьютеров и высокий спрос на программы, он решил сделать как можно больше бесплатного софта, чтобы все желающие могли скачать нужное приложение и научились обходиться без коммерческих продуктов. Так, в противовес достаточно дорогостоящей Unix появилась GNU — первая свободная операционная система, созданная самим Столлманом и включающая в себя текстовый редактор, игры и другие прикладные программы.
Позднее Столлман с группой энтузиастов создали некоммерческий фонд Free Software Foundation для поддержки свободного программного обеспечения. Команда благотворительной организации собирала пожертвования, которыми потом расплачивалась с программистами. Разработчики создавали те самые бесплатные программы, и со временем их становилось всё больше и больше. Интересно, что Free Software Foundation существует до сих пор и следует своим главным принципам на протяжении уже нескольких десятилетий:
- свободное использование, что предполагает возможность запускать продукты free software в самых разных целях;
- свободное изучение — то есть доступность изменять, дополнять, исправлять и адаптировать программы под нужды конкретного пользователя;
- свободное распространение — право делиться исходным кодом или видоизмененной программой на усмотрение пользователя;
- свободное улучшение, то есть возможность дорабатывать программу без ограничений на пользу сообществу и при этом применять любые способы, инструменты и техники.
Однако со временем понятие свободного ПО стало размываться, поскольку в англоязычном пространстве free часто воспринималось прежде всего как нечто бесплатное. Так, появилось ошибочное мнение, что free software — это некоммерческий продукт, который может быть и недоступным для изучения и изменения. Но такое определение противоречит концепции свободного ПО. Для того чтобы устранить все неясности, программисты и энтузиасты свободного программного обеспечения Эрик Реймонд и Брюс Перенс предложили использовать термин open source, который предполагает программы с открытым исходным кодом.
Таким образом, опенсорс вовсе не обязательно является некоммерческим, его можно распространять и использовать на платной основе, или, проще говоря, продавать и покупать. Главное отличие в том, что оно всегда доступно для всевозможных модификаций и корректирования простыми пользователями, при этом не важно, купили они программу или получили бесплатно. Для продвижения концепции опенсорса тоже появился некоммерческий фонд — Open Source Initiative.
Примеры open source продуктов
Первым из них стал наиболее популярный в 1990-е годы браузер Netscape Communicator. Позднее его вытеснил Internet Explorer, а идея открытого ПО так и не стала массовой. Несмотря на это, концепция доступности объединяет большое количество людей, которые создают уникальные продукты, придерживаясь принципов open source.
Согласно данным недавнего исследования, посвященного положению ПО с открытым исходным кодом в настоящее время, большая часть IT-компаний активно использует его возможности. Например, самый известный open source проект — операционные системы Linux, а также свободно распространяемая система управления содержимым сайта WordPress, кросс-платформенное ПО Apache, сервер Nginx, система управления базами данных MySQL и даже веб-браузер Chromium, на основе которого работают привычные нам Google Chrome, Opera, Microsoft Edge.
Таким образом, благодаря системе open source IT-специалисты и простые пользователи со всего мира могут бесплатно находить, внедрять и использовать накопленный опыт в области разработок ПО и технологий в целом.
В чём еще преимущества open source
Участие в open source проектах выгодно как самим программистам, так и различным компаниям. Вот еще несколько причин, по которым разработчикам может быть полезно перейти на open source:
- совершенствование навыков, изучение чужих решений и поиск новых;
- совместная деятельность над проектом может улучшить профессиональные навыки, а также поспособствовать расширению деловых связей;
- возможность публиковать новые разработки и решения, находить отклик и получать обратную связь;
- возможность получать помощь от других разработчиков;
- шанс попробовать себя в новых технологиях и совершить открытие.
В свою очередь, организации — от самых локальных до мировых корпораций — получают свои преимущества от open source:
- высокая вероятность найти на просторах open source талантливых специалистов и предложить им сотрудничество;
- возможность улучшить имидж компании, поскольку вклад в концепцию open source действительно ценится на рынке IT-технологий;
- снижение затрат на разработку собственного ПО, ведь участники open source проектов бесплатно тестируют, дорабатывают и совершенствуют различные продукты.
Концепция open source не меньше внимания уделяет и простым пользователям, которые:
- экономят на программном обеспечении, а оно ничем не хуже платного;
- получают возможность контролировать конфиденциальность и быть уверенными в безопасности, поскольку большинство свободного ПО не требует от пользователей их личных данных;
- используют одновременно несколько браузеров и всевозможных платформ, так как продукты с открытым исходным кодом создаются сразу для нескольких площадок, чтобы их могли использовать пользователи разных операционных систем.
Всегда есть но
Тем не менее недостатки есть и у open source концепции. Одна из серьезных проблем, которая не поддается искоренению, заключается в высокой вероятности мошенничества. Открытые исходники могут попасть в руки злоумышленникам, тогда система будет взломана. Именно поэтому особое внимание разработчики уделяют безопасности, однако не всегда удается заметить уязвимые места и вовремя исправить ошибки, особенно если речь идет о масштабных разработках.
Кроме того, дополнительные сложности возникают из-за отсутствия необходимой документации. Речь идет о вспомогательных данных, например о том, какая помощь требуется в данном конкретном проекте, каким образом можно подключиться к нему и помочь, где находятся нужные данные, как их получить, и так далее. Удивительно, но именно из-за подобной неразберихи многие программисты отказываются от участия в open source разработках.
Как и отсутствие документации, так и возможность заморозки проекта являются следствиями недостаточного управления и руководства. Поэтому особенно важно собрать хорошую команду специалистов, направлять ее, следить за хранилищем данных и отмечать вклад в общее дело каждого участника группы.
И всё же главная, первостепенная проблема, которая порождает все вышеперечисленные, — это нехватка финансирования. Несмотря на то, что большинство участников open source проектов работают на чистом энтузиазме, то есть по собственной инициативе, любые разработки требуют вложений. Речь идет об оплате серверов, доменов, всевозможной инфраструктуры и дополнительных вспомогательных сервисов. Как правило, необходимые для этого средства поступают из благотворительных фондов, однако этого всё равно бывает недостаточно.
Рынок программного обеспечения с открытым исходным кодом с каждым годом возрастает и успешно конкурирует с платным и закрытым проприетарным софтом. Стать частью open source сообщества могут не только программисты. Поскольку это комьюнити энтузиастов, они приветствуют любой вклад в деятельность. Например, нужны специалисты, которые будут создавать и переводить документацию, придумывать дизайн, тестировать и искать недочеты в продуктах, проверять сервисы на безопасность и так далее. Open source позволяет абсолютно законно и при этом бесплатно (или, конечно, за символические суммы) пользоваться IT-продуктами высокого качества, а самим разработчикам — совершенствовать свои навыки, создавать уникальные продукты для собственных нужд и делиться открытиями с другими.
Поделитесь этим с друзьями!
Будьте первым, кто оставит комментарий
Пожалуйста, авторизируйтесь для возможности комментировать