Contributing
XORP is an open source project: we want people to contribute. We'd like to build a community of users and a community of developers. Ultimately the project to become self-sustaining. At the present time, the project is bootstrapping: even attaining basic router functionality requires a large amount of effort. We currently lack the functionality to attract users, but perhaps offers enough promise to attract a few bold developers and documenters. As the basic functionality pads out, hopefully we'll attract more users and garner more contributions.
Listed below are a few areas where contributions could usefully be made now. If you are interested in these, have additional suggestions, or are generally interested in getting involved, we'd like to hear from you. It could be that someone is already working on some of the items, so always send an email before starting the work.
General
- Feedback on the ease of getting started.
Any contributions that may help others get started.
Licensing and Copyright
Please contact us.
Code contributions
- Code reviews.
Pick a module. Look it over. Read the source. Read the kdoc documentation (see ${XORP}/docs/kdoc). Compare and contrast the design documents (under ${XORP}/docs) with the code. Code reviews are most welcome.
- Scripting language support.
It would be great to be able to call XORP code from other languages. One way this might be done for maximal benefit and moderate effort would to use SWIG. SWIG generates wrappers for C and C++ code allowing it to be called from a wide range of scripting languages.
- Adding multicast support to
Click.
This is a Click-oriented item, but would benefit XORP and potentially benefit other multicast projects.
- Design and development of a multicast testing framework.
-
MIB implementation.
We have the SNMP base support, but currently there are very few MIBs that are implemented. Pick a protocol, and add the MIB support for it.
-
Wireless access router.
For example, an integration of dhcpd, firewall, web interface, and an AAA server into the XORP framework.
-
Web interface for XORP.
People like Web interfaces. Also, they can be used for cool demos.
Documentation
- Developer API documentation reviews and feedback.
kdoc comments are embedded in the C++ header files and turned into html documentation using kdoc. This documentation is always a work-in-progress and always has room for improvement. Feedback and patches are welcome.
- Design documentation.
Design documents are available online here and are accessible in the source tree under ${XORP}/docs. If you have the time please read them over, and feel free to make suggestions, point out areas of ambiguity, and inconsistencies, etc.
- Web site design.
As with everything in this project, the web pages are available via CVS and CVSWeb. The web site tends to undergo "development" in the run up to releases and remain relatively static the rest of the time.