From Fedora Project Wiki

Potential Project List

Project Mentor(s) Brief overview of project Example of application task Example of subtasks for the project
Sample Fedora Fedora Mentorer Make Fedora a better project Fix bugs labeled easy fix in tracker (bug 123 and 456 as examples) Get familiar with python, learn Fedora python APIs, write unit tests
389 Directory Server: developing administrative tools William Brown (UTC+10)(#389 wibrown, wibrown at redhat dot com) 389 Directory Server is an enterprise class LDAP server, used in businesses globally to authenticate and identify people.

We are working hard to improve our usability and accessibility to the server, especially in how the server is administered. Historically LDAP was difficult and arcane to manage, but we want to change this.

Your project would be to help us improve our python command line tools. Our framework already has the base classes designed and written, but we need help to knit together the high level administrative functionality.

From this project you will learn:

  • How to integrate and use existing python frameworks and servers.
  • How to work with a geographically distributed team.
  • Engineering principles expected of a project with high quality demands.
  • Use of git and ticket trackers for a project.
  • How to contribute to mailing lists and the review process.

What we want to help you with:

  • To teach good community and engineering skills
  • To give you access to a mentor who will answer your questions.

Is this project right for you?

  • If you have any questions at all, please contact William about this project.
During the application process we would ask you to join our #389 irc, and 389-devel mailing list. Please remember I am in UTC+10 so I may not respond immediately.

The tasks would be to setup an instance of Directory Server and to start asking us questions. The goal here is so that you feel familiar with the codebase, but also start to understand identity management systems. Our contributing guide is a great place to start.

The projects tasks would be to improve the dsconf and dsidm command line tools. Here is an example of one of the functions being added to the server by a past student.

This is the list of open dsconf tasks which you could choose to implement.

Once you have completed some of these, we can expand the scope of the project to match your interests. Some other areas include:

  • performance enhancements
  • security and fuzzing
  • python web admin
  • plugin and feature design