diff --git a/ru/projects/summerofcode.sgml b/ru/projects/summerofcode.sgml
new file mode 100644
index 0000000000..795eccd3c0
--- /dev/null
+++ b/ru/projects/summerofcode.sgml
@@ -0,0 +1,374 @@
+
+
+
+
+
+ %includes;
+ %developers;
+]>
+
+
+ &header;
+
+
Проект FreeBSD с удовольствием принял участие в программе Summer of Code 2005
+ компании Google. В её рамках предполагается оказать финансовую поддержку
+ студентам, которые будут участвовать в проектах с открытым кодом в течение
+ летних каникул.
+
+
+
+
+ Примеры предложенных идей
+
+
+ Пользовательские программы / Инструменты установки
+
+
+
+
+ - Интеграция с BSD Installer: Подготовка прототипа для
+ интеграции с программой установки
+ BSD, чтобы полностью заменить устаревшую программу sysinstall,
+ используемую во FreeBSD. Уже было выполнено достаточно много черновой
+ работы, так что любой человек с достаточными знаниями за несколько
+ месяцев может сделать в этой области много хорошего, особенно при
+ соответствующем руководстве более опытных разработчиков FreeBSD.
+
+ - Встроенная программа установки через PXE: Было бы
+ замечательно иметь встроенную возможность выполнять установку через PXE.
+ Это позволило бы создать установочный сервер на базе CDROM с FreeSBIE
+ на одной машине, указать в BIOS других компьютеров на загрузку с PXE, и
+ выполнить оставшиеся действия как по мановению волшебной палочки. Это
+ очень помогло бы при разворачивании кластерных узлов и тому подобных
+ задачах.
+
+ - Полностью интегрированный мониторинг SNMP:
+ Подключаемые модули для нашей технологии BSNMP для мониторинга отдельных
+ состояний системы, в частности, загрузки, дискового пространства,
+ статистики по виртуальной памяти, энтропии, правилам сетевого экрана и
+ его состоянии, очередям и отказам/подтверждениям sendmail и подобным
+ вещам. Клиент SNMP, который мог бы собирать и централизовать снимаемые
+ данные, обрабатывать их и так далее. Координируют &a.philip;, &a.glebius;, &a.harti; и &a.rwatson;.
+
+ - Интеграция поддержки Xen: Поддержка монитора
+ виртуальной машины Xen включается во FreeBSD -CURRENT, поэтому
+ установочная программа должна быть обновлена, чтобы могла быть возможна
+ установка системы Xen с несколькими узлами FreeBSD и так далее.
+
+ - Переписать CVSup на C: CVSup представляет собой ориентированную
+ на CVS сетевую систему общего назначения для распространения файлов. Она
+ массово использовалась около 10 лет для распространения CVS-дерева
+ FreeBSD между зеркалами по всему миру. CVSup была написана на Modula-3 и
+ её реализация на языке C позволит улучшать эту систему большему
+ количеству пользователей. Архитектура CVSup является многопоточной, так
+ что претендент должен иметь некоторый опыт работы с pthreads.
+ Дополнительными требованиями является понимание хранилищ исходных текстов
+ Subversion и Perforce. На данный момент часть работ по написанию и
+ проектированию уже выполнена. Координатором является &a.mux;.
+
+ - Улучшение нашей системы регрессивного тестирования:
+ Ник Клэйтон создал инфраструктуру проведения регрессивных тестов при
+ помощи языка Perl. Большее количество тестов должно работать с libtap.
+ В основном здесь две части. Во-первых, многие из существующих тестов
+ должны вместо assert() использовать ok() и близкие вызовы из libtap.
+ Во-вторых, нужно написать большее количество регрессивных тестов. К этой
+ работе приглашаются студенты, знакомые с языками написания скриптов и
+ тестированием программного обеспечения. Координатором является &a.nik;.
+
+ - Отслеживание производительности во времени: Одной из
+ больших проблем проекта масштаба FreeBSD является мониторинг изменений в
+ характеристиках производительности с течением времени. Для этого
+ требуется несколько вещей. Среди них набор соответствующих тестов,
+ оборудование для их запуска, база данных для хранения результатов и
+ программное обеспечения для извлечения интересующих нас результатов и
+ их выдачи. Решение этих проблем в целом, видимо, выходит за рамки работы
+ на лето, однако интересующая нас часть может быть выполнена.
+ Координатором является
+ &a.brooks;.
+
+
+
+ Файловая система
+
+
+ - Журналирование UFS: Добавление журналирования и
+ функций воспроизведения для файловой системы UFS. Целью является
+ повышение надёжности файловой системы и значительное снижение
+ необходимости проведение полной проверки 'fsck' после сбоя или отключения
+ электроэнергии. Это проект, который будет иметь дело не только с
+ внутренним устройством файловой системы, но и систем виртуальной памяти и
+ буферизации/кэширования, так что это прекрасная возможность изучить
+ многие фундаментальные аспекты операционной системы.
+
+ Работа над этой задачей уже ведётся, но дополнительная помощь всегда
+ нужна и будет приветствоваться. Кандидаты должны иметь хотя бы
+ поверхностное представление о структурах данных файловой системы (i-узлы,
+ свободные списки, каталоги) и сильное желание больше узнать о таких
+ системах. Этот проект станет существенным пунктом любого резюме, но он
+ не для слабых людей. Координатором является &a.scottl;.
+
+ - Autofs: Создание файловой системы autofs по её
+ описанию. Кандидаты должны обладать некоторыми знаниями в области
+ файловых систем, в том числе сетевых. Основная масса работ выполнена,
+ однако транспорт уровня ядра и взаимодействие с автомонтировщиком "amd"
+ ещё требуют завершения. Координирует работы &a.alfred;.
+
+ - Менеджер логических томов
+
+ - Волшебные символические ссылки: Реализовать волшебные
+ символические ссылки. Кандидаты должны обладать некоторыми знаниями о
+ файловых системах. Имеются экспериментальные патчи для 4-STABLE,
+ хотя нужно будет изучить реализацию DragonFly в виде утилиты
+ setvar. Координатором может быть &a.jwd;.
+
+
+
+ Сетевые возможности
+
+
+ - Устройство, реализующее сетевой диск: Добавить
+ возможность удалённого доступа к устройствам из одной машины к другой.
+ Целью является обеспечения удалённого доступа к таким ресурсам, как
+ диски, звуковые адаптеры и другое оборудование, по сети. Перспективные
+ кандидаты должны понимать или иметь интерес к системам удалённого вызова
+ функций, сетевым возможностям (TCP/IP), быть заинтересованными в изучении
+ того, как работают драйверы устройств Unix, будет требоваться также
+ знание управления процессами. Этот проект станет хорошим вкладом в
+ резюме, но но не для слабых людей. Координированием занимается &a.alfred;.
+
+ - NFS Lockd (усиление семантики): Улучшение работы NFS
+ lockd во FreeBSD. Apple внесла определённые улучшения, которые могут
+ быть и в нашем коде. Реализовать восстановление состояния в lockd.
+ Кандидату предстоит изучить, как переносить код из одного ядра в другое,
+ а также отслеживать состояния на стороне клиента. Этот проект будет
+ хорошим дополнением к резюме. Координирует работу &a.alfred;.
+
+ - NFS Lockd (реализация на уровне ядра): Улучшение
+ семантики работы NFS lockd во FreeBSD. Перенос реализации lockd в ядро
+ обещает несколько существенных улучшений как в производительности, так и
+ семантике. Кандидаты должны иметь хорошее представление об NFS,
+ блокировке, RPC и работе с сетью на уровне ядра. Это прекрасное
+ дополнение к резюме, взваливающее на вас обязанности "знания NFS" на всю
+ оставшуюся карьеру, и эта работа не для слабых людей. Координацию
+ работ выполняет &a.alfred;.
+
+ - Упорядочивание пользовательского/системного интерфейса
+ (net/if_var.h): Более восьми лет назад объявления
+ функций сетевого интерфейса были разделены на net/if.h и net/if_var.h.
+ Это было сделано для того, чтобы net/if_var.h присутствовал только в
+ ядре, а net/if.h содержал общедоступные интерфейсы. На сегодняшний день
+ внутренний заголовок, net/if_var.h, всё ещё включается во многие
+ пользовательские приложения. В некоторых случаях это случается из-за
+ интерфейсов, которые на самом деле не являются внутренними для ядра. В
+ других случаях эти структуры использовались вместе с libkvm для прямого
+ обращения к информации ядра. Этот проект должен решить оба типа проблем,
+ в первую очередь за счёт переписывания команды netstat(1) и любых других,
+ работающих с сетью и использующих libkvm, так, чтобы они использовали
+ альтернативные пользовательские интерфейсы, при необходимости их нужно
+ будет создавать. Функции netstat по анализу аварийных дампов, вероятно,
+ нужно будет выделить в отдельную программу. Координацией занимается &a.brooks;.
+
+ - Перенос Web100 на FreeBSD: Проект Web100 был начат для решения проблем с
+ производительностью TCP при работе поверх длинных и толстых сетевых
+ каналов. В рамках проектах был создан интересный набор патчей для Linux
+ для тонкой настройки и мониторинга, и они обеспечивают значительно лучшую
+ производительность в этой области. Интеграция этой работы во FreeBSD
+ может дать значительные преимущества в плане производительности TCP при
+ определённых средах эксплуатации. Для возможностей Web100 должны быть
+ созданы и интегрированы в систему соответствующие абстракции FreeBSD.
+ Влияние этих изменений на производительность должно быть проверено до
+ того, как они будут внесены в систему. Идеальный кандидат для выполнения
+ этой работы имеет некоторые знания об операциях протокола TCP и знаком с
+ с интерфейсами ядра. Координацию осуществляет &a.brooks;.
+
+
+
+ Информационная безопасность
+
+
+ - SecureMines: Добавить в систему мета-данные,
+ позволяющие отлавливать нарушителей и вести журнал аудита системы. Целью
+ этого проекта является создание нескольких способов обозначения
+ некоторого события как стороннего действия (например, открытие
+ файла-ловушки), которое приводит к остановке системы и выдаче
+ максимального количества информации. Среди возможностей рассматривается
+ использование расширенных атрибутов для пометки таких "мин". Кандидаты
+ должны иметь представление о модели процессов в Unix. Координацией
+ занимается &a.alfred;.
+
+
+
+ Ядро
+
+
+ - Обновления Linuxulator: FreeBSD обеспечивает двоичную
+ совместимость с Linux за счёт применения таблицы системных вызовов Linux,
+ которая применяется при исполнении бинарных файлов Linux в формате ELF.
+ Эта реализация должна быть проверена на соответствие современным ядрам
+ Linux, недостающие важные системные вызовы могут быть добавлены для
+ обеспечения работы всех основных приложений во FreeBSD. Студент должен
+ уметь читать и понимать чужой код на языке C, писать код на C и иметь
+ хорошее представление о том, как повторно реализовать код GPL в чистых
+ условиях (без копирования и вставки кода!).
+
+ - Реализация пассивного охлаждения в ACPI: Для
+ охлаждения процессора должен использоваться интерфейс cpufreq, основанный
+ на различных настройках _PSV. Кроме того, нам необходимо реализовать
+ различные интервалы опроса для температурных зон, что основано как на
+ пассивных настройках, так и на опросах, явно задаваемых в ASL. Этот
+ проект требует хорошего знания C, понимания программно/аппаратного
+ интерфейса, наличия лэптопа, работающего с ACPI, и работы с ядром.
+ Координацией занимаются &a.njl; и &a.bruno;.
+
+ - Остановка со сбросом на диск: Реализовать механизм
+ остановки/восстановления с использованием диска. Возможно использование
+ функций создания дампа для сброса страниц памяти на диск, затем обращение
+ к ACPI для перевода системы в состояние S4 или выключения питания.
+ Восстановление потребует изменений в загрузчике, обеспечивающих прямую
+ загрузку образа памяти и продолжения выполнения. Этот проект требует
+ хорошего знания C, понимания программно-аппаратного интерфейса, наличия
+ лэптопа, работающего с ACPI, и работы с ядром. Координацию работ
+ выполняют &a.njl; и &a.bruno;.
+
+ - Реализовать и замерить характеристики различных алгоритмов для
+ powerd(8): Реализовать ряд алгоритмов предсказания (а возможно,
+ создать собственные) и замерить их характеристики на предмет
+ энергопотребления и потери производительности. Лучшим алгоритмом будет
+ тот, что экономит максимальное количество энергии с наименьшими потерями
+ производительности. Требует базовых знаний языка C, наличия лэптопа,
+ поддерживаемого cpufreq(4) (предполагается современный процессор
+ Pentium-M) и некоторых знаний статистики. Координацию осуществляют &a.njl; и &a.bruno;.
+
+ - Мета-язык ядра: Разработка диалекта языка C,
+ упрощающего написание кода ядра. В нём должны присутствовать расширения
+ языка, позволяющие писать более ясный для понимания код ядра и с меньшим
+ количеством ошибок. Примером может служить языковая поддержка связных
+ списков, устраняющая необходимость в запутанных MACRO. Координируют
+ работу &a.gnn; и &a.phk;. Статья Wiki с более полной
+ информацией доступна здесь.
+
+
+ Дополнительные проекты можно найти, просмотрев страницу Разрабатываемых проектов FreeBSD или некоторые из
+ последних Отчётов о ходе работ.
+
+
+ Руководители
+
+ Если вы хотите принять участие в проекте, который здесь в явном виде не
+ указан, вы можете обратиться к одному из потенциальных руководителей,
+ указанных ниже, для того, чтобы составить предложение в одной из следующих
+ больший категорий.
+
+
+
+ Если ваш проект не был выбран компанией Google для финансирования, но вы
+ всё же полагаете, что ваш проект этого заслуживает, сообщите об этом по
+ электронной почте в адрес proposals@FreeBSD.org.
+
+
+ Часто задаваемые вопросы
+
+
+ Подойду ли я?
+
+ Пожалуйста, обратитесь к FAQ для участников
+ компании Google для решения всех вопросов, касающихся
+ требований к участникам.
+
+ Как написать заявку?
+
+ Фонд Perl имеет хороший документ
+ HOWTO, описывающий как написать заявку на разработку с открытым
+ кодом.
+
+ Когда истекает срок подачи заявок?
+
+ Заявки должны быть получены Google до 14 июня.
+
+
+ &footer;
+
+
+