Administration - lzeng14/tianocore GitHub Wiki

General Administration - Who sets the direction of the EFI and Framework Open Source Community?

Like any successful open source site, the most effective structure for governance is to have the member community self-govern. While this is also Intel's goal with this Open Source Community, they also realize there is a need for initial administration to help get the ship out of the harbor. To support this short-term goal, some of Intel's administration duties include:

  • Establishment of goals for the EFI and Framework Open Source Community
  • Establishment of goals for the Intel-released open source code (currently EDK, EDK II, EFI-SHELL, EFI-SCT and FAT32 projects)
  • Decisions on what projects are hosted
  • Guidance on an effective "site meritocracy" (role definition, user promotion, performance measurement, etc).
Project Administration - Who is responsible for the project success?
  • Project Owner: This role is given to individuals who own projects. They have permissions to invite users, confirm join requests of users and remove project members. They also have permission to tailor the issue tracking system to their particular liking, add a license that they will be using and establish project-level rules for code submission, defect resolution and communication. In addition, project owners are able to design their own project homepage and associated content.
  • Module Maintainer: This role is used in projects where management of the codebase is delegated to project members referred to as module maintainers. The EDK is one such project. With projects that do not have such delegation, the Project Owner assumes this role.
  • Integrator: This role is given to individuals who need the ability to commit changes to the code repository. This role also has permissions to actively use all other project collaboration tools (mailing lists, documents, issue management tool, etc).
  • Developer: This role is given to developers who are working on code fixes and enhancements, but do not have the physical ability to update the code repository. This role is used in projects which have strict standards for updates to the code base (such as the EDK and FAT32 projects).
  • QA: This role is used for individuals involved in QA activities. This role has access to all project resources as above, but also has the ability to "tag" in the code repository, to be used in conjunction with a testing process.
  • Participant: This popular role is used to give an individual access to a project, to allow them to participate in project activities, but not in active software development. This is the typical "starting point" for project membership. When there is a need, an individual can be "promoted" to a different project role as necessary.
The EDK, EDK II, EFI-SHELL, EFI-SCT and FAT32 projects use the roles defined above. Depending on many factors, new projects may use all or some of the roles, a decision for the project owners.

Code Updates - Who controls how code is updated on the EFI and Framework Open Source Community?

Since Intel is the originator of the EDK, EDK II, EFI-SHELL, EFI-SCT and FAT32 code bases, contributors to those code bases must agree to the site's Terms and Conditions in order to make code changes (downloads of these code bases are unrestricted). For other projects on this website, the license model chosen is up to the individual project owners.

⚠️ **GitHub.com Fallback** ⚠️