Стремительное развитие свободного ПО в мировом масштабе привело к ежегодному появлению тысяч новых проектов Open Source. И теперь перед программистами постоянно возникает непростая задача — какие из них могут оказаться полезными при создании собственных приложений для ускорения процесса их разработки. Предоставлением такой информации занимается одна из ведущих в области СПО компаний Black Duck Software: 30 января она объявила о выявлении десяти лучших проектов с открытым исходным кодом, стартовавших в прошлом году. В рамках конкурса Open Source Rookies 2013 потребовалось, как утверждается, исследование значимых показателей тысяч новых открытых проектов.
Такой рейтинг обнародуется ежегодно уже в пятый раз, основываясь на данных двух информационных ресурсов, принадлежащих компании Black Duck: поискового сервиса ohloh.net и базы знаний BlackDuck KnowledgeBase. Сервис ohloh.net, по данным Black Duck, представляет собой один из крупнейших поисковиков проектов и текстов исходных кодов СПО, построенный на основе базы данных Ohloh (приобретенной Black Duck в 2010 г.). Эта поисковая система, предназначенная для программистов, использует информацию из более чем 500 тыс. публичных репозиториев, свыше 19 млрд. строк программного кода и 500 тыс. проиндексированных Open Source проектов, имеет связи примерно с 2 млн. разработчиков СПО. Другой ресурс, созданный Black Duck в 2002 г., — регулярно обновляемая (из тысяч новых проектов Open Source) база знаний KnowledgeBase, ориентированная на разработчиков СПО, включает данные по более чем 800 тыс. проектов, представленных на 5,5 тыс. сайтах, и содержит подробные сведения по свыше 2,2 тыс. лицензий (GPL, LGPL, Apache и т. п.).
В процессе определения лучших проектов использовалась скоринговая балльная система оценки по целому ряду показателей, таких как активность разработчиков проекта, интенсивность ведения записи изменений в репозиторий (commits), данные о команде разработчиков, число ссылок на проект и др. Основываясь на оценках таких показателей и набранных баллов и были определены тор-10 проектов.
Наиболее важные тенденции развития СПО в 2012 г., по мнению аналитиков Black Duck, – разработка фреймворков, облачных и мобильных проектов, а также приложений для обмена сообщениями для предприятий, органов власти, игрового сегмента и потребительского сектора.
В десятке новых топовых проектов обозначены следующие три четкие тенденции:
- значительное увеличение числа проектов с использованием языка JavaScript при разработке фреймворков, программных платформ и инструментария. Так, пять из десяти топовых проектов выполнены с использованием этого языка. Некоторые разработчики крупных проектов на JavaScript решали похожие задачи параллельно, другие команды объединяли силы. Решения на JavaScript различаются масштабами — отмечены такие проекты как для крупнейших в мире предприятий, так и для небольших, выполняемые одним программистом;
- фокус на мобильные платформы: три из отмеченных на конкурсе стартапов подтвердили этот тренд решением совершенно разных задач, таких как фреймворки, фильтры видеопотока в реальном времени, системы управления жестами. Отмечается использование JavaScript для интернет-решений;
- наиболее востребованными языками программирования в прошлом году оказались Python, Ruby и JavaScript.
Десятка топовых проектов
- Ansible — простой инструмент на языке Python для конфигурирования, развертывания приложений и запуска задач. Предусмотрена поддержка модулей расширений. Поставляется под лицензией GPLv3.
- Chaplin.js — фреймворк для разработки приложений на JavaScript с использованием библиотеки Backbone.js, позволяющий реализовать необходимые шаблоны проектирования. Приложение написано на языках CoffeeScript и JavaScript. Поставляется под лицензией MIT.
- GPUImage — библиотека для iOS, позволяющая использовать возможности графического процессора GPU для наложения фильтров и других эффектов на изображения, фильмы, видеоконтент. Библиотека написана на языке Objective-C.
- Hammer.js — библиотека JavaScript для реализации управления жестами и поддержки технологии multi-touch для использования в Web-приложениях мобильных устройств.
- InaSAFE — представляет собой QGIS-плагин к геосистеме Quantum GIS для моделирования сценариев природных катастроф, таких как землетрясения, цунами или наводнения. Приложение позволяет спрогнозировать, какая территория подпадает под разрушение, из каких населённых пунктов следует проводить эвакуацию населения и др. Плагин написан на языке Python и поставляется под лицензией GPLv3.
- Mojito — развиваемый компанией Yahoo! JavaScript-фреймворк на основе проекта YUI 3 (Yahoo! User Interface) для разработки мобильных Web-приложений, функционирует как на клиенте-браузере, так и на сервере. Mojito распространяется под лицензией BSD.
- Sidekiq — простая и эффективная система обработки сообщений для языка Ruby. Доступна под лицензией LGPLv3+.
- Syte — простая расширяемая пакетами платформа для персонального сайта, позволяющая интегрироваться с различными социальными сетями: Twitter, GitHub, Tumblr, WordPress, Stack Overflow и пр. Написана на языках Python и JavaScript, поставляется под лицензией MIT.
- Bower — один из многих проектов, инициированных Twitter, представляет собой пакетный менеджер для Web, позволяющий управлять установкой на сайтах изображений, CSS, JS-скриптов с учетом зависимостей между ними, исключая конфликтные ситуации. Bower написан для платформы Node.js на языке JavaScript, распространяется под лицензией MIT.
- TypeScript — представленный Microsoft в октябре 2012 г. язык программирования, который является надмножеством JavaScript, поддерживает статическую типизацию, модули, определение классов и интерфейсов. TypeScript транслируется в чистый JS, исполняется в любых браузерах, в Node.js, распространяется под лицензией Apache.
Отдельно отмечен проект DCPUToolChain, включающий ассемблер, компилятор, эмулятор и IDE для разработки под виртуальный ЦП DCPU-16. Инструментарий написан на C/C++, поставляется под лицензией MIT.