Library Requirements

This section describes the requirements and guidelines for the content of a library submitted to Boost.

Boost developers constitute a wide array of people throughout much of the world. Over the years much work has gone into the quantity and quality of the C++ libraries and tools that make up Boost. There are many ways to become part of the Boost developer community, all starting with getting involved in the development discussion. But if you are looking for an easier place to start than developing a library, consider volunteering as a tester.

As a first step to developing a library, read the Requirements Overview for Boost.

Requirements Overview

To avoid a proposed library being rejected, it must meet these requirements:

  1. The license must meet the License Requirements. Restricted licenses like the GPL and LGPL are not acceptable.

  2. The Ownership (copyright) must be clear.

  3. The library should be useful to a general audience.

  4. The library must meet the Portability Requirements.

  5. The library should preferably meet the Organization Requirements. But is only required to meet them after acceptance.

  6. The library must come reasonably close to meeting the Design Guide.

  7. The library must be well documented, refer to Guidelines.

  8. The author must be willing to participate in discussions on the mailing list, and to refine the library accordingly.

    TIP

    There’s no requirement that an author read the mailing list for a time before making a submission. It has been noted, however, that submissions which begin "I just started to read this mailing list …​" seem to fail, often embarrassingly.

Ownership

Before proceeding, are you sure you own the library you are thinking of submitting? In the book How to Copyright Software" by MJ Salone, Nolo Press, 1990 says:

"Doing work on your own time that is very similar to programming you do for your employer on company time can raise nasty legal problems. In this situation, it’s best to get a written release from your employer in advance."

Place a copyright notice in all the important files you submit. Boost won’t accept libraries without clear copyright information.