По спискам идей, принятых для различных вариантов *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 — текстами, выводимыми при инсталляции проприетарных программ и снабженными внизу кнопочкой «Я тебя уважаю!», которую нужно нажать, чтобы продолжить инсталляцию)? Следует честно ответить: кроме сходства в названиях между ними нет ничего общего.

Публичные софтверные лицензии появились в 1980-х годах, после введения в США копирайта на программы. Они формулируют общие условия, на которых автор передает публике право на распространение кода. Без публичных лицензий мы должны были бы, по букве закона о копирайте, каждый раз испрашивать особое разрешение у автора на копирование файла на другой носитель, на продажу диска с программой, на перевод сообщений и даже на исправление ошибки. Запуск программы не требует особого разрешения (как и, скажем, чтение книги), и публичные лицензии обычно тоже его не касаются. Впрочем, с распространением в некоторых странах софтверных патентов, претендующих на контроль именно работы программ, новейшие публичные лицензии стали затрагивать и этот вопрос.

EULA исторически происходят от договоров о сохранении коммерческой тайны, которые в 1960—70-е годы заставляли подписывать своих клиентов продавцы программ. В те времена это имело определенный смысл, поскольку компьютеров было мало и каждая продажа была Действом, совершавшимся с глазу на глаз. В наше время, когда программами торгуют в розницу, говорить о какой-то тайне уже не приходится. Сейчас основным содержанием EULA являются разного рода дисклаймеры — заявления об отказе от ответственности за результаты работы программы, предупреждения о возможных ошибках и т. д. Смысл их не в передаче пользователю прав, а, напротив, в ограждении разработчика от претензий пользователя. Для того и требуется нажатие на кнопочку — как доказательство того, что пользователь EULA читал. Зачастую в EULA также включают несколько внушительно звучащих фраз про авторские права (как правило, неточных или даже вовсе ошибочных).