People and Roles
The HSA Foundation (HSAF_OSP) includes individuals working in a variety of roles. As noted in Our Philosophy, HSA Foundation is responsible for HSA product management and the engineering process for the core framework and platform; however, the project considers contributions from any source, not just HSA Foundation. This page describes the kinds of roles that interested parties can take on.
Anyone who is interested in exploring and contributing to HSA can use the HSA Foundation Community Source Project resources. Anyone can join the mailing lists, ask questions, contribute patches, report bugs, look at submitted patches, and use the tools. To get started with the HSA code, see Get Involved.
A “Contributor” is anyone making contributions to the HSAF CSP source code, including HSA Foundation member companies, as well as external developers who are contributing to HSA on their own behalf. There is no distinction between Contributors who are employed by HSA Foundation, and those who are not: all engineers use the same tools (git and GitHub ), follow the same code review process, and are subject to the same requirements on code style and so on.
A “Developer” is an engineer writing applications that run on HSA devices. There is, of course, no difference in skillset between a “Developer” and a “Contributor”, but HSAF CSP uses “Developer” to distinguish between engineers using the platform and those contributing to it. Developers are (along with end users) the “customers” of the platform that the Contributors create.
Project Maintainers and their roles
“Verifiers” are responsible for testing change requests. After individuals have submitted a significant amount of high-quality code to the project, the Project Leads might invite them to become Verifiers. Note: at this time, generally Verifiers are the same as Approvers.
“Approvers” are experienced members of the project who have demonstrated their design skills and have made significant technical contributions to the project. In the code-review process, an Approver decides whether to include or exclude a change. Project Leads (who are typically employed by HSA Foundation) choose the Approvers, sometimes promoting to this position Verifiers who have demonstrated their expertise within a specific project.
HSA consists of a number of sub-projects; you can see these in the git repository, as individual .git files. Tech Leads are senior Contributors who oversee the engineering for individual HSA projects. Typically these tech leads will be HSA Foundation members. A Project Lead for an individual project is responsible for the following:
- Lead all technical aspects of the project; for example, the project roadmap, development, release cycles, versioning, and QA.
- Ensure that the project is QA-ed in time for scheduled HSA platform releases.
- Designate Verifiers and Approvers for submitted patches.
- Be fair and unbiased while reviewing changes. Accept or reject patches based on technical merit and alignment with the HSA strategy.
- Review changes in a timely manner and make best efforts to communicate when changes are not accepted.
- Optionally maintain a web site for the project for information and documents specific to the project.
- Act as a facilitator in resolving technical conflicts.
- Be a public face for the project and the go-to person for questions related to the project.