Компания Black Duck Software, владеющая поисковой системой по исходным текстам Koders.com и социальной сетью для разработчиков и пользователей открытого ПО Ohloh.net, опубликовала рейтинг Rookies of the Year, в котором отмечены 10 лучших новых открытых проекта, появившихся в 2011 году. В качестве критериев определения лучших проектов были использованы такие показатели, как активность разработки (среднее число коммитов в день), размер сформированного сообщества и число упоминаний проектов во внешних источниках.
Некоторые общие тенденции:
- 9 из 10 лучших новых проектов года и 56% из 50 лучших проектов размещены на хостинге открытых проектов GitHub. В прошлом году только 4 из 10 и 32% из 50 отмеченных в рейтинге проектов были представлены на GitHub. Что касается других хостингов, то 10% из 50 лучших новых проектов 2011 года размещены в GoogleCode и только 4% в SourceForge;
- Из 50 лидеров рейтинга 28% написаны на языке JavaScript, 14% на Java и 12% на Ruby;
- 3 из 10 лучших новых проектов года распространяются под лицензией Apache, остальные выбрали лицензии GPLv2, GNU AGPLv3, SpringSource License, Eclipse Public License, Mozilla Public License, WTFPL и Common Public Attribution License.
- Два проекта из десятки лучших связаны с обеспечением работы облачных PaaS-систем (платформа как сервис), два предназначены для разработки игр и два для создания web-приложений;
- Содержимое рейтинга хорошо согласуются с наблюдаемыми ныне тенденциями в отрасли, связанными с повышением интереса к облачным вычислениям, мобильным технологиям и разработкой игр.
- Ключевым наблюдением является заметное участие открытых проектов в развитии инноваций в различных областях индустрии, что демонстрирует силу модели открытой совместной разработки, а также увеличение важности социальной разработки, при которой поддержку разработчикам оказывают сообщества, связанные через социальные сети;
Список лучших новых проектов 2011 года:
- Bootstrap - открытый компаний Twitter набор шаблонов, в рамках которого сформирована коллекция CSS-стилей (задействован препроцессор Less) и HTML-кода для быстрого оформления типовых элементов web-страниц. Bootstrap включает в себя набор элементов типографики, различные представления web-форм, кнопок, таблиц и списков, средства для формирования сложной разбивки элементов страниц, блоки навигации, вкладки и т.п.
- BrowserID - развиваемая сообществом Mozilla технология аутентификации пользователей на веб-сайтах. BrowserID позволяет пользователям сети Интернет авторизоваться на любом веб-сайте, используя одну и ту же пару - email и пароль. Обязательным шагом является только подтверждение указанного email и выбор пароля, после чего их можно использовать для своей идентификации на всех сайтах, поддерживающих BrowserID (email используется в качестве логина);
- Canvas LMS - коммерческий открытый проект, в рамках которого развивается основанная на использовании web-технологий (HTML5, jQuery, OAuth) среда для организации процесса обучения, позволяющая более эффективно взаимодействовать ученикам и учителям;
- Cloud Foundry - развиваемая компанией VMware открытая платформа PaaS (Platform as a Service, платформа как сервис), предназначенная для разработки, развертывания и обеспечения работы приложений в приватном или публичном облачном окружении. Поддерживается запуск приложений на Java (Spring), Grails, Ruby (Rails, Sinatra), JavaScript (Node.js), Scala и других языках, работающих поверх JVM. PaaS-платформа, в отличие от IaaS, работает на более высоком уровне, чем выполнение готовых образов операционных систем, избавляя потребителя от необходимости обслуживания ОС и системных компонентов, таких как СУБД, языки программирования, программные фреймворки и т.п. В PaaS от пользователя требуется только загрузка приложения, которое будет запущено в готовом окружении, предоставляемом платформой. Например, Cloud Foundry позволяет программам работать с СУБД MySQL, Redis и MongoDB, беря управление данными СУБД на себя;
- Moai - платформа для быстрой разработки игр для мобильных устройств на базе платформ iOS и Android, а также для создания игр, работающих в ChromeOS и браузере Chrome. В качестве языка программирования используется Lua. Поддерживается создания игр, работающих как на стороне клиента, так и игр, логика работы которых вынесена на сервер;
- Mooege - открытый эмулятор игрового сервера, написанный на языке C#;
- OpenShift - созданная компанией Red Hat PaaS-платформа, оптимизированная для разработчиков открытого ПО и предназначенная для выполнения конечных приложений в облачных окружениях. Поддерживается широкий спектр языков программирования, фреймверков и баз данных, включая Ruby, Python, Perl, PHP, Java EE, Spring, MySQL, SQLite, MongoDB, Membase и Memcache. OpenShift состоит из полностью открытых компонентов, что позволяет избежать привязки к одному вендору (vendor lock-in), и не оказаться "запертым" в какой-либо закрытой технологии или платформе;
- Orion - развиваемая сообществом Eclipse интегрированная среда разработки, работающая внутри web-браузера. Серверная часть написана на языке Java и занимается только выполнением низкоуровневых операций, таких как обработка файлов и разделение привилегий между пользователями. Клиентская часть использует JavaScript для формирования интерактивного интерфейса пользователя, например, на стороне клиента организован процесс редактирования кода и интерфейс для управления файлами. Orion позиционируется как платформа для web-разработки, призванная помочь разработчикам в создании собственных реализаций web-приложений, примерно в том виде, как сейчас платформа Eclipse выступает в роли базиса многих сторонних проектов. Например, при помощи Orion можно использовать в своих проектах готовые модули с редактором кода, функциями управления версиями, файловым менеджером и отладчиком;
- rstat.us - открытая платформа для создания микроблогов, поддерживающая протокол OStatus, используемый в таких системах, как identi.ca. Используя rstat.us пользователь может поднять микроблог на своём сервере, но обеспечить подписку и взаимодействие с другими блогами, полностью контролируя при этом свои данные;
- Salt - открытая система для управления конфигурацией и организации удалённого выполнения приложений. Позволяет организовать централизованное управление и конфигурирование парка серверов. Главные критерии развития проекта - обеспечение максимально возможной простоты и гибкости.
Дополнительно отмечены три перспективных проекта, не вошедших в десятку лидеров, но заслуживающих внимания:
- Apache Rave - Java-платформа для размещения, обслуживания и агрегации социальных гаджетов и сервисов. Rave может использоваться для создания интернет и интранет порталов, добавления на сайты контекстно-зависимых блоков и средств для организации общения;
- OpenStack Dashboard (Horizon) - web-интерфейс для управления сервисами на базе платформы OpenStack, построенный с использованием web-фреймворка Django и приложения django-openstack.
- Rudder - инструментарий сочетающий средства для централизованного управления конфигурацией с поддержанием базы инвентаризации с информацией об элементах IT-инфраструктуры и средствами по генерации отчётов. Система является надстройкой над CFEngine и Fusion Inventory. Для управления используется web-интерфейс в котором разделяются задачи по формированию экспертами эталонных шаблонов конфигурации и применению данных шаблонов специалистами с более низкой квалификацией. Система поддерживает средства автоматического выявления и исправления ошибок в конфигурации.