Одним из главных принципов, лежащих в основе движения за открытый исходный код, — Open Source, — является свобода распространения информации. Жизнестойкость этой идеи подтверждают примеры многих успешных проектов, развиваемых свободным сообществом программистов со всего мира. Наверное, кого-то это удивит, но мы тоже активно развиваем множество opensource-проектов. И недавно мы обнаружили, информация об этих проектах разбросана по сети, и разработчики одних продуктов могут совершенно не знать о других, которые могли бы оказаться для них полезными. Так и родилась идея создать информационный сайт OpenSource.Mail.Ru.
Сейчас мы продолжаем развивать ресурс и добавлять новые проекты. Наполнением страничек занимаются сами разработчики. Уверен, что большинство читателей слышали хотя бы про самые крупные наши opensource-проекты:
- Tarantool — уникальное решение, совмещающее неблокирующий сервер приложений на Lua с NoSQL базой данных. Храните свои данные близко к вычислениям. Высокой производительности позволяет достичь стек технологий, который использует тарантул. libev, libcoro и libeio для реализации event-loop'а, кооперативной многозадачности (coroutines/fibers) и асинхронной работы с сетью и другими задачами. LuaJIT — Трассирующий JIT-компилятор для Lua (на стероидах). Несколько недавних статей про Tarantool в нашем блоге:
Tarantool как сервер приложений
Строим сервисы на базе Nginx и Tarantool
Asyncio Tarantool Queue, вставай в очередь
Асинхронная работа с Tarantool на Python
- MAPS.ME — приложение для iOS, Android, Blackberry и т.п., позволяющее просматривать карты OpenStreetMap в офлайне, искать по ним объекты, сохранять их в закладки и/или отправлять их знакомым, прокладывать автомобильные и пешеходные маршруты. Бесплатное, можно скачать через AppStore или Google Play (полный список см. на официальном сайте). Также смотрите статьи в нашем блоге:
История роутинга в проекте MAPS.ME
Рендеринг в MAPS.ME
Пешеходный роутинг — новый вызов для OpenStreetMap
Под капотом рендеринга навигационных данных в MAPS.ME
Кроме этих всем известных «монстров» сотрудники нашей компании развивают и многие проекты меньше. Сейчас на OpenSource.Mail.Ru представлены:
- Centrifugo — сервер для обмена сообщениями в режиме реального времени, поддерживающий клиентские соединения по протоколу Websocket или использующих SockJS. Позволяет с минимальными усилиями реализовать приложения, требующие моментальной доставки сообщений клиентам, — чаты, нотификации, счетчики, игры и т.д. Сервер написан на языке Go и позволяет обслуживать тысячи одновременных соединений из браузеров или иных сред.
Centrifuge + Go = Centrifugo – harder, better, faster, stronger - Fest — это шаблонизатор общего назначения, компилирующий XML шаблоны в самодостаточные JavaScript функции. Для написания шаблонов используется XML. Можно использовать любую популярную IDE и множество инструментов, созданных за годы существования этого языка разметки.
- File API — это библиотека, предназначенная для работы с файлами на клиенте и последующей их загрузки на сервер. Основная сфера применения — загрузка и редактирование изображений.
- Mail.Ru Agent Notifications — плагин для JIRA, позволяющий отправлять уведомления в Mail.Ru Агент об изменениях в задачах, а также удобно работать с ними.
- Mail.Ru Calendar — плагин для JIRA, позволяющий наглядно отслеживать работы, отпуска и другие события, основанные на запросах в JIRA.
Календарь для JIRA с открытым исходным кодом - Sophia — встраиваемая транзакционная Key-Value СУБД Sophia, построенная с использованием новой архитектуры хранения данных, спроектированной, как ответ на недостатки LSM-деревьев.
- VaOceanMobile — шейдер океана для Unreal Engine 4, созданный специально для мобильных устройств. Материал полностью поддерживает PBR шейдинг и динамическое освещение.
- VaRest — плагин для движка Unreal Engine 4, созданный специально для работы с REST архитектурой. С помощью этого плагина общение с сервером путем HTTP/HTTPS-запросов значительно упрощается, и для управления запросами не требуется специальных знаний каких-либо языков программирования.
Сайт организован по принципу вики-ресурса. Если вам хотелось бы найти здесь какую-то дополнительную информацию о представленных проектах, пишите в комментариях.
Комментарии (40)
ivanych
15.12.2015 19:05+7Наверное, кого-то это удивит, но мы тоже активно развиваем множество opensource-проектов.
А когда вы говорите «мы», то вы кого имеете в виду? Какой вклад в эти проекты делает компания Мейл.Ру? Вы оплачиваете разработку этих проектов?AndreyMolchanov
15.12.2015 19:54+2Какими-то проектами (Tarantool, MAPS.ME) занимается Mail.Ru Group, какими-то (Centrifugo) наши сотрудники в свое личное время.
rtsisyk
16.12.2015 00:06+2За любыми серьезными open-source проектами в большинстве своем стоит какая-то организация, а то и не одна.
Все указанные проекты в том или ином виде поддерживаются Mail.Ru, как именно — это уже малоинтересные юридические тонкости.
Некоторые вещи были куплены за квазиллиарды денег и выложены в открытый доступ (Maps.Me), некоторые — написаны полностью внутри компании (tarantool.org).
deniskreshikhin
15.12.2015 20:10+8Наверное, кого-то это удивит, но мы тоже активно развиваем множество opensource-проектов.
Активно и множество — это конечно преувеличение. Правильно было бы иногда выкладываем некоторые.
Пример компании которая активно развивает множество opensource проектов github.com/mozilla
Причем штат и бюджет у них намного-много скромнее мейлрушного.rtsisyk
15.12.2015 23:53+3Надо понимать, что у Mail.Ru Group и Mozilla Foundation все же немного разный бизнес.
Основной продукт Mozilla — open source браузер Firefox — разрабатывается по полностью открытой модели разработки. Все утилиты, скрипты, документация, исходники сайта и прочее находятся в hg репозиториях на mozilla.org. А с учетом того, что проект реально очень (ОЧЕНЬ) большой, количество репозиториев просто зашкаливает по естественным причинам.
В Mail.Ru по аналогичной модели разрабатывается Tarantool. У нас точно также доступно всё до последнего байта, включая внутренние тулзлы, скрипты сборки и планы развития. И мы не занимаемся «выкладыванием» каких-то непонятных исходников. На GitHub ведется реальная разработка, в открытом режиме. Можно вот даже план на следующий релиз почитать: github.com/tarantool/tarantool/issues/1209.
Теперь ради интереса сравните количество сотрудников в Mozilla Corporation/Foundation и в Тарантуле. В одной только Mozilla Corporation более 1000 человек (см. википедию), тогда как в Tarantool можно по пальцам пересчитать. Да и бюджет не сотни лямов $$, как у Mozilla.deniskreshikhin
16.12.2015 00:53-6Во-первых, если сравнивать основной продукт Mozilla и основной продукт Mail.ru, то тогда и разговор можно закрыть сразу же. Т.к. все основные продукты у Mail.ru закрытые. Поэтому корректнее сравнивать в целом, а не по частям.
Во-вторых, у Mozilla все утилиты, скрипты, документация, исходники сайта и т.п. активно используются сторонними компаниями. Есть огромнейший список продуктов на основе этих библиотек и утилит www.mozilla.org/en-US/about/mozilla-based
В-третьих, Mozilla не является компанией одного продукта, это очень много продуктов кроме браузера — en.wikipedia.org/wiki/List_of_Mozilla_products
Ну и в общем-то претензий к Tarantool нет. Но факт остается фактом сотрудники Mail.ru в своем блоге выдают желаемое за действительное, т.к. вклад Mail.ru никак не соответствует заявлению, чтоНаверное, кого-то это удивит, но мы тоже активно развиваем множество opensource-проектов.
Т.е. вклад Mail.ru не сравним ни по количеству, ни по качеству с теми организациями которые действительно развивают множество open-source проектов: Mozilla Foundation, Apache Software Foundation, Canonical и т.д.
Что касается:
Теперь ради интереса сравните количество сотрудников в Mozilla Corporation/Foundation и в Тарантуле. В одной только Mozilla Corporation более 1000 человек (см. википедию), тогда как в Tarantool можно по пальцам пересчитать. Да и бюджет не сотни лямов $$, как у Mozilla.
Если сравнить команду Rust'а то количество разработчиков закомитивших 10К+ кода будет где-то 30 человек, а у вас в проекте таких коммитеров около 10 человек.
В общем-то какого-то адского разрыва не наблюдается. Хотя Rust это целая веха в программировании, в отличии от Tarantool.gaelpa
16.12.2015 06:13+2Вы как-то тоже странные компании выбираете для сравнения. Логичнее было бы сравнивать с другими коммерческими компаниями выпускающими условно-платные сервисы (а не изолированные продукты). Например, сравните с яндексом или вконтактом (или его считать частью mail.ru?).
rtsisyk
16.12.2015 12:06+9Mail.ru в своем блоге выдают желаемое за действительное, т.к. вклад Mail.ru никак не соответствует заявлению, что «мы тоже активно развиваем множество opensource-проектов».
Давайте разберемся детальнее.
мы тоже активно развиваем множество opensource-проектов
Как минимум в Maps.Me, Sophia и Tarantool коммиты идут постоянно, в том числе в выходные и праздники. У некоторых вон даже по 14к коммитов и миллионы строчек кода. Соответствует определению активно?
Новые фичи появляются? Пешеходную навигацию пробовали в Maps.Me? А мастер-мастер в Тарантуле? Развитие есть?
Десяток проектов соответствует определению множества проектов?
Код опубликован под OSI-approved open-source лицензиями на всеми любимом GitHub?
Вообщем, усомниться можно только в слове «тоже».
Т.е. вклад Mail.ru не сравним ни по количеству, ни по качеству с теми организациями которые действительно развивают множество open-source проектов: Mozilla Foundation, Apache Software Foundation, Canonical и т.д.
Разработка open-source продуктов у Mozilla, Apache, Canonical и прочих RedHat является их core business. У Mail.Ru Group немного другой бизнес (см. выше). Глупо сравнивать яблоки и апельсины, не так ведь?
Если сравнить команду Rust'а то количество разработчиков закомитивших 10К+ кода будет где-то 30 человек, а у вас в проекте таких коммитеров около 10 человек.
FYI, в Тарантуле гораздо больше 10к+ кода и меньше 10 человек.
Что там за новую веху в программировании открыл Rust прокомментировать никак не могу, т.к. узнал об данном событие буквально только что из комментариев.
deniskreshikhin
16.12.2015 12:44-3Разработка open-source продуктов у Mozilla, Apache, Canonical и прочих RedHat является их core business. У Mail.Ru Group немного другой бизнес (см. выше). Глупо сравнивать яблоки и апельсины, не так ведь?
С чего это? В Mozilla работают какие-то другие программисты или они ЗП получают крысиными хвостиками?
В Mail.ru работает около 3000 человек, при этом open-source проекты «активно развивают» 20-30 человек, если пройти по репозиториям. Поэтому фраза «активно развиваем множество open-source проектов» слишком претенциозна для такой закрытой компании.rtsisyk
16.12.2015 12:55+3Поэтому фраза «активно развиваем множество open-source проектов» слишком претенциозна для такой закрытой компании.
При общении с гос.структурами меня очень часто выручает фраза: «Прошу ответить по существу вопроса» ;)deniskreshikhin
16.12.2015 13:05-2Да сами же и ответили, что по-сути активно развиваются только 3 проекта, небольшими командами по 10 человек — Maps.Me, Sophia и Tarantool.
В то время как в Mail.ru в целом работает 3000 человек, сотни закрытых проектов.
Для Mail.ru активное развитие множество проектов это было бы десятки таких проектов с привлечением нескольких сотен штатных программистов. Сейчас это какое-то пассивное развитие для галочки.rtsisyk
16.12.2015 15:22+1Но факт остается фактом сотрудники Mail.ru в своем блоге выдают желаемое за действительное, т.к. вклад Mail.ru никак не соответствует заявлению, что «Наверное, кого-то это удивит, но мы тоже активно развиваем множество opensource-проектов.»
Фраза про несоответствует желаемого действительному не соответствует действительному.deniskreshikhin
16.12.2015 15:38-2Ну так опровергнете — приведите цифры, какой процент сотрудников Mail.ru активно развивает open-source проекты?
Без софистики.
dedokOne
16.12.2015 12:21'И кони и люди вместе' — очень странно сравнивать компании с абсолютно разными бизнес моделями. При чем тут Rust вообще не понятно.
Если есть большое желание сравнить open source от mail ru с кем-то, стоит поискать равную по масштабу c _одинаковой безнес моделью_ _интернет компанию_.
Более того если ты проведешь такое сравнение, конструктивное, я(и не только) буду очень рад почитать.deniskreshikhin
16.12.2015 12:34При чем тут Rust вообще не понятно.
Rust это open-source проект MozilladedokOne
16.12.2015 13:01Говорю, проведи анализ open source продуктов, при всех прочих равных, напиши статью, будет интересно почитать, возможно предложишь как что либо можно улучшить, а в таком виде, я про эту беседу, это не конструктивно.
Mozilla и MailRU сравнивать, мне, ну очень сложно. У Mozilla(и многих таких Foundation) модель бизнеса другая.deniskreshikhin
16.12.2015 13:08-4Слушай, что за тон? Ты не мой начальник, да я с тобой и не собираюсь беседовать.
dedokOne
16.12.2015 14:32-1Ничего такого не хотел, просто предлагаю тебе провести исследование, если у тебя будет желание, мне бы было интересно его прочесть.
Мой пойнт в том что нападать и нагнетать негатив не конструктивно, конструктивно если ты найдешь какие-то недостатки и покажешь их нам, но сравнивать так легко с Mozilla не могу я (и другие тоже) и не понимаю что ты этим хочешь сказать и как это поможет нам…
madesst
16.12.2015 11:54А из каких продуктов mail.ru вылезли два последних проекта (VaRest и VaOceanMobile)?
AndreyMolchanov
16.12.2015 14:09Это личные проекты ufna, он занимается играми.
madesst
16.12.2015 14:17+1Т.е. это не проекты mail.ru? Почему они здесь?
AndreyMolchanov
16.12.2015 14:28Мы рассказываем на сайте про интересные opensource проекты компании и сотрудников компании.
Когда статей на сайте станет чуть больше, сгруппируем их по-отдельности на главной странице.madesst
16.12.2015 15:29Я вас понял, но как-то странно все это. Как работодатель, вы к ним какое отношение имеете? Вот сидит у вас работник, строчит по ночам свой опенсорс, какая заслуга в этом mail.ru?
Ессна я не касаюсь прекрасных тарантулов и мапсми.z3apa3a
16.12.2015 16:03По собственному опыту, крайне редко пишется личный проект, который никак не связан с работой и чисто в свободное время. Как правило, есть пересечение с работой и по времени и по функционалу.
madesst
16.12.2015 16:46+2А вкладывалась ли майлрушечка в это? Говорила ли «ой вы мои дорогие, пишите на здоровье свои шейдеры, да плагины для фигни, которой мы вообще занимаемся!». Похоже на инфоповод высосанный из пальца.
z3apa3a
16.12.2015 18:34+2Вот пример: в ближайшем релизе 3proxy (на opensource.mail.ru ссылки на 3proxy пока нет, т.к. я не успел подготовить описание, но он там будет) появится функционал reverse connect, который потребовался для рабочих задач, соответственно написание фунционала шло преимущественно «по ночам», но отлаживался и багфиксился в рабочее время. Это значит работодатель вкладывался или нет?
Другой пример: File API Кости Лебедева используется в «Облаке» и «Почте», входит в скоп bug bounty этих проектов и, так или иначе, над ним работает не только сам автор, но и, например, команды тестирования и продуктовой безопасности.
То же самое и по остальным проектам.
AndreyMolchanov
16.12.2015 16:18В этом заслуга самих авторов, очевидно.
Мы считаем, что посетителям сайта может быть интересно узнать и про личные проекты сотрудников Mail.Ru Group. И, конечно, публикуем информацию только о проектах, авторы которых это поддерживают. :)
DjOnline
21.12.2015 20:51Умеет ли ваш File.API сохранять файлы сразу в облако, ваше или чужое?
RubaXa
24.12.2015 21:30FileAPI — это инструмент для загрузки файлов, это не коробочное решение, как например jQuery File Uploader и подобные, а именно библиотека, на базе которой можно собрать загрузчик куда угодно. Если это «куда угодно» поддерживает CORS, то да, туда можно загрузить, например S3 поддерживает CORS.
zalexz
22.12.2015 10:54В список в статье забыли добавить еще кое-что: мы в MAPS.ME для статистики и аналитики используем собственную open-source библиотеку Alohalytics, которая умеет эффективно доставлять на сервер события из кроссплатформенных модулей (Java вместе с NDK, ObjC вместе с C++ окружением — как раз наш случай, когда ядро проекта на C++ и только UI нативный для платформы).
NickKolok
Помнится, была у вас замечательная уточка duck.mail.ru
И писали вы о ней на хабре. И спросил я у автора: а куда мне прислать патч, добавляющий недостающую запятую в одно из её высказываний? И ответом мне не был репозиторий.
Неужели действительно это настолько сложная и секретная технология?
AndreyMolchanov
Я так понимаю, это запрос на открытие исходников уточки? Если так, то это к puelle.
San01suke
Уточка не отвечает мне на запрос «У меня не получается очистить мандарин», что делать, куда сообщить о баге?
lybin
Пообщался с уткой, похоже на случайный выбор заготовленных фраз и не более того.
puelle
Вы же понимаете, что выкладывая разработку в Open Source, вы взваливаете на себя ответственность по его поддержке и потенциальному развитию. Про это очень хорошо написал Костя RubaXa в одной из его последних статей про велосипеды. А ввиду того, что это разработка велась к празднику, и интерес людей к ней сейчас находится примерно на нуле, тратить свои время и силы на это мы считаем — нецелесообразно. Ведь количество задач (как опенсорсных, так и не очень) всегда больше, чем вы можете провернуть. Сами понимаете. :)