open source что это такое
В чем смысл open source?
Хабр, привет! Я Юра, руководитель платформенной команды inDriver. В IT уже более 12 лет, на iOS пишу 7 лет. В этой статье обращусь к принципам и целям open source. Мы разберемся с его лицензиями, посмотрим на рынок и государственное участие в этом процессе. Добро пожаловать под кат!
Содержание
Минутка истории
Начну с определения того, что такое open source. Это открытое программное обеспечение, исходный код которого доступен для просмотра, изучения, изменения и позволяет убедиться в отсутствии уязвимостей.
Попробуем разобраться с корнями определения. Есть 2 термина: free software и open source. Термин open source был использован в качестве определения в 1998 году Эриком Реймондом и Брюсом Перенсом. Они утверждали, что термин free software (свободное программное обеспечение) в английском языке неоднозначен и смущает многих коммерческих предпринимателей.
Эрик Реймонд и Брюс Перенс
Но откуда же пошли эти термины? В 1985 году появился Free Software Foundation. Он возник благодаря трудам разработчика Ричарда Столлмана, который присоединился к лаборатории искусственного интеллекта при Массачусетском технологическом институте. Столлман принимал участие в работе над свободным ПО (например, над Emacs — текстовым редактором для мини-компьютеров). Позднее редактор продали коммерческому дистрибьютору, и в 1984 году Столлман решил основать проект свободного ПО под названием GNU.
Ричард Столлман
Если не знали, GNU — во-первых, рекурсивный акроним — GNU’s Not UNIX, во-вторых, ОС типа UNIX с набором свободных программ. В рамках проекта энтузиасты придумали термин «свободное ПО» и сформулировали его критерии: использование, изучение, шеринг и улучшение.
4 основных принципа
В 1985 году Столлман основал фонд Free Software Foundation для развития свободного ПО за счет пожертвований. Цель организации — способствовать свободе пользователей компьютеров во всем мире. Фонд взял на себя задачу защиты прав всех пользователей программного обеспечения.
Философия фонда строится на 4 основных свободах:
Свобода запускать программу в любых целях (свобода 0).
Свобода изучения работы программы и ее адаптация к вашим нуждам (свобода 1). Доступ к исходным текстам является необходимым условием.
Свобода распространять копии, так что вы можете помочь вашему товарищу (свобода 2).
Свобода улучшать программу и публиковать ваши улучшения, так что все общество выиграет от этого (свобода 3). Доступ к исходным текстам является необходимым условием.
Программа свободна, если у ее пользователей есть 4 вышеупомянутых пункта. Все достаточно прозрачно и позитивно. Но здесь накладываются взаимоотношения между разработчиками в юридическом плане и в рамках государства. Свободная программа часто не значит «некоммерческая», она может быть доступна для коммерческого применения и распространения. Это правило фундаментально важно, без этого свободные программы не могли бы достичь своих целей.
В англоязычных текстах free означает не только «свободное», но и «бесплатное». Оно нередко употребляется к бесплатному программному обеспечению, которое распространяется без взимания платы, но недоступно для изменения. Получается, такое ПО не является свободным.
Чтобы устранить недоразумения, как раз и был придуман термин open source. Его сформулировала некоммерческая организация Open Source Initiative, которая была основана вышеупомянутыми Реймондом и Перенсом.
Логотип организации
В середине 1990-х годов в open source пришла первая крупная компания — Netscape. Ее браузер Netscape Navigator был одним из самых популярных в мире, но с появлением Internet Explorer стал вытесняться с рынка.
В 1998 году в Netscape решили открыть исходный код своего браузера. Год спустя компании не стало, но исходный код Navigator лег в основу одного из самых популярных современных браузеров — Mozilla Firefox. В том же 1998 году возникла Open Source Initiative, которая и начала заниматься популяризацией открытого исходного кода.
Интерфейс Netscape Navigator
Основатели Open Source Initiative придумали альтернативу free software и сделали больший упор на open source. То есть это не свободное ПО, а ПО с открытым исходным кодом. Разработчики написали определение, описали более подробно, что такое open source и на чем он зиждется.
По их мнению, открытый исходный код — не просто доступ к исходному коду, но и условия распространения программного обеспечения с открытым исходным кодом. Также Реймонд и Перенс задекларировали 3 важных критерия:
Лицензия не должна ограничивать любую сторону от продажи или раздачи программного обеспечения как компонента совокупного распространения.
Лицензия не требует лицензионных или иных сборов за такую продажу.
Программа должна включать исходный код и допускать распространение в исходном коде, а также в скомпилированном формате.
Эти постулаты были частично взяты из Debian Free Software Guidelines. Я не буду их раскрывать по части дискриминации и лицензий, но после этого начинается постепенное развитие open source от одной некоммерческой организации к другой.
dino
Кстати, еще одно достоинство Open Source Initiative — репозиторий SourceForge для программ с открытым исходным кодом. Помню его с домобильной эпохи по скачиванию архиваторов на Windows, но сейчас он уже не столь популярен.
Лицензии
Расскажу немного о взаимоотношениях разработчиков открытого исходного кода, а также под какими лицензиями этот исходный код распространяется сейчас. Выделяют 4 категории:
1. Public Domain. Категория лицензий, которые относятся к творческим материалам. Они не защищены законами об интеллектуальной собственности или авторском праве, о товарных знаках или патентах. Эти работы принадлежат публике, а не отдельному автору или художнику. Кто угодно может использовать произведение, являющееся общественным достоянием, без получения разрешения.
Пример такой лицензии — СС0 от Creative Commons
2. Permissive. Это лицензии на программное обеспечение, которые практически не ограничивают свободу действий пользователей ПО и разработчиков, работающих с исходным кодом. В отличие от других лицензий, они не являются копилефтными. По духу похожи на Public Domain, но не требуют отказа от авторского права.
3. Copyleft. Это лицензии, которые требуют, чтобы распространение продукта подчинялось той же лицензии, что и оригинал. То есть нельзя делать проприетарным этот софт.
4. Proprietary. Это вид лицензий, который является частной собственностью авторов или правообладателей и не удовлетворяет критериям свободного ПО. Правообладатель сохраняет за собой монополию на его использование, копирование, модификацию.
Рынок
Теперь о многообразии open source-проектов. Open source участвует практически во всех сферах, начиная от мобилок и заканчивая блокчейном и искусственным интеллектом.
Простой пример. Android, операционная система, 2,5 миллиарда активных устройств, огромнейший рынок, который построен на open source. В вебе это WordPress, на котором крутится более 40% сайтов в интернете. В бэкэнде, инфраструктуре — NGINX и Kubernetes, используются для оркестрации нагрузки, контейнеров, являются стандартами индустрии. В AI это TensorFlow — платформа, которая используется для машинного обучения. Для блокчейна это Ethereum — платформа, которая лежит в основе многих криптовалют.
Многие индивидуальные разработчики делают вклад в open source не менее значимый, чем корпорации. Благодаря Линусу Торвальдсу появился Linux. Микаэль Видениус создал, наверное, самую популярную у веб-разработчиков базу данных — MySQL, а Майкл Стоунбрейкер с командой из Беркли — PostgreSQL.
Если переходить к корпорациям, все крупные IT-игроки понимают важность open source-проектов. Как пример приведу исследования компании Red Hat. Она ежегодно опрашивает более 1 000 компаний и делает обзор рынка, куда IT двигается и как меняется. Согласно последнему исследованию, 90% опрошенных респондентов считают, что open source играет важную роль в технологиях корпораций. Наиболее распространенные пути использования open source в корпоративном секторе: IT-инфраструктура, разработка приложений, цифровая трансформация. За 2 года эти показатели увеличились на 11%.
Почему корпорации идут в open source? В первую очередь, участие в открытых проектах позволяет привлечь внимание не только к этому проекту, но и к другим своим программам. Вовлечение открытого сообщества в проекты компаний делает проще найм сотрудников и позволяет удерживать таланты внутри компании. Мотивационная часть также важна — поддержка проектов извне мотивирует разработчиков активнее их развивать.
Но есть и минусы. Открытый код может использоваться в тех проектах, о которых его авторы даже не подозревают. Если проект многокомпонентный и собран из большого числа подмодулей, в цепочке зависимостей легко может возникнуть дыра в безопасности, которую долго могут не замечать.
Russia Open Source
Перейдем к российским реалиям. 1 октября 2021 года Министерство цифрового развития России и крупные IT-компании обсудили стратегию работы с открытым кодом до 2024 года.
Целями развития программного обеспечения с открытым кодом в России являются:
Развитие стека продуктов для госсектора. Обеспечение безопасного использования в нем компонентов с открытым кодом.
Повышение эффективности цифровизации государственных органов благодаря повторному использованию программного кода, разработанного за бюджетные средства.
Также при создании стратегии идут отсылки к опыту других стран. В США, согласно политике, принятой в 2016 году, публикуют не менее 20% исходного кода правительственного ПО под открытыми лицензиями.
В Евросоюзе тоже есть стратегия развития открытого ПО с упоминанием технологического суверенитета. Китай способствует созданию независимой экосистемы. В частности, реализует свои варианты открытых операционных систем: например, HarmonyOS. Есть аналоги Java, PostgreSQL, GitHub.
В России создается некоммерческая организация, которая будет поддерживать репозиторий, куда будут выкладываться лицензии. Создается аналог открытой лицензии, под которой все будет выкладываться. Более подробно можно прочитать в проекте стратегии.
Hacktoberfest
Hacktoberfest — это фестиваль поддержки open source-комьюнити с целью мотивации разработчиков улучшать проекты с открытым исходным кодом. Он ежегодно проводится в октябре. Open source-проекты — вариант устроиться на работу, развивать личный бренд или просто отразить свои знания в коде.
Участники должны сделать 4 пул-реквеста на GitHub или GitLab. Предварительно, конечно же, зарегистрироваться на сайте.
Один из этапов регистрации
Из нюансов — вы можете контрибьютить в свои собственные репозитории, необязательно развивать сторонний проект. Неважно и то, на каком языке вы программируете. Можно выбрать ваш любимый продукт или open source-проект, посмотреть issues, которые можно закрыть, и даже поправить документацию. Вариантов много, выбор остается за вами.
Из личных примеров: когда устраивался в inDriver сделал open source-проект под «Роскачество». В свое время в маркете было приложение «Роскачество», где российская лаборатория тестировала и проверяла продукты, но визуальная реализация оставляла желать лучшего. Заодно попробовал новую архитектуру, новые технологии, которые появлялись в iOS (например, Swift UI с однонаправленной архитектурой). Это стало долгосрочным полезным вкладом.
Логотип UDF
Наконец, приглашаю всех поучаствовать в развитии open source-проекта inDriver. Мы опубликовали iOS-архитектуру c Redux-парадигмой. Конечно, это не первая реализация однонаправленной архитектуры, но у нее есть ряд преимуществ: адаптация под UI Kit, модуляризируемая, с апробацией в крупном проекте. Подробнее про UDF можно прочитать в статьях моего коллеги Антона Гончарова на Хабре (часть 1 и часть 2).
У меня все. Спасибо, что читали. Задавайте ваши вопросы в комментариях.
Open Source — это что за термин? Объясняем основы для чайников
Open Source — это такой вид разработки программ, при котором исходный код остается доступным для всех. Абсолютно каждый может сделать с исходным кодом все, что пожелает:
внешне изменять и модифицировать программу;
добавлять или убирать какой-либо функционал;
создать свою версию программного обеспечения и зарабатывать на ее продаже.
Примерно так же происходит и в программировании.
Open Source — что это?
Опенсорс — это в первую очередь свобода распространения, деньги стоят на втором или на третьем плане, поэтому Open Source-продукт в основном бесплатный, но также может быть и платным.
Open Source — это особый вид лицензирования продукта, где главным пунктом является свободное распространение, но обязательное сохранение информации об авторстве программы.
История возникновения Open Source
Вот и получается, что первые Open Source-продукты зародились вместе с первым и компьютерами и были бесплатными. Потом продукты оставались «опенсорс», но за них уже бралась оплата. А первое официальное лицензирование коммерческих программных продуктов началось только в 1974-м году. У истоков проприетарной модели программного обеспечения стояла компания Microsoft, а чуть позже подключилась и Apple Computer Inc.
Open Source: наше время
Итак, с начала 80-х проприетарные программы перехватили доминирование на р ы нке ПО у Open Source-программ. При этом многих разработчиков это совсем не устраивало. Одним из таких Open Source-инициаторов был разработчик Ричард Столлм а н, который в 1984-м году вместе со своей командой создал первую по-настоящему открытую операционную систему GNU, которая была очень похожа на коммерческий продукт UNIX и составляла ему реальную альтернативу, так как могла устанавливаться на компьютеры, где устанавливался UNIX.
Однако, чтобы каким-либо образом защитить свое «свободное» ПО, тоже нужно был о предпринять какие-то шаги. Для этого команда Ричарда «поработала» над юридической составляющей своего продукта, например:
был придуман термин «свободное программное обеспечение»;
данному термину было предложено точное определение, что с таким ПО можно делать;
был опубликован целый манифест по ОС GNU.
При этом т а же команда:
к 1989-му году добилась создания первой версии лицензии GPL, которая работает до сих пор.
Преимущества и недостатки Open Source
В сети можно найти много разных описаний преимуществ и недостатков Open Source-проектов. Но оценивать опенсорс-индустрию в целом по меньшей мере неправильно. Правильней будет сравнивать конкретные продукты, например : ОС с ОС, офис с офисом, редактор с редактором, но точно не Microsoft и Linux.
Реакция на уязвимости. Многие считают, что в Open Source быстрее устраняют уязвимости, чем в проприетарном ПО. В некоторых Open Source-проектах так и есть — любая проблема мгновенно «латается», но в то же время есть опенсорс-проекты, которые месяцами не устраняют проблемы. Так же и в коммерческом ПО: одни исправляют все очень быстро, а другие месяцами ничего не делают. Так что это преимущество также нужно рассматривать на конкретной программе.
Заключение
пользоваться проприетарным MS Office или опенсорсным LibreOffice;
использовать монополист ическую Windows или свободный дистрибутив Линукс;
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.
Зачем тебе Open Source?
Привет! Меня зовут Дмитрий, я тренер по продуктам компании Arenadata и один из преподавателей в онлайн-школе для разработчиков в Open Source COMMoN, в которую сейчас идёт набор. Пока мы готовились к этому буткемпу (а я веду трек по Arenadata DB), я задумался: а что сегодня движет молодыми, которые выбирают для себя работу с открытым ПО? Я отлично помню, что двигало нами 20 лет назад… И отлично вижу, что сегодня всё не так. Тогда что? Попробовал разобраться — и вот что получилось (под катом).
Фото Александра Копилова, SpBLUG, 2019г.
Здесь будет немного истории Open Source (в том числе из личного опыта), мой взгляд на то, чем может быть полезно свободное ПО разработчикам сегодня, и немного спойлеров по моему треку для тех, кто решит присоединиться к школе.
Основы и немного истории
Открытость или закрытость ПО определяется лицензией. По факту она является договором правообладателя с пользователем и регулирует права последнего. Причём автор и правообладатель обычно не одно и то же лицо. Бизнес, построенный на продаже софта, нацелен на то, чтобы отдать пользователю только одно право — использовать софт (да и то с ограничениями).
В противовес этому появился свободный софт, создатели которого не преследовали коммерческие интересы. Лицензионные соглашения на такие продукты предусматривают право пользователя не только использовать продукт, но и исследовать исходный код, а также использовать его для создания нового программного обеспечения на его основе.
Вообще таких лицензий было много: BSD, MIT и т. д. Однако наиболее ярким явлением стала лицензия Free Software (не путать с Open Source), созданная сотрудником МТИ Ричардом Мэтью Cтоллманом (RMS) с группой единомышленников. Благодаря их работе появилось такое понятие, как GPL, или GNU General Public License — copyleft-лицензия (общедоступная) на свободное программное обеспечение. Её условием стало рекурсивное наследование лицензии на все проекты, которые создаются на основе или с использованием кода под свободной лицензией.
В Россию Open Source пришёл почти одновременно с проприетарным софтом. В СССР было собственное ПО, но в основном для больших или мини-ЭВМ (ЕС, СМ ЭВМ и т. д.), а также ПО для западных вычислительных систем производства IBM, DEC, HP и т. д. Модель распространения тоже была другой: либо просто ВЦ «делились» друг с другом, либо головные КБ / центральные НИИ передавали ПО в филиалы или партнёрские организации.
Незадолго до крушения Союза появились DOS, первые версии Windows, OS/2, офисное ПО и т. д. Почти в то же время появился и свободный софт: сначала — варианты BSD, позже — Linux и т. д. Тогда уже существовали Open Source-лицензии, например MIT/BSD. Однако наиболее активное развитие получило Free (libre) Software GNU/Linux под наиболее непримиримой свободной лицензией GNU/GPL. Эта лицензия стратифицировала модели разработки и распространения ПО, что, как я считаю, и позволило выжить свободному софту.
Вообще феномен Free Software касался не только разработки. Вокруг него сразу появилась целая экосистема. В частности, очень много людей, которые не являлись разработчиками, всё-таки вносили свой вклад в выживание и распространение этой модели. Если человек мог (и, главное, хотел) писать код, он писал. Если он был пользователем такого софта (например, системным администратором), он просто помогал другим в работе с этим ПО. Сформировалось множество сообществ и просто отдельных людей, которые участвовали в жизни экосистемы.
Например:
2005 год. В городе Архыз RnDLUG (Ростов-на-Дону) и NCLUG (Северо-Кавказская группа) при поддержке IBM провели трёхдневный форум, в котором участвовало около 50 специалистов из разных городов России.
OpenSourceForum All LUG 2005 г. Фото из личного архива (я тут тоже есть) 🙂
2010 год. В Ростове-на-Дону в рамках государственной программы «Школьный линукс» RnDLUG помогали школам в установке свободного ПО (развернули школьный дистрибутив AltLinux в 25 школах).
Школьный проект RnDLUG 2010 г. Фото из личного архива
2019 год. В Санкт-Петербурге SpBLUG на одну из очередных конференций пригласили Ричарда Мэттью Столлмана.
Ричард Мэттью Столлман в SpBLUG. Фото Александра Копилова, SpBLUG, 2019г.
В это время сторонники Free Software практически не зарабатывали на нём. Скорее, это делалось ради удовольствия от процесса созидания, J4F или в академической среде как часть учебной или научной деятельности. Однако позже FLOSS-лицензии (Free-Libre Open Source Software) стали мягче. Появилась возможность использовать свободное ПО в проприетарных продуктах без обязательного открытия кода LGPL и т. д. Кроме того, появились лицензии OSI (Open Source Initiative). Они и перекинули мостик между двумя мирами: открытого и проприетарного ПО.
К тому времени уже было накоплено довольно большое количество ПО с открытым кодом. Крупные вендоры начали вкладывать в развитие Open Source, появились фонды для финансирования отдельных, наиболее важных направлений развития такого софта (FSF, The Document Foundation и другие).
Ну и, наконец, большие корпорации стали напрямую участвовать в разработке свободного ПО. За последние 12 лет в десятку ведущих коммитеров в код ядра Linux вошли такие компании, как Intel, RedHat, IBM, Suse, Linaro, Google и Samsung. Как следствие, на основе проектов с открытым кодом стали массово появляться коммерческие проекты. В качестве забавного примера приведу историю с закрытием бага №1 в багтрекере Ubuntu — «У Microsoft сегодня самая большая доля на рынке». В 2013 г. сам же Марк Шаттлворт закрыл его в связи тем, что с приходом Android (кстати, созданным Google на основе ядра Linux) доля Windows стала ниже 50%.
Постепенно появилось много самых разных и вполне конкурентоспособных продуктов с открытым кодом: СУБД, операционные системы, офисные пакеты, графические и 3D-редакторы, научное и аналитическое ПО и многое, многое другое. И это ПО не хуже, а иногда и лучше, чем проприетарное, справляется с разными бизнес-задачами.
Интерес к Open Source продолжает расти. В последние несколько лет на мировом рынке произошла череда крупных слияний и поглощений (Microsoft&GitHub, IBM&RedHat, Cloudera&Hortonworks и др.), а международные венчурные фонды прямо заговорили о том, что сегодня самое лучшее время для создания бизнеса на базе открытого ПО.
В России использование свободного ПО тоже становится одной из главных возможностей роста (и для государства, и для бизнеса, и для разработчика). Примеров этому масса, начиная от нашумевшей истории веб-сервера Nginx и целой группы российских ОС (AltLinux, Rosa, AstraLinux и т. д.).
Зачем разработчику Open Source сегодня
А теперь давайте поговорим о том, чем сфера свободного ПО может быть интересна современному разработчику.
Ну, во-первых, это весело. Здесь я имею в виду, что мотивация пионеров свободного софта действует на молодое поколение разработчиков и сегодня. Правда, в меньшей степени, чем раньше. Почему? Хороший вопрос. Может, сменились приоритеты, может, всё потому, что сегодня коммерческое ПО переплелось со свободным, так что уже не всегда легко понять, где заканчивается одно и начинается другое… Не знаю.
Однако интерес к свободному ПО не исчез. На мой взгляд, он сместился от пассионарной потребности к осознанию того, что свободная лицензия не противоречит интересам как разработчика, так и бизнеса. И да — free software is not free beer.
Итак, чем вам может быть полезен Open Source сегодня?
Молодой разработчик что-то самостоятельно написал. Самостоятельно — это значит не под коммерческий заказ, а просто для себя. Такое обычно случается, когда свободного времени ещё много, например в студенческую пору. Что дальше делать с продуктом? Дать ему шанс выжить, а именно — вывести продукт как открытый проект. Если он станет интересен, открытая лицензия и бесплатный вариант поставки дадут возможность проекту пробиться в массы, приобрести сторонников и последователей. Некоторые успешные проекты начинались именно так.
Кейс № 2. Снова newbie, но с карьерными амбициями
Молодой разработчик пытается продвинуться в профессии. В серьёзные организации не берут: нет опыта, нет портфолио. В помощь идёт свободный софт. Участвуете в разработке сообществом конкретного проекта (там, скорее всего, вас возьмут на простенькие задачи). И спустя год работы есть что показать на собеседовании.
Кейс №3. Сотрудники, или как упростить жизнь себе и другим
Вы внедряете свободное ПО в контуре своего предприятия. В какой-то момент понимаете, что функционал вас немного не устраивает или находите небольшой баг. Можете просто ничего не делать и тихо мучиться, проклиная кривой открытый софт. Можете написать багрепорт или фичреквест и ждать, пока его исправят, тихо мучаясь и проклиная кривой открытый софт. А можете открыть исходники и поправить то, что вам мешает. В этом главное преимущество свободного ПО. Именно об этом говорится в притче «RMS и принтер Xerox». Если вы не просто исправите/дополните код для себя, но свяжетесь с разработчиками и сможете добавить свой код в исходный код проекта свободного ПО, это позволит пользоваться этой доработкой не только вам (в том числе и в новых версиях), но и всему community. И все счастливы, а вам +100 000 в карму и к з/п, весьма вероятно, тоже.
Кейс №4. Бизнес на открытом ПО
Свободное ПО не значит бесплатное ПО. Это значит, что если вы имеете большой объём экспертизы в области интеграции/внедрения/сопровождения какого-либо проекта Free Software, то вы можете оказывать услуги по перечисленным позициям, то есть помогать клиентам получать дополнительное value и зарабатывать на этих услугах. А если в какой-то момент вы создадите достаточно большое количество кода в процессе багфиксинга/фичреквестинга, можно форкнуть проект как собственный. Разумеется, не нарушая авторского права и рамок свободной лицензии. Тогда вы станете производителем российского софта 🙂
Кейс №5. Создатель проекта с открытым кодом
Вы давно знаете, что такое свободное ПО и пилите свой проект. Возможно, вы возлагаете на него надежды в плане бизнеса, а может быть, вы работаете над ним из любви к искусству. Если проект полезен сообществу, то, скорее всего, он будет востребован и у вас будет команда, а также круг пользователей продукта. Примеров масса: Олег Бартунов (PostgresPro), Игорь Сысоев (Nginx), Алексей Миловидов (ClickHouse) и очень много других популярных проектов.
Путь джедая: с чего начать и какие нужны скилы
Чтобы понять, какими инструментами и навыками должен владеть Open Source-разработчик, давайте посмотрим на структуру и элементы типового проекта открытого ПО. Центром всего является комьюнити со своей кодовой базой. У него обычно есть:
Для участия в процессе разработки от вас потребуются следующие скилы:
С чего начать, если по каким-то причинам вы решили принять участие в создании открытого ПО? Самое простое — связаться с разработчиками проекта и предложить свою помощь. Если конкретный проект ещё не выбрали или есть много других открытых вопросов, можно пойти поучиться. Например, в наш буткемп COMMoN.
Трек Arenadata
И, наконец, немного о том, чему можно будет научиться со мной на треке.
На своих лекциях я расскажу, как сейчас устроена современная разработка в Open Source в целом. Проиллюстрирую это на примере наших продуктов, построенных на базе нескольких международных и российских Open Source-проектов. Рассмотрим основные вопросы эксплуатации Open Source в процессе разработки, принципы создания и распространения проектов. Расскажу о современных подходах к построению DWH (Data Warehouse, хранилище данных); это важно, поскольку Open Source-технологии в них сегодня играют значимую роль.
Поскольку в основном все компоненты в целевых проектах работают в среде ОС Linux, то понимание принципов её работы и умение пользоваться утилитами системы — это тоже важная часть навыков. Поэтому первая часть теоретического курса будет посвящена ей. Рассмотрим устройство этой ОС, процессы установки, настройки, загрузки, важные утилиты, пакетные менеджеры и многое другое.
Вторая группа лекций будет посвящена целевым проектам с открытым исходным кодом (СУБД Greenplum/ADB и семейства поискового ПО OpenSearch). Поговорим о том, что такое DWH и единая платформа данных в современном представлении, как разворачивать ADB и OpenSearch, посмотрим примеры использования этих продуктов, утилиты, проблематику и важные плагины.
Чему мы не будем учиться, так это программированию. Предполагается, что на входе у вас достаточно развиты навыки программирования на одном (желательно Java) или более ЯП.
Главная цель нашей работы — выпускной проект. Участники трека самостоятельно решат конкретную актуальную для проекта задачу, которую потом можно будет показать в своём портфолио. На нашем треке задания, соответственно, будут направлены на решение актуальных проблем в Greenplum и OpenSearch.
Для его выполнения будет необходимо изучить предметную область, хорошо проанализировать задачу и собственно разработать необходимый функционал. Вопросы по ходу обучения и разработки можно будет задать мне в групповом чате в Telegram. Ссылка придёт после прохождения входного тестирования (да, оно есть и довольно сложное!). Во время разбора теории, как и для практики, будем использовать наш виртуальный кластер Arenadata DB.
Ну и главное. Проекты буду оценивать с позиции практической значимости для общего дела. Лучшие команды получат разные призы от нас и возможность стажировки в Arenadata.
И раз уж речь зашла про стажировку, расскажу ещё немного о нас.
Arenadata — разработчик корпоративной платформы больших данных на базе технологий с открытым исходным кодом Arenadata EDP (Enterprise Data Platform).
Без ложной скромности, компания — один из крупнейших коммитеров Open Source-проектов в России. Мы регулярно вносим вклад в проекты Apache Software Foundation, участвуем в развитии Yandex ClickHouse и Tarantool. По количеству коммитов Greenplum мы второй в мире контрибьютор. Из наиболее значимых фич, привнесённых именно нашей командой, могу отметить алгоритм эффективного сжатия данных без дополнительной нагрузки на CPU Zstandard (ZSTD) и функцию pushdown в PXF (Platform Extension Framework), позволяющую многократно ускорить выполнение запроса на фильтрацию данных (они стали доступны community в Greenplum 6).
Вот, собственно, и всё.
Надеюсь, мой опыт вам пригодится, и буду рад видеть вас в нашей онлайн-школе.
Фото Александра Копилова, SpBLUG, 2019г.