The IETF has recognized the need to work closely with the open source software movement. For an editor, running code is a requirement to move documents along the standards track. At the same time, open source repositories, such as github, have plenty of references to Request for Comments (RFC) and Internet-Drafts (I-Ds). Many of the coding efforts hosted in these open source repositories are carried out without support, test, or review from the IETF.
CodeStand provides the missing link that connects IETF documents and software implementations, both open source and proprietary. Authors of IETF documents can benefit from knowing about implementations of their proposals, and developers can receive support from experienced Working and Research Group participants (including authors), while they are creating code based on IETF proposals.
CodeStand acts as a marketplace, where authors and software developers—including industry professionals, students, researchers, and professors—can connect. It can showcase opportunities to develop running code for IETF protocols that can aid, for example, students in a class or researchers in projects, thereby lowering the entry barrier for IETF participation. When developers have questions about the protocol’s operation, they may suggest changes that could be used to update documents to improve accuracy and inter-operability for future implementations. Discussions to update a standard would still occur on the appropriate IETF mailing list, but CodeStand offers a way for those new to the IETF to more easily engage with other members.
CodeStand also can enable the promotion of opportunities sponsored by industry and support working with undergraduate- and graduate-level students. Its unique structure introduces students to software engineering practices used in industry, while providing a networking opportunity for both students and industry participants. In addition, it can help companies to identify talented resources via networking profiles.
How It Works
The tool (https://CodeStand.ietf.org) is linked with Datatracker. Opportunities to develop code for drafts or standards are listed as CodeRequests, which are established by a sponsor or mentor. Software developers can create projects and link them to a CodeRequest that already exists or, if no CodeRequest is available for those documents, developers can create a new project referencing the appropriate IETF standard(s) or I-Ds in development.
Software projects themselves are maintained externally to the IETF CodeStand site, either in code repositories (e.g., GitHub, SourceForge) or the tool of choice for that organization. CodeStand will provide a link to the project descriptions for proprietary implementations or the code repository for open source projects. Licensing and intellectual property rights related to the code are provided by the project owner in their external code repository or description page.
How to Contribute
If you are an active IETF participant and are willing to mentor a software developer (as an author or supporting an existing document), create a CodeRequest volunteering yourself as the mentor. With your Datatracker user and password, log into CodeStand, and select “New Code Request” at the bottom of the Code-Requests list.
If you’re a software developer and not yet a Datatracker user, create an account in Datatracker (https://datatracker.ietf.org/), log into CodeStand, and look for an appropriate CodeRequest. If there is no CodeRequest available to link your project, list all projects and select “New Project” at the bottom.
Give CodeStand a spin! See how its combination of IETF standards and open source software development can help you.
Championing a project in an IETF Hackathon? Consider creating a CodeRequest to both get the word out and provide a home for the developed code beyond the single Hackathon. If you already have a CodeRequest in CodeStand, why not champion a project for it in the next IETF Hackathon?