GoogleSoC2007
Google Summer of Code 2007
Ubuntu is once again participating in the Google Summer of Code.
It is a great opportunity to expose new students to the wonderful world of Ubuntu, get some exciting projects off the ground and get good exposure for the projects, students and organisations alike.
SoC 2007 starts early this year, with applications being accepted during the month of March, so there are even better chances to get projects for the second Ubuntu release this year (around October 2007).
Participating
We are looking for both students and mentors. See the appropriate page below for more information.
- [wiki:/Students Information for Students]
- [wiki:/Mentors Information for Mentors]
Participants must be eligible according to the rules of the Summer of Code programme available from Google's Summer of Code [http://code.google.com/support/bin/topic.py?topic=10442 FAQ].
Project Ideas
We need exciting project ideas - preferably with detailed specs. Ideas can be related to the following broad topics:
- Ubuntu
- Edubuntu
- Kubuntu
- Accessibility
If you have a project idea, and would like it to be considered, please add a project headings with a brief description to this page. Selected projects will be tracked on Blueprint.
If you are ready to create a detailed spec please add it to [https://blueprints.launchpad.net/ubuntu Blueprint]. We would encourage members of the community who have been thinking of a cool new feature or plan to seize the opportunity to get it into the idea pool, as it might just get selected and implemented.
LDAP out-of-the-box
Ubuntu should give the option during installation to point its auth, address book, etc. at an LDAP server (the network auth spec is doing this already for feisty in the area of authentication). However, if an LDAP server is not available on the network, the local machine should be setup to run one that auth, address books, etc. are pointed at. Then there should be a GUI to setup that local server as a network auth / directory server for other machines on the network to use and/or to migrate the local info to a new LDAP server running elsewhere on the network. This should be cross-platform compatible where possible (i.e. Active Directory, Outlook and OS X address books, etc.). This would make Ubuntu an extremely powerful system for home and small to medium sized business networking applications.
Revision-controlled home directories
Ubuntu should have home directories under revision control so users can go "back in time" to older versions of their documents. This should be easy to point at a central server, but default to the local machine. This would be similar to a feature in Apple's forthcoming OS X 10.5 "Leopard."
Remote accessibility
Ubuntu should have an easily installable and enable-able feature to allow remote access to your desktop, files, and other resources over the Internet. This could be accomplished via IPv6 when available, dynamic DNS (i.e. dyndns.org) and UPnP when not. Ideally everything would be ssh tunneled, with simple clients for Windows, Mac, and Linux distributed on USB keys or CD-R's. The client could rely on public key authentication and present options for VNC (or NX) remote control, drive mapping, or other resource sharing once connected. When appropriate, it should also allow read-only anonymous access if the owner has enabled it (for websites and shared calendars, for example).
Integrated web sharing
Ubuntu should publish an API which applications such as photo management (F-Spot) and calendaring (Evolution) to publish their content on a web server of the user's choosing. By default this would be a local server, but could be easily pointed at a remote server too. Think distributed, free .Mac. Server-side configuration should be kept as simple as possible (i.e. cal/webdav modules loaded into Apache by default).
17" LCD Monitor and Intel Integrated Graphics chip recognition
With a 17" monitor and an Intel Graphics chip, CD Live PCLinuxOS, Simply Mepis, and several other Linux's all boot up with 2048x1024 resolution. Ubuntu boots up with 1024x768 because it does not recognize the graphics chip shared memory and the monitor's capability. Ubuntu does not compare well with the competition (and XP of course).
The competing Linux's are "open source" so the project is to bring Ubuntu at least up to the competition's level.
Easy file sharing and synchronization
Having a multiple computers configuration is more and more common everyday : one desktop at work, one desktop at home, one laptop. Keeping tracks of a given file or synchronization is often a real pain. Also, there's no easy way to share a file across the Internet if you don't have a webserver and the knowledge of ftp/sftp.
This idea is described at this page https://wiki.ubuntu.com/MultipleComputersSynchronization
Develop a real UI Device and Driver Manager
The "Device Manager" really doesn't manage. We need a way, similar to Windows "Devices" UI, to manage devices and drivers. It should allow selecting a specific driver for a device when more than one is available. It should allow for ignoring devices (do not attach any driver), and should allow forcing a driver to be used for a specific device (e.g. using new_id for a PCI driver to attach a an unknown device).
This project was proposed in a spec at UDS Mountain View, and was approved. The spec needs only implementation. A source code project was started based on hal-device-manager (PyGlade). See URL below for more information. Mentoring can be provided by BenCollins.
https://blueprints.launchpad.net/ubuntu/+spec/driver-device-manager
Teacher Grading System for Edubuntu
A simple system allowing teachers to track and analyse student marks and grades for tests and assignments in Edubuntu. The system would be written in Python and GTK. Among many obvious features, Coon will help the teacher keep track of the students personal data as well as the grades of each assignment that was given them. Flexibility is key in this feature as all teachers have many ways to give grades to their students. One common grade feature that I feel will be expected is removing the lowest grade that was received by each student in the class.