Mark Lobodzinski | 437e117 | 2018-01-04 14:55:26 -0700 | [diff] [blame] | 1 | ## Vulkan Loader and Validation Layers Repository Management |
| 2 | |
| 3 | # **Open Source Project Objectives** |
| 4 | |
| 5 | * Alignment with the Vulkan Specification |
| 6 | - The goal is for validation layer behavior to enforce the vulkan specification on applications. Questions on specification |
Mark Lobodzinski | d5e8c22 | 2018-01-08 08:05:37 -0700 | [diff] [blame] | 7 | interpretations may require consulting with the Khronos Vulkan Workgroup for resolution |
Mark Lobodzinski | 437e117 | 2018-01-04 14:55:26 -0700 | [diff] [blame] | 8 | - [Core Specification](https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html) |
| 9 | - [Header Files](https://www.khronos.org/registry/vulkan/#headers) |
| 10 | - [SDK Resources](https://vulkan.lunarg.com) |
| 11 | * ISV Enablement |
| 12 | - Updates of loader and validation layer functionality should be available in a timely fashion |
Mark Lobodzinski | 437e117 | 2018-01-04 14:55:26 -0700 | [diff] [blame] | 13 | - Every effort will be made to be responsive to ISV issues with validation layers |
| 14 | * Cross Platform Compatibility |
| 15 | - Google and LunarG collaboration: |
| 16 | - Google: Monitor for Android |
| 17 | - LunarG: Monitor for desktop (Windows and Linux) |
Mark Lobodzinski | 34cd2e6 | 2018-01-04 16:12:41 -0700 | [diff] [blame] | 18 | - Continuous Integration: HW test farms operated by Google and LunarG monitor various hardware/software platforms |
Mark Lobodzinski | 437e117 | 2018-01-04 14:55:26 -0700 | [diff] [blame] | 19 | * Repo Quality |
| 20 | - Repo remains in healthy state with all tests passing and good-quality, consistent codebase |
Mark Lobodzinski | 34cd2e6 | 2018-01-04 16:12:41 -0700 | [diff] [blame] | 21 | - Continuous Integration: Along with Github, HW test farms operated by Google and LunarG perform pre-commit cloud testing |
| 22 | on pull-requests |
Mark Lobodzinski | 437e117 | 2018-01-04 14:55:26 -0700 | [diff] [blame] | 23 | |
| 24 | # **Roles and Definitions** |
| 25 | * Contributor, Commenter, User |
Mark Lobodzinski | 34cd2e6 | 2018-01-04 16:12:41 -0700 | [diff] [blame] | 26 | - Submitting contributions, creating issues, or using the contents of the repository |
Mark Lobodzinski | 437e117 | 2018-01-04 14:55:26 -0700 | [diff] [blame] | 27 | * Approver |
Mark Lobodzinski | d5e8c22 | 2018-01-08 08:05:37 -0700 | [diff] [blame] | 28 | - Experienced project members who have made significant technical contributions |
Mark Lobodzinski | 34cd2e6 | 2018-01-04 16:12:41 -0700 | [diff] [blame] | 29 | - Write control: Approve pull/merge requests (verify submissions vs. acceptance criteria) |
Mark Lobodzinski | 437e117 | 2018-01-04 14:55:26 -0700 | [diff] [blame] | 30 | * Technical Project Leads |
Mark Lobodzinski | d5e8c22 | 2018-01-08 08:05:37 -0700 | [diff] [blame] | 31 | - Lead the project in terms of versioning, quality assurance, and overarching objectives |
Mark Lobodzinski | 437e117 | 2018-01-04 14:55:26 -0700 | [diff] [blame] | 32 | - Monitor github issues and drive timely resolution |
Mark Lobodzinski | d5e8c22 | 2018-01-08 08:05:37 -0700 | [diff] [blame] | 33 | - Designate new approvers |
Mark Lobodzinski | 437e117 | 2018-01-04 14:55:26 -0700 | [diff] [blame] | 34 | - Ensure project information such as the Readme, Contributing docs, wiki, etc., kept up-to-date |
| 35 | - Act as a facilitator in resolving technical conflicts |
| 36 | - Is a point-of-contact for project-related questions |
| 37 | |
| 38 | The technical project leads for this repository are: |
| 39 | * **Mark Lobodzinski** [mark@lunarg.com](mailto:mark@lunarg.com) |
| 40 | * **Tobin Ehlis** [tobine@google.com](mailto:tobine@google.com) |
| 41 | |
Mark Lobodzinski | d5e8c22 | 2018-01-08 08:05:37 -0700 | [diff] [blame] | 42 | # **Acceptance Criteria and Process** |
| 43 | - All source code to include Khronos copyright and license (Apache 2.0). |
| 44 | - Additional copyrights of contributors appended |
Mark Lobodzinski | 437e117 | 2018-01-04 14:55:26 -0700 | [diff] [blame] | 45 | - Contributions are via pull requests |
| 46 | - Project leads will assigning approvers to contributor pull requests |
| 47 | - Approvers can self-assign their reviewers |
| 48 | - For complex or invasive contributions, Project Leads may request approval from specific reviewers |
| 49 | - At least one review approval is required to complete a pull request |
| 50 | - The goal is to be responsive to contributors while ensuring acceptance criteria is met and to facilitate their submissions |
| 51 | - Approval is dependent upon adherence to the guidelines in [CONTRIBUTING.md](CONTRIBUTING.md), and alignment with |
| 52 | repository goals of maintainability, completeness, and quality |
| 53 | - Conflicts or questions will ultimately be resolved by the project leads |