Contents
1. The Academic World and the GNOME Community
Some people within our community are active in the academic world, and know quite well how these things work. We'd love those people to participate in an effort to make the GNOME community more open to the academic research. The goal is to create links with labs and research teams, and hopefully be able to help define projects which will be useful to GNOME. We also hope to encourage students to experiment with GNOME and contribute to its development.
Please join our mailing list, academia-list!
2. Research Projects
Are you an academic doing research with GNOME? Add a link to your project here, please!
3. Teaching GNOME and Open Source
The Laboratoire Bordelais de Recherche en Informatique offers a course called Évaluation & Maintenance de Code (2007) , which focused on GNOME. More information (in English) here.
The Seneca College Centre for Development of Open Technology has a number of interesting courses in Mozilla development and open-source development in general, which might serve as useful models for others contemplating offering such courses. (Nothing GNOME-specific, however).
4. Ideas for Student Research
Do you have a suggestion for student research projects? Please add it below. You can also check out ideas for this year's now-finished Google Summer of Code.
4.1. University
Check out Gnome Uni
4.2. Masters or PhD
Ideas which would benefit from original academic research.
Enhanced red-eye removal. gThumb has a redeye removal tool, which is nicely isolated in src/dlg-redeye-removal.c. It has some limitations - it does not work well with "orange-eye" common in young children, or for people whose facial skin has a high red content (brown skin, for example). See bug 423706. There are not a lot of open-source redeye removal algorithms available; I think the world could use another one. There is a lot of scope for research here. - Michael Chudobiak
Practical personal computing paradigms. We can put gigabytes of data on a flash drive; we could puts MIPs of computing power there too. Is the mobile plug-in gizmo the future of personal computing? Or will we download our virtual compute environment from an internet-based service, despite possible bandwidth limitations? What is the most likely way of breaking the one-user-one-PC link for the average user? Do the current GNOME projects address these options? - Michael Chudobiak
JPEG thumbnailing is never fast enough. Can you make a better algorithm? (Warning: maybe there isn't one...) - Michael Chudobiak
4.3. Smaller Projects
Good bug-fixing and feature-implementing projects for students.
The TIFF thumbnailer uses way too much memory (i.e., it loads the whole image when it could go scanline by scanline). It could be made much more memory-efficient. See bug 142428. - Michael Chudobiak
GnomeLove, especially the GnomeLove Bugs.
4.4. High School
GnomeLove, especially the GnomeLove Bugs.
5. Resources
5.1. Mail List
Please join our mailing list, academia-list!
5.2. Books
Foundations of GTK+ Development, by Andrew Krause
The Official GNOME 2 Developer's Guide, by Matthias Warkus
6. Starting Points for Students
So you're a student, and you're wondering how to start learning GNOME. I would suggest:
- Use the software.
Lurk on the mailing lists.
Does the software work properly in your language? If not, updated the translations.
- Find a bug / annoying feature.
Research the bug / annoying feature in bugzilla. Has anyone else reported the problem? Is anyone working on fixing it?
Try to understand the code related to that bug / annoying feature, by browsing the svn repository. It's all there, and it's mostly written in plain C.
Try fixing the bug, and submit a patch to bugzilla.
Can't find something to fix? Try GnomeLove Bugs.
Still can't? That's OK, try bug triaging instead. This means going through open bugs and identifying duplicate bug reports, incomplete reports, bringing major unnoticed problems to the developer's attention, and generally cleaning up the bug database. This can be a tremendous help!