From Port389
Developers should check out our building and install guides to see how to build and install the server from source. Then you can get working on fixing bugs, adding new features or improving our documentation. For other ideas see ways to contribute.
To browse through our backlog of development tickets, access the 389 Trac instance.
For details on checking out and building the 389 Console, see the building console page.
Or you can jump directly to instructions on installing the server.
If you want to contribute code to the project you should look at our contributing page. It contains information on the process you have to go through to be able to submit patches we will accept as well as getting a git and/or CVS account. From a more technical standpoint, before submitting a patch you should check out our coding style guide. Once your patch is approved, see the git Rules and/or CVS rules before checking anything in.
You should also be take some time to review our license.
Source Code
We use git as our SCM
- git Rules - rules and guidelines for submitting patches and pushing to upstream
- Directory Server - http://git.fedorahosted.org/git/?p=389/ds.git;a=summary
- AdminUtil - http://git.fedorahosted.org/git/?p=389/adminutil.git;a=summary
- AdminServer - http://git.fedorahosted.org/git/?p=389/admin.git;a=summary
- BuildingConsole - http://git.fedorahosted.org/git/?p=idm-console-framework.git;a=summary
- BuildingConsole - http://git.fedorahosted.org/git/?p=389/console.git;a=summary
- BuildingConsole - http://git.fedorahosted.org/git/?p=389/ds-console.git;a=summary
- BuildingConsole - http://git.fedorahosted.org/git/?p=389/admin-console.git;a=summary
- DSGW - http://git.fedorahosted.org/git/?p=389/dsgw.git;a=summary
- Howto:WindowsSync - http://git.fedorahosted.org/git/?p=389/winsync.git;a=summary
- DSML_Gateway - http://git.fedorahosted.org/git/?p=389/dsmlgw.git;a=summary
- git information
- Official git tutorial
- Everyday git - day to day usage examples for different roles
- Git Users Manual
- Reference Manual - man pages
- Git Community Book
- git Visual Cheat Sheet
- Git talk by Randal Schwartz
- Linus Torvalds on git
As of July 2011 all of the 389 components are in git at fedorahosted.org. CVS cvs.fedoraprojet.org is deprecated. Please use git instead.
FHS style packaging
389 can be built to use FHS style, /opt FHS style, or user specified prefix - see FHS_Packaging
Directory Server Plugins
It is possible to write plugins that allow you to extend the functionality of the Directory Server. Our plugins page contains information on the API and the scope of the functionality. You might also want to look at our annotated license page for some legal information on using the plugin api.
Release Engineering
Testing
Not a coder? No problem. You can help by finding new bugs, verifying existing bugs, polishing documentation and generally improving the quality of the server.
A good way to contribute to improving the quality of the server would be to add automated tests for each of the features. Developers and contributors to the 389 Project are encouraged to write unit tests for any new features, updates and bug fixes being contributed. Where possible, the tests should be data driven. This allows for greater numbers of test cases covering more of the feature under test, to be written with minimal effort. We suggest tests be written in a scripting language like python, sh, or Perl ( Perl::Test ).
There are a number of other LDAP test tools available from other groups and companies which may be of interest:
- DirectoryMark from Mindcraft, is an LDAP benchmarking tool
- Slamd is a distributed LDAP load generation engine
- Using_SystemTap - an example of using SystemTap to profile thread contention
What can you do?
- How to contribute
- Roadmap
- Timelines
- Wishlist
- History
- Hacking the web site
Contributors
- Mailing Lists, IRC
- 389 Trac instance
- Players (people involved)
