From Free IPA
Contributing to freeIPA
- Join mailing lists
- Find us on IRC
- Read developer docs
- Install freeIPA
- Sign CLA
- Jump into our code and process
Developer Documentation
Version 1 Documentation
- v1 PRD: requirements for IPA v1
- v1 Architecture: overview of v1 architecture.
- Schema: overview of the LDAP schema used in IPA
- Access Control Discussion: Discussion on access control in v1.
- User/Install Documentation: freeIPA user/install/admin documentation
Version 2 Documentation
- v2 PRD: draft requirements for IPA v2
- FreeIPA v2 Development Progress: Portal to v2 design pages and current code repositories.
- Group Discussion: Discussion on how to deal with primary groups
- Policy Enforcement: Discussion on v2 and beyond policy enforcement.
Communication
Mailing Lists
The development of FreeIPA is done on the freeipa-devel mailing list. You can join at https://www.redhat.com/mailman/listinfo/freeipa-devel. Feel free to introduce yourself to the list and let us know what areas of development are of most interest to you.
Use freeipa-users mailing list to discuss deployment, configuration, and use of FreeIPA. It is the best place to ask "how to" questions and to share your experience with FreeIPA.
Subscribe to freeipa-interest mailing list for product-related announcements.
IRC
We also hang out on IRC at irc.freenode.net on the #freeipa and #freeipa-devel channels.
Bug and Feature Tracking
Bugs and feature requests are tracked using Bugzilla. The product is 'freeIPA'.
We formerly used Trac.
CLA
A CLA is a contributor license agreement. Before contributions to freeIPA can be accepted, we need to have a signed copy of the CLA.
- Why a CLA? Why do I need to sign a CLA to contribute to this project?
- Download the CLA
- Where do I send the CLA? Instructions for where to send the CLA are listed in the CLA itself.
Development Process
Working with the Codebase
- Git Documentation: Information on using Git, our source control system of choice.
- Coding Style Guide: Our style guide for coding FreeIPA.
Source Repository
The source repository for FreeIPA is stored in git. The code can be retrieved with the command:
git clone git://git.fedorahosted.org/git/freeipa.git
This will create the initial repository (named 'freeipa') in the current directory. Updating the repository can be accomplished with the command 'git pull' from within the repository. More information on GIT can be found at GitDocs.
You can also browse the source repository via the web.
Submitting Changes
Changes to the repository are submitted via patches on the freeipa-devel mailing list (see above for list information). The best way to prepare the patch is to commit the change locally and use 'git-format-patch -1 commit-id' to export the patch (where commit-id is the commit number of the checkin you want to send, use 'git log' to see it).
You will also want to look at our Coding Style Guide
Wiki Editing
If you would like access to edit this Wiki, please send a request to the freeipa-devel mailing list and someone will create an account for you.


