Some bits from GSoC 2007

There is some facts about current OVAL support in deb-based distributions (Debian and Ubuntu):

  • Ubuntu 8.04 Hardy released with oval-interpretator 5.3 in universe section
  • oval-interpretator 5.4 already migrated to Debian testing and ready to ship with Lenny
  • oval-interpretator 5.4 migrated to Ubuntu unstable repository and will include in next releas

In next phase we plan to add official support status to OVAL definitions for Debian and Ubuntu distributions.

GSOC 2008 — Swarm Development Group (SDG) — I’m in

GSoC 2008 анонсировал своих участников, я среди них со Swarm Development Group. Подробности позже, а здесь тезизы

Ocaml SoC — Прием заявлений завершен

1го апреля OCaml community прекратила прием предложений от студентов и их руководителей для участия в OCaml Summer of Code. Результаты будут известны во второй неделе апреля, немного раньше аналогичного события в Google. Интересно отметить еще одну аналогию с GSoC — ребята из OCaml тоже продлевали период подачи заявок, хотя это сложно назвать продлением — т.к. изначально жестких сроков названо не было. Лично мне очень интересно взглянуть на более подробную статистику о количестве студентов и проектов, и конечно узнать тех счастливчиков которые совместят летом приятное с полезным.

GSoC 2008 текущее состояние

Очень интересная ситуация наблюдается сейчас в Summer of Code. До окончания подачи предложений от студентов осталось чуть больше суток — а предложений подано очень и очень мало. Вот некоторые примеры:

  • Debian в прошлом получил более 120 предложений, сейчас цифра в районе 40
  • Haiku готовы выбрать только одного студента
  • Некоторые проекты получили меньше 4 предложений от студентов

Надо отметить при этом что хорошие предложения есть, но их действительно меньше. Очень хочется узнать причину такого феномена в этом году, но похоже мне остается только гадать. Хотя одна зацепка конечно есть: в конце прошлого лета в рассылке было обсуждение о размере выплат студентам и падении курса доллара. При этом все больше и больше проектов включает требования полной занятости студента на лето. Вывод был простой — некоторым студентам становится невыгодно участвовать в SoC, а Google отказывается повышать выплаты аргументируя это тем что — деньги должны быть не главным стимулом для участия.

ps: В качестве решения Google не остается ничего кроме как продлить Application period до конца следующей недели и активно заняться рекламой.

GSoC 2008

Несколько часов назад был официально анонсирован Google Summer of Code 2008. Практически весь март Google будет принимать заявки от Open Source проектов на участие в программе, а с 24 марта наступит время написания и подачи предложений от студентов.

Я в этом году обязательно буду подавать заявку на участие, хотя нет точно уверенности в какой проект. Т.к. Python — проект который мне был наиболее интересен весь 2007 год, меня так и не зацепил. Поэтому сейчас активно знакомлюсь с проектами участвовавшими в GSoC 2007 и выбираю себе по душе и интересам.

Summer of Code, теперь OCaml

Сегодня с удивлением обнаружил что Summer of Code проводит не только Google, но и OCaml Community. Именно сегодня ими был официально анонсирован OCaml Summer Project 2008.

Программа расчитана на студентов и их руководителей и направлена то чтобы сделать OCaml лучше для тех кто его использует. В заявке вы должны указать данные о себе и своем руководителе, описание проекта, его цели, точки отчетности и результаты которые вы должны получить.

Работающий код, тесты и документация должны быть предоставлены к концу лета под одной из свободных лицензий (OSI-approved license)

К участию принимаются как студенты, так и команды из 2-3х человек если рамки проекта требуют того.

В качестве вознаграждения установленны ежимесячные стипендии (5000$ для студента и 2000$ для руководителя) а также оплаченная поездка в New York для встречи по результатам проекта.

Организатор всего этого мероприятия Jane Street Capital, LLC. Подробнее можно прочитать в блоге программы OSP

Для затравки, список проектов участников 2007 года:

  • Caml-Shcaml: Objective Caml in the small; by Alec Heller and Jesse Tov
  • OCaml Visualization Toolkit; by Cap Petschulat
  • Parser combinator library; by Chris Casinghino
  • Cross-platform functional-reactive GUI library; by Chris King
  • System F-based Genetic Programming library; by Franck Binard
  • NorthPole: A concurrency framework for Objective Caml; by Jonathan Bryant
  • Laying the Foundations for an Advanced Visualization System in O’Caml; by Kree Cole-McLaughlin
  • OCaml Reins: A persistent Data Structure Library for OCaml; by Mike Furr
  • OCaml Mathematical Framework; by Olivier Bouissou and Alexandre Chapoutot
  • Dromedary: An Enhanced OCaml Editor; by Therapon Skotiniotis and Christos Dimoulas
  • MLML: Machine Learning in ocaML; by Stefan Ciobaca
  • Erlang style concurrent and distributed programming in OCaml; by Benedikt Grundmann

Google Summer of Code и Google Highly Open Participation Contest

Я продолжаю свой рассказ о инициативах Google по привлечению студетов (а теперь еще и школьников) к участию в Open Source проектах. Самой интересной новостью здесь является запуск новой программы Google Highly Open Participation Contest, которая ориентирована на школьников. Сейчас она уже подходит к своему завершению и я постараюсь написать её подробный обзор.

Сейчас я хочу представить тезисы моего доклада, который я планировал представить на Третьей конференции «Свободное программное обеспечение в высшей школе». Доклад называется «Инициативы Google Summer of Code и Google Highly Open Participation Contest». К сожалению он не был одобрен оргкомитетом конференции, но я надеюсь что он будет интересен некоторым из моих читателей.

Debian project и Google Summer of Code

Вот и прошло еще одно лето и еще один Google Summer of Code, уже третий по счету. Об этом мероприятии ежегодно проводимом Google Inc слышала большая часть людей связанных с разработкой Open Source проектов, а сумма денежного вознаграждения будоражит студенческие умы постсоветского пространства. И при этом из года в год количество участников GSoC из России становится все больше и больше. Количество проектов растет. Растет и качество организации как со стороны Google, так и со стороны Open Source проектов.

Участие Debian в Google Summer of Code 2006

Участие Debian в Google Summer of Code 2006

Проект Debian участвует в этой программе уже второй год. За это время 19 студентов приняли участие в разработке одного из известнейших дистрибутивов Linux. Правда не все из них справились с взятой на себя задачей. В 2006 году четверо из 10 студентов не завершили свои проекты в срок. Итак в 2006 году Debian получил 10 спонсируемых проектов. В основном проекты были связаны с разработкой и совершенствованием инфраструктуры разработки Debian, автоматической генерацией LIVE cd и улучшениям в процессе загрузки/установки. Самыми интересными результатами GSoC 2006 для Debian (на мой взгляд конечно) это проекты Debtags AI и Improve the boot system. Первый проект связан с улучшением интеллектуальной поддержки tag’ов для пакетов Debian. Позволяя более удобно и производительно искать пакеты в репозитарии с использованием категорий. Второй проект был свзяан с оптимизацией загрузки Debian, отслеживанием зависимостей в init-скриптах. В [блоге разработчика] (http://bootdebian.blogspot.com/] я нашел немного интересной статистики — время которое тратит свежеустановленная система Debian с включения и до загрузки KDE:

  • Woody — 32 seconds
  • Sarge — 44 seconds
  • Etch — 32 seconds

Участие Debian в Google Summer of Code 2007

Участие Debian в Google Summer of Code 2007

В 2007 году подготовка к лету со стороны сообщества Debian была более серьезная. Заранее начался сбор идей от разработчиков Debian и студенты могли заранее подбирать себе проект по вкусу и обсуждать кодробности с потенциальным руководителем. Для большинства проектов была создана отдельная страница в wiki для более подробного описания идеи и целей. Был организован IRC-канал для общения потенциальных участников и руководителей. В результате было предложено больше 20 проектов, начиная от улучшения дизайна сейта debian.org и заканчивая Biometrical authentication. По прежнему освновная доля проектов связана с улучшением инфраструктуры разработки дистрибутива и написанию различных frontend’ов к существующим сервисам. Но вместе с этим были и очень интересные идеи: Biometrical authentication, Embedded Debian, Testing system upgrades automatically using QEMU. В этот раз Debian рассчитывал получить 11-12 проектов (именно столько достойных приложений было отобрано), но в результате получил только 9. И в результате были исключены Embedded Debian и i18n/l10n. Также интересно рассмотреть график интересов студентов к конкретных проектам:

  • cd tester (16 applications) xxxxxxxxxxxxxxxx
  • security (15 applications) xxxxxxxxxxxxxxx
  • website (13 applications) xxxxxxxxxxxxx
  • piuparts, u/g testing (7 applications) xxxxxxx
  • emdebian/embedded (5 applications) xxxxx
  • user2user communication (5 applications) xxxxx
  • livecd (4 applications) xxxx
  • debbugs (4 applications) xxxx
  • openid (3 applications) xxx
  • apt-checkpoint (3 applications) xxx
  • biometric auth (3 applications) xxx
  • kernel config (3 applications) xxx
  • mirroring (3 applications) xxx
  • cdd toolkit (2 applications) xx
  • i18n/l10n (2 applications) xx

Проекты которые были выбраны для GSoC 2007 можно увидеть как на странице Google, так и в wiki проекта Debian. И с 28 мая студенты официально приступили к реализации своих проектов. И хотя предварительный этап в этот раз был организован на порядок лучше — студенты имели возможность обсуждать свои предложения на раннем этапе, то сам процесс оценки и контроля за выполнением проекта мог быть лучше. К сожалению в этом году студенты не делали еженедельные отчеты о проделанной работе, также очень нехватало публично опубликованного и обновляемого плана по проекту и плана встреч с руководителем. Думаю реализация такого сервиса может значительно улучшить следующих GSoC для Debian.

Но несмотря на все это, все 10 проектов в 2007 году были завершены успешно. И в этом году все однозначно согласились что самым успешным проектом был BitTorrent Proxy for Debian Archive. Cameron Dale не только выполнил поставленные цели, но и создал действительно полезный и востребованный администраторами инструмент. И даже после завершения программы он продолжает работу над проектом и завершает интеграцию BitTorrent Proxy в качестве транскорта для apt-get. Особо также хочется отметить что многие проекты продолжают развиваться несмотря на то, что лето уже закончилось. Так Automated Upgrade Testing Using QEMU, Piuparts improvements, BitTorrent Proxy for Debian Archive, OVAL Agent for Debian, Bug Triage and Forward Tool не стоят на месте. А это самый главный показатель успешности проекта в GSoC.

Final report of project “OVAL Agent for Debian”

My task for GSoC 2007 was further integration of OVAL language and infrastructure with Debian project. OVAL language already include scheme for support Debian package system (dpkg), but this functionality was don’t implemented in referenced OVAL interpretator. Therefore my first task was implement this support, create Debian package for referenced OVAL interpretator, and submit resulted patches to upstream for inclusion in next official release.

My second task was improve script that convert DSA to OVAL definitions. This script was initially developed by my mentor Javier Fernandez-Sanguino, but was based on old OVAL version and generate only simple OVAL definition that not pass validation by OVAL definition scheme.

Implementing of this two task will allow to use OVAl interpretator to evaluate security status of Debian hosts according to issued DSA. Both of this task is finished now. During work on implementing DPKG support in referenced OVAL interpretator i was implement DPKGInfoProbe and TextFileContentProbe classes. This patches was included in ovaldi Debian package and sent to upstream. Currently this patches not fully applied to upstream source, but i will continue interaction with OVAL developers to include this feature in next release.

DSA to OVAL definitions converter was fully rewrite on python language and now produce valid OVAL definitions for most of DSA in Debian repository (some old DSA is ignored because have different naming scheme). We plan to use this script as part of oval-server package for in-place conversion of DSA and on security.debian.org web-site to provide Debian OVAL definitions feed corresponding to issued DSA. This converter require some updates to reduce memory usage on handling large DSA repository (like full DSA repository).

Second and very important task was implementing agent-server architecture over the OVAL interpretator to centralized handle security status of whole Debian networks. This task include development of oval-server program that must generate OVAL definitions repository (generate from DSA or download from official debian.org feed), generate per-client definitions to evaluate security status of Debian client hosts and generate security status reports for visual presentation of security status. Oval-agent tools was developed to work on client side and it purpose include receive OVAL definitions from server, evaluate them with OVAL interpretator and send results back to server.

At the first stage of project i will plan implement both tools in C++, but during work on this task i change my choice to python language due to time constraint and better integration with DSA2OVAL converter. Oval-server use SQLite as database engine to store information about clients and definitions, HTTP protocol to interact with oval-agents and currently support synchronization DSA repository over http, ftp, local fs (in plan mail and rss support, and support fetch prepared OVAL definitions from debian.org website).

Both, oval-agent and oval-server in working prototype stage. They implements most of required functional, but have some important issues which must be fixed before inclusion in Debian repository. I plan to keep list of this issues on DebianOval wiki page.

I plan to continue working and prepare oval-agent and oval-server packages to the end of this year or early.

Oval Agent project continue

During last month my life was greatly changed. I moved into other town, and set up my new work. Now i will work on Java EE stack and continue write my Ph.D. thesis on Multi-Agent Solutions. As for Oval Agent project — i will continue it development as SAMS project.

For Oval project i plan to focus on fixing bugs in oval-agent and oval-server. Improve performance and memory requirements for converting Debian DSA. After this i will update Debian packages for this module and ask my summer mentor Javier Fernandez-Sanguino to sponsoring this packages.

For SAMS project we plan to release SAMS 1.0 in next days after this i can focus on updating Debian package and improve analog log parser for squid access.log. Also we need to focus on updating English version of documentation.

This goals planed to the end of current year and i hope that i can finish this until Christmas.