Summer coding ideas for 2009

Other ideas that were incomplete or worth considering are found at Summer coding ideas for 2008.

Find an idea you like? Want to propose your own? See our Getting Started Guide:

http://groups.google.com/group/redhat-summer/web/gsoc-getting-started

Project name
Status:

Summary of idea:

Contacts:

Mentor(s):

Notes:

Cobbler
Status: Proposed

Summary of idea: Various ideas related to Cobbler : http://fedorahosted.org/cobbler

Contacts: MichaelDeHaan

Mentor(s): MichaelDeHaan

Notes: The cobbler project is a Linux (and soon to be other OS) installation server with numerous datacenter automation features. Possible ideas for GSOC include web app workflow improvements, or a collection of many numerous RFEs in Fedora Hosted's Trac instance (fedorahosted.org/cobbler). Students should also have their own original ideas and an interest in datacenter automation -- folks doing admin work for their college and interested in using cobbler are ideal. We are interested in folks that (A) can show they understand the goals of the project and understand it's present features (as to not reinvent things it already does or are out of scope), (B) have new ideas of their own and are creative, and (C) are interested in the domain of datacenter automation, systems management, virtualization, or constructing SkyNet. Some knowledge of Python, Perl, Ruby, or a similar dynamic language is required. Cobbler is all Python so if you're a Python hacker, we'd be especially glad to have you. If you'd like to contact me to refine your ideas prior to submitting or just ask questions, that's great, please do so. (mdehaan AT redhat DOT com)

InstantMirror
Status: Proposed

Summary of idea: There exist various existing repository replication methods to mirror repositories, each with their own pros and cons. InstantMirror aims to solve problems of data repository replication in an efficient way. Various modern techniques are utilized and combined like Squid-like reverse proxy cache and cache expiry algorithm, rsync-like local directory trees, Torrent style efficient swarming many-to-many data replication. This project if implemented would dramatically improve the efficiency and timeliness of repository replication. This could be very useful for mirror networks like kernel.org, Fedora, Debian, CPAN, etc. ''' n Contacts: WarrenTogami

Mentor(s): WarrenTogami, RikvanRiel

Notes:


 * https://fedorahosted.org/InstantMirror/

Packages End User UI
Status: Proposed

Summary of idea: A User Interface to the PackageDB for end users to find and review packages

Contacts: Toshio Kuratomi

Mentor(s): Toshio Kuratomi

Notes: This idea has already been taken up and a more detailed proposal worked on by maploin, Ionuț Arțăriși

Many Linux distributions have a website that shows what packages are present in the distribution to users of the distribution. These websites have pages that tell what the software does, how to use it, what version it is, and so on. We'd like to add the same capabilities to the Fedora Package Database so that Fedora Users can come there to see what packages are in Fedora.

We also want to add a few features that aren't in other systems.


 * The ability to filter these as applications instead of packages,
 * Letting end users comment on the applications to help other end users
 * Letting end users tag the packages with keywords to make searching easier

More details here:
 * https://fedorahosted.org/packagedb/wiki/EndUserUI

New Developer UI for the PackageDB
Status: Proposed

Summary of idea: Update the Packager's User Interface to be more efficient.

Contacts: Toshio Kuratomi

Mentor(s): Toshio Kuratomi

Notes: This idea has already been taken up and a more detailed proposal worked on by Ranjith Kannikara

The Package Database provides an adequate interface to managing acls on packages but there are some definite warts that cause our packagers to spend too much time on the beaurocracy of maintaining packages rather than coding. This proposal is to address several outstanding feature requests and create some new interfaces that will make managing package acls much easier.

More details here:
 * https://fedorahosted.org/packagedb/wiki/NewDevUI

Robotics LiveCD with Simulator Environment
Status: Proposed

Summary of idea: Create a LiveCD that provides a simulation environment and tools to start robotics experiments.

Contacts: Tim Niemueller

Mentor(s): Don't know, would like to be the student

Notes: I would like to integrate the robot software that I've developed at university (and that is going to be released to the public real soon now as GPL'ed OSS) into Fedora, then integrate the Gazebo/Stage simulators properly into Fedora and the software and provide a simple development playground that one can use to make the robots move in the simulation and solve tasks. Maybe a simple task-based game (get the robot to pick the can and bring it to the place marked with X) could come out of it. My diploma/master thesis (that I'm finishing atm) is about efficient and simple behavior control employing Lua, so this would be a really good fit. This project would be embedded into the Fedora Robotics SIG.

Spacewalk
Status: Proposed

Summary of idea: PostgreSQL support in Spacewalk

Contacts: JesusRodriguez

Mentor(s): JesusRodriguez

Notes: Spacewalk is an open source Linux systems management solution. It allows you to:


 * Inventory your systems (hardware and software information)
 * Install and update software on your systems
 * Collect and distribute your custom software packages into manageable groups
 * Provision (Kickstart) your systems
 * Manage and deploy configuration files to your systems
 * Monitor your systems
 * Provision virtual guests
 * Start/stop/configure virtual guests

Currently Spacewalk works only with Oracle, which is why enabling it to work with PostgreSQL would be a great project.


 * https://fedorahosted.org/spacewalk/wiki/PostgreSqlProject
 * https://fedorahosted.org/spacewalk/

Fedora Feature
Status: Proposed

Summary of idea: Create any open ended Feature which must be approved, and will be included in Fedora 12

Contacts: Yaakov Nemoy

Mentor(s): Yaakov Nemoy

Notes: For more information click this link here, or try to get in contact with Yaakov Nemoy

PackageKit: fix app-install
Status: Proposed

Summary of idea: Fix app-install problems and let it be accepted to Fedora.

Contacts: Richard Hughes

Mentor(s): Richard Hughes

Notes:

See this blog post about more information of app-install in general.

See fedora-app-install review request about problems expressed.

At least the following problems are addressed:
 * Layout of app-install metadata and application icons inside of repository,
 * Pregenerating of app-install metadata and icons,
 * Change app-install to download metadata from repository,
 * Learn app-install to download icons on demand.

EKG
Status: Proposed

Summary of idea: Help build a community scanner that gives detailed statistics and provides visualizations about what the Open Source community is up to.

Contacts: Yaakov Nemoy, Michael DeHaan, Max Spevack

Mentor(s): Yaakov Nemoy and Michael DeHaan

Notes: EKG (http://fedorahosted.org/ekg) is a tool that lets us monitor community mailing lists and see where traffic is coming from. What projects are becoming more popular? What is the mix of people posting to various lists? What's the pulse on the community?

As a contributor, you will help extend EKG to track additional resources, mine new data, and create new visualizations, metrics, and comparisons. We will measure the contributions by company and organisation and community members. There is a lot of room for work in web visualization, whether this means making new charts and graphs or attempting to find ways to show a lot of information at a glance.

You will get to work with the following technologies:


 * Python
 * HTML
 * Javascript
 * SQLAlchemy
 * Python templating languages

Students should bring some of their own ideas to table when submitting proposals. This may be a very good project for a student with interests in data mining, statistics, or (2D) data visualization.

JBoss.org ideas
The JBoss.org crew is proposing as a mentoring organization with the Fedora Project, as has been done in the past. That ideas page is here:

http://www.jboss.org/community/docs/DOC-13401

Transifex ideas
The Transifex team is proposing ideas under the Fedora Project mentoring organization for this year's Summer of Code.

Coding includes Python and Django, Web frameworks, workflow development, and the chance to contribute to something used by quite a few folks.

A full list of ideas can be found on the Transifex wiki page:

http://transifex.org/wiki/Development/SummerCoding/Ideas

Augeas
Status: Proposed

Summary of idea: Various ideas around Augeas : http://augeas.net/

Contacts: David Lutterkort

Mentor(s): David Lutterkort

Augeas is a command line tool and library to make editing of configuration files from programs and scripts easier. It does that by parsing existing configuration files into a tree, allowing modifications of the tree through an API, and writing the tree back to the original configuration file with those modifications.

There are a wide variety of interesting projects to enhance Augeas itself or build tools on top of it. Depending on the specific project, required skills range from learning the ins and outs of specific config files to python scripting and the ability to solve hard research problems.

Detailed list of ideas at http://www.augeas.net/page/Project_Ideas

Better iptables management
Status: Proposed

Summary of idea: Write a tool to help understand and modify iptables rules

Contacts: David Lutterkort

Mentor(s): David Lutterkort

The iptables config is a scary file, especially when programs need to modify it, since making a change often requires that the program understands what a chain does in its entirety. It would be much better to have a tool that can answer questions like "What does chain X do to packets that look like this ?" and "Modify chain X to ACCEPT/DROP/REJECT packets that look like this" in a way that avoids redundant rules. Solutions to these are described in a few research papers.

You should have a basic knowledge of iptables configuration, interest in writing OCaml (preferred) or C code, and be willing to learn about some theoretical concepts like binary decision diagrams (BDD's)

Backup system on btrfs
Status: Proposed

Summary of idea: Write a backup system on btrfs (use snapshots )

Contacts: Kushal Das

Mentor(s): Kushal Das

btrfs is upcoming filesystem which is already there in rawhide. It include unique feature of create snapshots, one can easily go back to the previous states of the files using that. In the current condition it is better to take snapshots of subvolumes only.

Primary task will be to create an independent GUI based app to browse the history. In future one can patch the major file managers for this feature.