From Fedora Project Wiki

(IntelligentMirror is god awful.)
mNo edit summary
 
(26 intermediate revisions by 11 users not shown)
Line 1: Line 1:
Other ideas that were incomplete or worth considering are found at [[Summer coding ideas for 2008]].
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 ==
== Project name ==
Line 14: Line 17:
''Notes:''
''Notes:''


== InstantMirror ==
 
== Cobbler ==


''Status:'' Proposed
''Status:'' Proposed


''Summary of idea:'' An simple HTTP proxy which caches a given class of files to disk, with the goal of making it trivial for Fedora users to create a mirror of Fedora packages for their local network.
''Summary of idea:'' Various ideas related to Cobbler : http://fedorahosted.org/cobbler


'''Warren is currently writing specifictions for public release for the next generation of this idea that will be incredibly awesome.  It aims to solve the original problems that InstantMirror tried and failed to address.
''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
''Contacts:'' WarrenTogami


''Mentor(s):'' Markmc, WarrenTogami
''Mentor(s):'' WarrenTogami, RikvanRiel


''Notes:''
''Notes:''


An idea proposed by WarrenTogami in the past, for more details see e.g.:
* https://fedorahosted.org/InstantMirror/
 
* https://fedorahosted.org/InstantMirror/wiki/InstantMirrorDaemon
* https://fedorahosted.org/InstantMirror/wiki
* https://www.redhat.com/archives/fedora-devel-list/2008-January/msg02361.html


== Packages End User UI ==
== Packages End User UI ==
Line 43: Line 54:
''Mentor(s):'' Toshio Kuratomi
''Mentor(s):'' Toshio Kuratomi


''Notes:''  This idea has already been taken up and a more detailed proposal worked on by maploin.  Details here:
''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 distributionThese 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
* 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 ==
== Robotics LiveCD with Simulator Environment ==
Line 58: Line 102:


''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 [[SIGs/Robotics|Fedora Robotics SIG]].
''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 [[SIGs/Robotics|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:'' [[user:ynemoy|Yaakov Nemoy]]
''Mentor(s):'' Yaakov Nemoy
''Notes:'' For more information [[User:Ynemoy/GSOC 2009|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 [http://blogs.gnome.org/hughsie/2009/03/05/application-installing/ this blog post] about more information of app-install in general.
See [https://bugzilla.redhat.com/show_bug.cgi?id=488968 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:'' [[user:ynemoy| 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
[[Category:Summer coding 2009]]
== 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:'' [[User:Lutter|David Lutterkort]]
''Mentor(s):'' [[User:Lutter|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:'' [[User:Lutter|David Lutterkort]]
''Mentor(s):'' [[User:Lutter|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:'' [[User:Kushal | Kushal Das]]
''Mentor(s):'' [[User:Kushal | 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.




[[Category:Summer coding 2009]]
[[Category:Summer coding 2009]]

Latest revision as of 20:49, 11 March 2010

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:

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:

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:

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.

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.