How we actively contribute
An open development model connects Red Hat associates to open source communities. Participants in these communities work together to identify and elevate the best ideas. Red Hat has created and stewards many of these communities, but in numerous other cases, Red Hat contributes to existing independent communities. Red Hat supports these communities primarily through our participation and engagement, which includes, and is not limited to, our contribution of code and other content. Within these open source communities, we build and refine the technologies that make up today’s modern IT environments.
As a company, we aim to continuously learn from our experiences in the practice of open source. One effect of this learning is the adaptation of the underlying principles of open source culture to other aspects of our business, such as in The Open Organization and the Open Decision Framework.
Participating in projects and communities
Our open source participation guidelines address topics relating to participation in open source development by Red Hat associates, such as the following:
Upstream first
In contributing to open source projects as well as building our products, Red Hat strives to follow the principle of “upstream first,” and the practical implications of this are two-fold. First, nearly all changes, features, and documentation for Red Hat-originated software are initially committed to an upstream, community-facing version of the software—an open source community project that is typically stewarded by Red Hat engineers—before being merged into our product code. Second, for projects that are not led primarily by Red Hat, but which are maintained or administered by an external organization or by a community development team not affiliated with Red Hat, our changes and improvements are first offered to the upstream project before being included in a downstream Red Hat version of the code.
Contributing to upstream projects not maintained by Red Hat
Red Hatters are free to participate in and contribute to upstream projects that are not maintained by Red Hat teams, including projects led by our competitors. Some upstream projects not maintained by Red Hat require contributors or their employers to sign a contributor license agreement (CLA), and in these instances, associates should consult Red Hat’s guidelines for third-party contributor agreements. Associates’ abilities to contribute to open source projects are very broad, but this approval does not extend into the development of software that isn’t under an open source license, even if the software is maintained within a public source repository.
Starting new open source projects
New open source projects started by Red Hatters vary in scope and commercial and technical significance. On one end, a Red Hatter might push the initial version of a small script to a public repository. On another end, a major open source project may be launched by a Red Hat team based on what was previously open source, but internally-facing software. When thinking about starting a new project, Red Hatters are encouraged to consider existing open source alternatives first to avoid reinventing the wheel.