Журнал «Компьютерра» № 21 от 06 июня 2006 года - Компьютерра
Шрифт:
Интервал:
Закладка:
НОВОСТИ: Второй пошел?
Автор: Виктор Шепелев
24 мая, с горем пополам, стартовал главный этап второго конкурса для студентов-программистов Google Summer of Code (см. «КТ» #637) — собственно реализация проектов.
А «горя» было немало. Начать с того, что «старт» (то есть публикацию списка проектов, выбранных для «Кодового лета») назначили на 23 мая. Целый день 6400 студентов и 101 опенсорсная организация ждали решения «Поисковика №1» — и ничего. Утром 24-го на веб-страничке code.google.com/soc все еще висела старая заставка, однако письма участникам все же были отправлены. Здесь, правда, организаторы поспешили — 1800 студентов получили ошибочные уведомления о том, что их проект выбран. Весь день 24 мая ньюс-группа Summer Of Code пестрела извинениями и инструкциями на тему «если вам пришло одно письмо с сообщением, что вы избраны, — а потом второе, что нет, то верить надо второму»; а равно и упреками «обманутых вкладчиков».
Тем не менее начали. В этом году для получения 4500 долларов за интересное времяпровождение было отобрано 630 проектов против прошлогодних 410. Немного, если учесть, что количество «отметившихся» организаций выросло в 2,5 раза (101 против 40). Солидный прирост желающих заполучить «студентов на халяву» неудивителен после победных реляций SoC 2005: более 84% проектов было завершено успешно и в срок, организации-менторы получили полезный код, а студенты-участники — полезные деньги. Менее афишируется, что по прошествии полугода с первого «кодового лета» ситуация выглядит не так радужно: всего около 30% студентов продолжили развитие своих проектов, а большинство предпочло «свалить с деньгами». В общем, это понятно (на голом энтузиазме, не подкрепленном гугловскими деньгами, не каждый продержится), однако достойно сожаления — ведь код, оставшийся без «хозяина», во многих случаях становится «мертвым грузом»: даже если его не выкидывают из проекта, то развивать задел все равно некому.
И тем не менее интересно проанализировать расклад сегодняшнего лета — ведь в нем отметились многие «общественно-значимые» проекты; и по тому, какие идеи были для них предложены и выбраны, можно оценить не только близкое будущее, но и настоящее (по принципу «так вот чего здесь не хватало»). Напомним схему выбора концепций для реализации: организация-ментор кратко описывает, какие идеи им интересны; студенты присылают подробные описания того, что они готовы сделать и как; организации сортируют предложения студентов в порядке привлекательности для себя; а гугловские специалисты составляют финальный список «принятых» предложений (чем они руководствуются — тайна сия велика есть).
По спискам идей, принятых для различных вариантов *nix, можно неплохо представить ориентацию этих операционных систем: BSD-клоны, традиционно «серьезно-серверно-сетевые», сосредотачивают усилия на воплощении сетевых функций и улучшении файловых систем, а также расширении количества железяк, на которых FreeBSD/NetBSD портированы[К слову сказать, на страничке FreeBSD очень странно смотрится задача «исправить уязвимости IPv6», отданная на откуп студенту-энтузиасту]. У Gentoo-дистрибутива Linux с репутацией «максимально настраиваемого» бо’льшая часть задач — менеджеры, настройщики и конфигураторы; у «самого человечного» Ubuntu — задачи интерфейсные, вроде «экранной лупы» или «экранной клавиатуры специально для TabletPC». Такое же «разделение обязанностей по предназначению» и у оконных менеджеров: KDE развивает множество своих «финтифлюшек» — PIM, фотоальбом, KOffice, редактор формул; более «стройный и системный» Gnome сосредотачивается на сетевой функциональности и внутренних библиотеках (хотя и здесь упомянуты различные дополнительные приложения).
Впрочем, отдельные программы по масштабам участия догоняют операционные системы: монструозный OpenOffice.org 2.0 намерен за «гугловское лето» радикально улучшить интеграцию с Mac OS X; Gaim, который «всего-навсего интернет-пейджер», заграбастал аж девять студентов (больше, чем некоторые из линуксов)[У Gaim’а наиболее положительный прошлогодний опыт — из десяти студентов, выбранных прошлым летом, все десять до сих пор работают в команде]; еще тринадцать взяли «на двоих» графические редакторы GIMP и Inkscape.
Шумиха последнего года вокруг различных версий Web не прошла даром: одна только Apache Foundation «подняла» 27 проектов. Справедливости ради заметим, что они относятся не только к одноименному веб-серверу, но все же бо’льшая часть — это реализация фич, связанных с новомодным AJAX и сходными технологиями. Wikimedia Foundation, «хозяин» Wikipedia, из сотни предложенных проектов выбрал всего два; правда, один из них скромно называется Video for Wikipedia и подразумевает «отображение видео со страниц Википедии в браузере, не требующее установки плагинов» (!). Отметились и другие вики-движки, CMS и библиотеки для создания AJAX-эффектов; в списке организаций-участников фигурирует даже LiveJournal; правда, он почему-то не выбрал ни одного проекта.
Сюда же, в категорию «скоростного веборазвития», стоит записать и четыре основных языка веб-разработки (Perl, PHP, Python и Ruby, обязанный своей резко возросшей популярности библиотеке RubyOnRails). Из них Perl’овцы активно занялись подготовкой Perl6, который чуть ли не пять лет пребывал в состоянии «скоро будет спецификация», а за последний год практически завершен благодаря усилиям удивительного человека Одри (Атриус) Танг[Долго рассказывать, чем он(а) удивителен(льна). Интересующихся отсылаю к Google]. PHP и Ruby ничего интересного не обещают; зато Python, с его выигрышной комбинацией высокой выразительности и относительно неплохой скорости, похоже, развивается во всех направлениях сразу: среди его 25 (!) проектов — и веб с AJAX’ом, и развитие популярных игровых библиотек, и 3D-графика, и сложные научные вычисления, и радикальные улучшения самого языка[Python Foundation, видимо, удовлетворился результатами прошлого года — несмотря на то что в полном объеме была реализована лишь треть идей, а часть студентов и вовсе исчезла еще до конца лета]. Энтузиастам Ruby, который пока выигрывает в выразительности языка, но радикально проигрывает в скорости и количестве библиотек, сейчас должно быть не слишком весело; тем более что Django, прямой конкурент RubyOnRails, но написанный на Python, тоже участвует в SoC (в отличие от самих «Рельсов»).
Кроме четырех упомянутых «столпов», в рамках Summer of Code ведутся работы над языками Haskell и Lisp, а также десятками других утилит для разработчиков (библиотеки, компиляторы, среды разработки, средства контроля версий). Эти проекты не вызывают никаких опасений за свою судьбу: большинство студентов, взявшихся за развитие утилит для разработчиков, делают это в первую очередь «для себя».
Из оставшихся проектов выделим несколько динамично развивающихся 3D-движков (OGRE, Project Looking Glass); ряд задач под эгидой NASA (Free Earth, Mars Space Flight Facility); Internet Archive с его «машиной времени», стремящийся еще улучшить свой и без того ни с чем не сравнимый сервис; а также постепенно «выползающий из тумана» мегапроект Internet 2. Google не забыл и о себе: в его активе удивительная задумка «Игры для счастья» («веб-игра, в которой широкая аудитория учится быть счастливой»), задача с зубодробительным названием, касающаяся машинного перевода, и пара чисто технических проектов.
В общем, поезд пошел. Следующая остановка — 26 июня, «Оценка середины работы».
АНАЛИЗЫ: Краткий путеводитель по зоопарку публичных лицензий
Автор: Федор Зуев
Успех проекта GNU и широкое распространение генеральной публичной лицензии (GPL) GNU, ставшей его символом, породил множество подражаний. Движение свободного софта стало предметом пристального интереса широкой публики и государства, бизнеса и академических исследователей.
Идея дозированной передачи авторских (а в последнее время — и патентных) прав как орудия социальных преобразований сверхпритягательна для многих социально-ориентированных компьютерщиков и компьютерно-ориентированных юристов. Поэтому с середины-конца 1990-х различные типовые публичные лицензии стали расти как грибы после дождя. Может даже показаться, что их число скоро превысит число самих лицензируемых программ. В то же время стороннему наблюдателю лицензионная механика зачастую непонятна. Что такое публичные лицензии? Почему их так много? Почему программисты придают различиям в лицензиях такое большое значение?
Позвольте предложить вам краткую экскурсию по зоопарку публичных лицензий.
Отступление: Публичные лицензии и EULAsЧасто спрашивают, да еще с эдакой ехидцей, в чем разница между публичными лицензиями и так называемыми «Лицензионными соглашениями конечного пользователя» (по-английски сокращенно EULA — текстами, выводимыми при инсталляции проприетарных программ и снабженными внизу кнопочкой «Я тебя уважаю!», которую нужно нажать, чтобы продолжить инсталляцию)? Следует честно ответить: кроме сходства в названиях между ними нет ничего общего.