Одним из главных принципов, лежащих в основе движения за открытый исходный код, — 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-запросов значительно упрощается, и для управления запросами не требуется специальных знаний каких-либо языков программирования.
Сайт организован по принципу вики-ресурса. Если вам хотелось бы найти здесь какую-то дополнительную информацию о представленных проектах, пишите в комментариях.