Mail.RuПочтаМой МирОдноклассникиИгрыЗнакомстваНовостиПоискВсе проекты

Программное обеспечение
с открытым исходным кодом

Это означает, что любой может заглянуть внутрь —
изучить, как работает программа, убедиться, что в ней
нет вирусов, и даже внести свои изменения.

На этом ресурсе собрана информация об открытых
разработках Mail.Ru Group и ее сотрудников.

MAPS.ME

MAPS.ME — приложение для iOS, Android, Blackberry и т.п., позволяющее просматривать карты OpenStreetMap в офлайне, искать по ним объекты, сохранять их в закладки и/или отправлять их знакомым, прокладывать автомобильные и пешеходные маршруты. Бесплатное, можно скачать через AppStore или Google Play (полный список см. на официальном сайте).

Приложение состоит из нескольких модулей:

  • Ядро написано на языке C++11 с использованием Qt, Stdlib, Boost и других библиотек.
  • GUI для Android написан на Java с использованием JNI и пары вспомогательных библиотек, вроде Parse и BottomSheet.
  • GUI для iOS написан на Objective C.
  • Также есть десктопный GUI на Qt (собирается для Linux и Mac OS X, есть роутинг, но нет карточек объектов).

Лицензия на весь код, кроме сторонних библиотек, — Apache License 2.0 (разрешительная, но более подробная, чем аналогичные MIT и BSD).

Что внутри

  • Эффективный механизм предобработки и сжатия данных OpenStreetMap. Вся планета обрабатывается за 15 часов, как быстро читается — вы и сами видели.
  • Целых два движка рендеринга векторных данных на OpenGL. Новый — в ветке drape-2.0. Теоретически этот движок можно оторвать от остального.
  • Система стилей с инструментом быстрого их просмотра по исходнику в MapCSS, который можно собрать из ветки drape-2.0-map-style-editor-new.
  • Построение индекса топонимов и быстрый поиск по ним с автодополнением. Новая версия, с адресным поиском, — в ветке new-search.
  • Слой абстракции от платформы (в каталоге platform).
  • Движок роутинга OSRM со своим плагином и постобработчиком (в 3party/osrm/osrm-backend).
  • Очень быстрый модуль статистики для iOS и Android, в отдельном репозитории.
  • Проекты для Qt Creator и XCode.

И, конечно, куча документации в каталоге docs.

Чего нет

Мы открыли код ядра и обоих приложений, а также нескольких сопровождающих модулей, вроде сбора статистики Alohalytics. Что мы оставили себе:

  • все ключи и пароли, очевидно;
  • скрипты обработки статистики;
  • код сервера, распределяющего запросы на скачивание карт по CDN (и адреса этих серверов CDN);
  • код официального сайта;
  • настолько устаревшие фрагменты неиспользуемого кода, что проще были их убрать, чем объяснять.

Всё это мы не планируем открывать, но готовы помочь советом тому, кто попытается сделать альтернативу.

Ссылки