├── .gitignore
├── .github
├── assets
│ └── .gitkeep
├── milestone_template.md
├── release-drafter.yml
├── workflows
│ └── release-drafter.yml
├── pull_request_template.md
├── ISSUE_TEMPLATE
│ ├── feature_request.yml
│ └── bug_report.yml
└── getting-started.md
├── README.md
├── CONTRIBUTING.md
└── LICENSE
/.gitignore:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.github/assets/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.github/milestone_template.md:
--------------------------------------------------------------------------------
1 | ## Overall
2 |
3 | ### Objective
4 |
5 | [Explain here the objective of the milestone]
6 |
7 | ### Checklist
8 |
9 | - [ ] Clear objective
10 | - [ ] Consistent objective
11 | - [ ] Achievable in the given time
12 | - [ ] Issues created, with the rights labels and linked to this milestone
13 | - [ ] Issues assigned
14 |
15 | ## Final Report
16 |
17 | ### Checklist
18 |
19 | - [ ] Objective fulfilled
20 | - [ ] README.md and other relevant documents (guide, ...) updated
21 | - [ ] Documentation updated
22 | - [ ] Pull requests merged
23 | - [ ] Issues closed
24 | - [ ] Release created
25 | - [ ] Tasks archived
26 | - [ ] Branches cleared
27 |
--------------------------------------------------------------------------------
/.github/release-drafter.yml:
--------------------------------------------------------------------------------
1 | name-template: 'v$RESOLVED_VERSION 🌈'
2 | tag-template: 'v$RESOLVED_VERSION'
3 | categories:
4 | - title: '🚀 Features'
5 | collapse-after: 5
6 | labels:
7 | - 'feature'
8 | - 'enhancement'
9 | - title: '🐛 Bug Fixes'
10 | collapse-after: 5
11 | labels:
12 | - 'fix'
13 | - 'bugfix'
14 | - 'bug'
15 | - title: '🧰 Maintenance'
16 | collapse-after: 5
17 | labels:
18 | - 'chore'
19 | - 'dependencies'
20 | - title: '📄 Documentation'
21 | collapse-after: 5
22 | label: 'documentation'
23 | change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
24 | change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks.
25 | version-resolver:
26 | major:
27 | labels:
28 | - 'major'
29 | minor:
30 | labels:
31 | - 'minor'
32 | patch:
33 | labels:
34 | - 'patch'
35 | default: patch
36 | template: |
37 | ## Changes
38 |
39 | [Describe this new release here]
40 |
41 | $CHANGES
42 |
--------------------------------------------------------------------------------
/.github/workflows/release-drafter.yml:
--------------------------------------------------------------------------------
1 | name: Release Drafter
2 |
3 | on:
4 | push:
5 | # branches to consider in the event; optional, defaults to all
6 | branches:
7 | - main
8 | # pull_request event is required only for autolabeler
9 | pull_request:
10 | # Only following types are handled by the action, but one can default to all as well
11 | types: [opened, reopened, synchronize]
12 | # pull_request_target event is required for autolabeler to support PRs from forks
13 | # pull_request_target:
14 | # types: [opened, reopened, synchronize]
15 |
16 | jobs:
17 | update_release_draft:
18 | runs-on: ubuntu-latest
19 | steps:
20 | # Drafts your next Release notes as Pull Requests are merged into "main"
21 | - uses: release-drafter/release-drafter@v5
22 | # (Optional) specify config name to use, relative to .github/. Default: release-drafter.yml
23 | # with:
24 | # config-name: my-config.yml
25 | # disable-autolabeler: true
26 | env:
27 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
--------------------------------------------------------------------------------
/.github/pull_request_template.md:
--------------------------------------------------------------------------------
1 | # Description
2 |
3 | Please provide a detailed description of what was done in this PR.
4 | Precise the issue that you are resolving.
5 |
6 | # Changes include
7 |
8 | - [ ] Bugfix (non-breaking change that solves an issue)
9 | - [ ] New feature (non-breaking change that adds functionality)
10 | - [ ] Breaking change (change that is not backwards-compatible and/or changes current functionality)
11 |
12 | # Breaking changes
13 |
14 | Please complete this section if any breaking changes have been made, otherwise delete it.
15 |
16 | # Checklist
17 |
18 | - [ ] I have assigned this PR to myself
19 | - [ ] I have added at least 1 reviewer
20 | - [ ] I have added the needed labels
21 | - [ ] I have linked this PR to an issue
22 | - [ ] I have linked this PR to a milestone
23 | - [ ] I have linked this PR to a project
24 | - [ ] I have tested this code
25 | - [ ] I have added / updated tests (unit / functional / end-to-end / ...)
26 | - [ ] I have updated the README and other relevant documents (guides...)
27 | - [ ] I have added sufficient documentation both in code, as well as in the READMEs
28 |
29 | # Additional comments
30 |
31 | Please post additional comments in this section if you have them, otherwise delete it.
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.yml:
--------------------------------------------------------------------------------
1 | name: Feature Request
2 | description: File a feature request
3 | title: "[Feature]: "
4 | labels: ["feature", "triage"]
5 | assignees:
6 | - adrienfort # Update it
7 | body:
8 | - type: markdown
9 | attributes:
10 | value: |
11 | Thanks for taking the time to fill out this feature request!
12 | - type: textarea
13 | id: description
14 | attributes:
15 | label: Description
16 | description: Describe your feature shortly.
17 | placeholder: Tell us what you want to see!
18 | value: "A new feature!"
19 | validations:
20 | required: true
21 | - type: textarea
22 | id: expected-behaviour
23 | attributes:
24 | label: Expected behaviour
25 | description: Describe what you want to happen with as much details as possible.
26 | placeholder: Tell us what you want to happen!
27 | value: "This should happened!"
28 | validations:
29 | required: true
30 | - type: textarea
31 | id: environment
32 | attributes:
33 | label: Environment
34 | description: Describe your environment with as much details as possible.
35 | placeholder: Tell us what is your environment!
36 | value: "- OS and version"
37 | validations:
38 | required: true
39 | - type: textarea
40 | id: proposed-solution
41 | attributes:
42 | label: Proposed solution
43 | description: If you have an idea of how to realise this feature, please write it down here, so we can begin discussing it.
44 | validations:
45 | required: false
46 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug_report.yml:
--------------------------------------------------------------------------------
1 | name: Bug Report
2 | description: File a bug report
3 | title: "[Bug]: "
4 | labels: ["bug", "triage"]
5 | assignees:
6 | - adrienfort # Update it
7 | body:
8 | - type: markdown
9 | attributes:
10 | value: |
11 | Thanks for taking the time to fill out this bug report!
12 | - type: textarea
13 | id: description
14 | attributes:
15 | label: Description
16 | description: Describe your bug shortly.
17 | placeholder: Tell us what you see!
18 | value: "A bug happened!"
19 | validations:
20 | required: true
21 | - type: textarea
22 | id: what-happened
23 | attributes:
24 | label: What happened?
25 | description: Describe your bug with as much details as possible.
26 | placeholder: Tell us what you see!
27 | value: "A bug happened!"
28 | validations:
29 | required: true
30 | - type: textarea
31 | id: expected-behaviour
32 | attributes:
33 | label: Expected behaviour
34 | description: Describe what should happened with as much details as possible.
35 | placeholder: Tell us what should happened!
36 | value: "This should happened!"
37 | validations:
38 | required: true
39 | - type: textarea
40 | id: environment
41 | attributes:
42 | label: Environment
43 | description: Describe your environment with as much details as possible.
44 | placeholder: Tell us what is your environment!
45 | value: "- OS and version\n- Branch that causes this bug"
46 | validations:
47 | required: true
48 | - type: textarea
49 | id: steps-to-reproduce
50 | attributes:
51 | label: Steps to reproduce
52 | description: List the steps to reproduce with as much details as possible.
53 | placeholder: Tell us how to reproduce this bug!
54 | value: "- You have to do this!\n- Then this!"
55 | validations:
56 | required: true
57 | - type: textarea
58 | id: logs
59 | attributes:
60 | label: Relevant log output
61 | description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
62 | render: C++
63 | validations:
64 | required: false
65 | - type: textarea
66 | id: proposed-solution
67 | attributes:
68 | label: Proposed solution
69 | description: If you have an idea of how to fix this issue, please write it down here, so we can begin discussing it.
70 | validations:
71 | required: false
72 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | > If you see this section, you've just created a repository using [PoC Innovation's Open-Source project template](https://github.com/PoCInnovation/open-source-project-template). Check the [getting started guide](./.github/getting-started.md).
2 |
3 | # [PROJECT'S NAME]
4 |
5 | [Project's description]
6 |
7 | ## How does it work?
8 |
9 | [Explain how this project is working]
10 |
11 | ## Getting Started
12 |
13 | ### Installation
14 |
15 | [Explain how to install all of the project's dependencies]
16 |
17 | ### Quickstart
18 |
19 | [Explain how to run this project]
20 |
21 | ### Usage
22 |
23 | [Explain how to use this project]
24 |
25 | ## Get involved
26 |
27 | You're invited to join this project ! Check out the [contributing guide](./CONTRIBUTING.md).
28 |
29 | If you're interested in how the project is organized at a higher level, please contact the current project manager.
30 |
31 | ## Our PoC team ❤️
32 |
33 | Developers
34 | | [
[Developer's name]](https://github.com/MrZalTy) | [
[Developer's name]](https://github.com/MrZalTy) | [
[Developer's name]](https://github.com/MrZalTy)
35 | | :---: | :---: | :---: |
36 |
37 | Manager
38 | | [
[Manager's name]](https://github.com/adrienfort)
39 | | :---: |
40 |
41 |
42 | Organization
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 | > 🚀 Don't hesitate to follow us on our different networks, and put a star 🌟 on `PoC's` repositories
67 |
68 | > Made with ❤️ by PoC
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contributing to [PROJECT'S NAME]
2 |
3 | ## Create an issue
4 |
5 | - If you've encountered a bug, open a [Bug Report](https://github.com/PoCInnovation/$REPOSITORY/issues/new?assignees=&labels=&template=bug_report.md&title=).
6 | - If you want [PROJECT'S NAME] to have a new functionality, open a [Feature Request](https://github.com/PoCInnovation/$REPOSITORY/issues/new?assignees=&labels=&template=feature_request.md&title=).
7 |
8 | ## Resolve an issue
9 |
10 | Select an [issue](https://github.com/PoCInnovation/$REPOSITORY/issues) that you want to resolve.
11 |
12 | The recommended workflow is to fork this repository and open pull requests from your fork.
13 |
14 | ### 1. Fork, clone & configure [PROJECT'S NAME] upstream
15 |
16 | - Click on the _Fork_ button on GitHub
17 | - Clone the original repository
18 | - Add your repository as a new remote
19 |
20 | ```sh
21 | # Clone original repository
22 | git clone git@github.com:PoCInnovation/$REPOSITORY.git
23 |
24 | # Add your fork as a remote
25 | git remote add https://github.com/$YOUR_GITHUB_USER/$REPOSITORY.git
26 | ```
27 |
28 | ### 2. Create a pull request
29 |
30 | ```sh
31 | # Create a new branch
32 | git switch -c my_branch
33 |
34 | # Make changes to your branch
35 | # ...
36 |
37 | # Commit changes - remember to sign!
38 | git commit -s
39 |
40 | # Push your new branch
41 | git push
42 |
43 | # Create a new pull request from https://github.com/PoCInnovation/$REPOSITORY/pulls
44 | ```
45 |
46 | ### 3. Update your pull request with latest changes
47 |
48 | ```sh
49 | # Switch to the main branch
50 | git switch main
51 |
52 | # Pull origin's change
53 | git pull
54 |
55 | # Switch to your branch
56 | git switch my_branch
57 |
58 | # Rebase your branch changes on top of the updated main branch
59 | git rebase main
60 |
61 | # Update your pull request with latest changes
62 | git push -f
63 | ```
64 |
65 | ## Commits
66 |
67 | ### DCO
68 |
69 | Contributions to this project must be accompanied by a Developer Certificate of
70 | Origin (DCO).
71 |
72 | All commit messages must contain the Signed-off-by line with an email address that matches the commit author. When committing, use the `--signoff` flag:
73 |
74 | ```sh
75 | git commit -s
76 | ```
77 |
78 | The Signed-off-by line must match the **author's real name**, otherwise the PR will be rejected.
79 |
80 | ### Commit messages
81 |
82 | Please read first this article : [How to Write a Git Commit Message](https://chris.beams.io/posts/git-commit/).
83 |
84 | Then, follow these guidelines:
85 |
86 | - **Group Commits:** Each commit should represent a meaningful change. Instead, these commits should be squashed together into a single "Add Feature" commit.
87 | > For instance, a PR should not look like :
88 | > 1) Add Feature X
89 | > 2) Fix Typo
90 | > 3) Changes to features X
91 | > 5) Bugfix for feature X
92 | > 6) Fix Linter 7)
93 | > 7) ...
94 |
95 | - Each commit should **work on its own**: it must compile, pass the linter and so on.
96 | > This makes life much easier when using `git log`, `git blame`, `git bisect`, etc...\
97 | > For instance, when doing a `git blame` on a file to figure out why a change was introduced, it's pretty meaningless to see a _Fix linter_ commit message. "Add Feature X" is much more meaningful.
98 |
99 | - Use `git rebase -i main` to group commits together and rewrite their commit message
100 |
101 | - To add changes to the previous commit, use `git commit --amend -s`. This will change the last commit (amend) instead of creating a new commit.
102 |
103 | - Format: Use the imperative mood in the subject line: "If applied, this commit
104 | will _your subject line here_"
105 |
106 | - Add the following prefixes to your commit message to help trigger [automated processes](https://www.conventionalcommits.org):
107 | - `docs:` for documentation changes only (e.g., `docs: Fix typo in X`);
108 | - `test:` for changes to tests only (e.g., `test: Check if X does Y`);
109 | - `chore:` general things that should be excluded (e.g., `chore: Clean up X`);
110 | - `ci:` for internal CI specific changes (e.g., `ci: Enable X for tests`);
111 |
112 | > Made with ❤️ by PoC
113 |
--------------------------------------------------------------------------------
/.github/getting-started.md:
--------------------------------------------------------------------------------
1 | # Getting Started
2 |
3 | > [PoC Innovation's Open-Source project template](https://github.com/PoCInnovation/open-source-project-template)
4 |
5 | Please read carefully this guide.
6 |
7 | ## Setup
8 |
9 | In this part, you will configure your project.
10 |
11 | ### Branches
12 |
13 | Branch protection is really important. It helps you to have control on your code.
14 |
15 | For each of the following branches, add the required protections.
16 |
17 | #### `main`
18 |
19 | ```markdown
20 | - [x] Require a pull request before merging
21 | - [x] Require approvals
22 | Required number of approvals before merging: 1
23 |
24 | - [x] Require status checks to pass before merging
25 | - [x] Require branches to be up to date before merging
26 |
27 | - [x] Require conversation resolution before merging
28 | ```
29 |
30 | ### Documents
31 |
32 | This template provides the must-have documents.
33 |
34 | #### README.md
35 |
36 | The README.md is the showcase of your project. It always must be clean and consistent. Otherwise, no one will care of your project.
37 |
38 | Fill every sections of the [README.md](/README.md).
39 | > If you add pictures, put them in the [assets](./assets/) folder.
40 |
41 | #### CONTRIBUTING.md
42 |
43 | The CONTRIBUTING.md is the guide to contribute to your project. It always must be clean and consistent. Otherwise, no one will contribute to your project.
44 |
45 | Fill every sections of the [CONTRIBUTING.md](/CONTRIBUTING.md).
46 |
47 | #### LICENSE
48 |
49 | The LICENSE protects your code and contributors.
50 |
51 | This template provides an [Apache Licence 2.0](https://www.apache.org/licenses/LICENSE-2.0).
52 | > If you want another one, check this [guide](https://choosealicense.com).
53 |
54 | If your project doesn't belong to [PoC Innovation](https://github.com/PoCInnovation), make sure to update the copyrights of the [LICENCE](/LICENSE).
55 |
56 | ### About
57 |
58 | Update the `About` section by adding a description, a website, and topics.
59 |
60 | ### Templates
61 |
62 | This template provides the must-have templates.
63 |
64 | #### Issues
65 |
66 | An issue is a tool to track and focus tasks.
67 |
68 | This template provides two issues templates :
69 | - `Bug Report`
70 | - `Feature Request`
71 |
72 | Change the default assignee of the [bug_report](./ISSUE_TEMPLATE/bug_report.yml) template.
73 |
74 | Change the default assignee of the [feature_request](./ISSUE_TEMPLATE/feature_request.yml) template.
75 |
76 | #### Pull Requests
77 |
78 | A pull request is an event where a contributor asks a maintainer to review code.
79 |
80 | This template provides a [pull request template](./pull_request_template.md). You don't need to update it.
81 |
82 | #### Milestones
83 |
84 | A milestone helps to track progress on groups of issues or pull requests.
85 |
86 | This template provides a [milestone template](./milestone_template.md). You don't need to update it.
87 |
88 | ### Labels
89 |
90 | A label helps to categorize issues and pull requests.
91 |
92 | Make sure to have the following labels :
93 |
94 | - `bug`: Something isn't working
95 | - `bugfix`: Resolve a bug
96 | - `chore`: Global maintenance
97 | - `documentation`: Improvements or additions to documentation
98 | - `duplicate`: This issue or pull request already exists
99 | - `enhancement`: New feature or request
100 | - `help wanted`: Extra attention is needed
101 | - `invalid`: This doesn't seem right
102 | - `major`: Major update (for release)
103 | - `minor`: Minor update (for release)
104 | - `patch`: Patch update (for release)
105 | - `question`: Further information is requested
106 | - `triage`: Need to be tagged
107 | - `wontfix`: This will not be worked on
108 |
109 | ### GitHub project
110 |
111 | Create a GitHub project to manage your milestones, issues and pull requests.
112 |
113 | ### Actions
114 |
115 | This template provides some GitHub actions.
116 |
117 | #### Release Drafter
118 |
119 | A release is tool with changelogs that present a full history of a project.
120 |
121 | This template provides an [action](./workflows/release-drafter.yml) that drafts [next releases notes](./release-drafter.yml) as pull requests are merged into the main branch. You don't need to update it.
122 | > Check this [action's documentation](https://github.com/release-drafter/release-drafter) to understand how it works
123 |
124 | ### Settings
125 |
126 | #### Visibility
127 |
128 | Make your repository public.
129 |
130 | ## Sprints
131 |
132 | In this part, you will learn how to manage sprints.
133 |
134 | A sprint is associated as a milestone.\
135 | A task is associated as an issue.
136 |
137 | ### Workflow
138 |
139 | The workflow to follow is:
140 |
141 | 1) Create a milestone
142 | 2) Create all the needed issues linked to this milestone
143 | 3) Manage the pull requests linked with these issues using the GitHib project
144 | 4) Resolve these issues
145 | 5) Publish a release
146 | 6) Close the milestone
147 |
148 | ### Milestones
149 |
150 | Each milestones must use the [milestone template](./milestone_template.md).
151 |
152 | There are two parts :
153 | - Overall
154 | > **⚠️ It's checklist must be completed before starting this sprint ⚠️**
155 | - Final Report
156 | > **⚠️ It's checklist must be completed before starting a new sprint ⚠️**
157 |
158 | Additional information is written in the milestones's checklists. Read them carefully!
159 |
160 | ### Issues
161 |
162 | Create all the required issues of a sprint before starting it. Once the sprint started, no issue linked to it should be create.
163 |
164 | **Each issue must be linked to a milestone and a GitHub project, have the right labels and be assigned to someone.**
165 |
166 | You can discuss in a issue, do it as much as you can!
167 |
168 | ### Pull Requests
169 |
170 | **Each pull request must be linked to an issue and a GitHub project, have the right labels, be assigned to someone and have a reviewer.**
171 |
172 | You can discuss in a pull request, do it as much as you can!
173 |
174 | ### GitHub project
175 |
176 | **No tasks (issue) must be created directly from the GitHub project. Create an issue using a template, it will automatically appears on the GitHub project. Don't forget to archive the tasks once the milestone is closed.**
177 |
178 | It is a powerful tool, use it well!
179 |
180 | ### Releases
181 |
182 | **Each update on the main branch must be linked to a release.**
183 |
184 | Tag pull requests with the `patch`, `minor` or `major` labels.
185 |
186 | ## Notes
187 |
188 | ### Discord Webhook
189 |
190 | We strongly advice you to have a discord channel on which you will receive GitHub updates on your project.
191 |
192 | Follow this [tutorial](https://gist.github.com/SGTGunner/50d6a3cc0d489cf779f77695ba3e22ea).
193 |
194 | ### Security dependabot
195 |
196 | We strongly advice you to have a security dependabot to fix vulnerable dependencies.
197 |
198 | Follow this [tutorial](https://docs.github.com/en/code-security/dependabot/dependabot-security-updates/configuring-dependabot-security-updates#managing-dependabot-security-updates-for-your-repositories).
199 |
200 | ### Help
201 |
202 | If you have any questions, please contact [Reza Rahemtola](https://github.com/RezaRahemtola).
203 |
204 | > Made with ❤️ by PoC
205 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Apache License
2 | Version 2.0, January 2004
3 | http://www.apache.org/licenses/
4 |
5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6 |
7 | 1. Definitions.
8 |
9 | "License" shall mean the terms and conditions for use, reproduction,
10 | and distribution as defined by Sections 1 through 9 of this document.
11 |
12 | "Licensor" shall mean the copyright owner or entity authorized by
13 | the copyright owner that is granting the License.
14 |
15 | "Legal Entity" shall mean the union of the acting entity and all
16 | other entities that control, are controlled by, or are under common
17 | control with that entity. For the purposes of this definition,
18 | "control" means (i) the power, direct or indirect, to cause the
19 | direction or management of such entity, whether by contract or
20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
21 | outstanding shares, or (iii) beneficial ownership of such entity.
22 |
23 | "You" (or "Your") shall mean an individual or Legal Entity
24 | exercising permissions granted by this License.
25 |
26 | "Source" form shall mean the preferred form for making modifications,
27 | including but not limited to software source code, documentation
28 | source, and configuration files.
29 |
30 | "Object" form shall mean any form resulting from mechanical
31 | transformation or translation of a Source form, including but
32 | not limited to compiled object code, generated documentation,
33 | and conversions to other media types.
34 |
35 | "Work" shall mean the work of authorship, whether in Source or
36 | Object form, made available under the License, as indicated by a
37 | copyright notice that is included in or attached to the work
38 | (an example is provided in the Appendix below).
39 |
40 | "Derivative Works" shall mean any work, whether in Source or Object
41 | form, that is based on (or derived from) the Work and for which the
42 | editorial revisions, annotations, elaborations, or other modifications
43 | represent, as a whole, an original work of authorship. For the purposes
44 | of this License, Derivative Works shall not include works that remain
45 | separable from, or merely link (or bind by name) to the interfaces of,
46 | the Work and Derivative Works thereof.
47 |
48 | "Contribution" shall mean any work of authorship, including
49 | the original version of the Work and any modifications or additions
50 | to that Work or Derivative Works thereof, that is intentionally
51 | submitted to Licensor for inclusion in the Work by the copyright owner
52 | or by an individual or Legal Entity authorized to submit on behalf of
53 | the copyright owner. For the purposes of this definition, "submitted"
54 | means any form of electronic, verbal, or written communication sent
55 | to the Licensor or its representatives, including but not limited to
56 | communication on electronic mailing lists, source code control systems,
57 | and issue tracking systems that are managed by, or on behalf of, the
58 | Licensor for the purpose of discussing and improving the Work, but
59 | excluding communication that is conspicuously marked or otherwise
60 | designated in writing by the copyright owner as "Not a Contribution."
61 |
62 | "Contributor" shall mean Licensor and any individual or Legal Entity
63 | on behalf of whom a Contribution has been received by Licensor and
64 | subsequently incorporated within the Work.
65 |
66 | 2. Grant of Copyright License. Subject to the terms and conditions of
67 | this License, each Contributor hereby grants to You a perpetual,
68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69 | copyright license to reproduce, prepare Derivative Works of,
70 | publicly display, publicly perform, sublicense, and distribute the
71 | Work and such Derivative Works in Source or Object form.
72 |
73 | 3. Grant of Patent License. Subject to the terms and conditions of
74 | this License, each Contributor hereby grants to You a perpetual,
75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76 | (except as stated in this section) patent license to make, have made,
77 | use, offer to sell, sell, import, and otherwise transfer the Work,
78 | where such license applies only to those patent claims licensable
79 | by such Contributor that are necessarily infringed by their
80 | Contribution(s) alone or by combination of their Contribution(s)
81 | with the Work to which such Contribution(s) was submitted. If You
82 | institute patent litigation against any entity (including a
83 | cross-claim or counterclaim in a lawsuit) alleging that the Work
84 | or a Contribution incorporated within the Work constitutes direct
85 | or contributory patent infringement, then any patent licenses
86 | granted to You under this License for that Work shall terminate
87 | as of the date such litigation is filed.
88 |
89 | 4. Redistribution. You may reproduce and distribute copies of the
90 | Work or Derivative Works thereof in any medium, with or without
91 | modifications, and in Source or Object form, provided that You
92 | meet the following conditions:
93 |
94 | (a) You must give any other recipients of the Work or
95 | Derivative Works a copy of this License; and
96 |
97 | (b) You must cause any modified files to carry prominent notices
98 | stating that You changed the files; and
99 |
100 | (c) You must retain, in the Source form of any Derivative Works
101 | that You distribute, all copyright, patent, trademark, and
102 | attribution notices from the Source form of the Work,
103 | excluding those notices that do not pertain to any part of
104 | the Derivative Works; and
105 |
106 | (d) If the Work includes a "NOTICE" text file as part of its
107 | distribution, then any Derivative Works that You distribute must
108 | include a readable copy of the attribution notices contained
109 | within such NOTICE file, excluding those notices that do not
110 | pertain to any part of the Derivative Works, in at least one
111 | of the following places: within a NOTICE text file distributed
112 | as part of the Derivative Works; within the Source form or
113 | documentation, if provided along with the Derivative Works; or,
114 | within a display generated by the Derivative Works, if and
115 | wherever such third-party notices normally appear. The contents
116 | of the NOTICE file are for informational purposes only and
117 | do not modify the License. You may add Your own attribution
118 | notices within Derivative Works that You distribute, alongside
119 | or as an addendum to the NOTICE text from the Work, provided
120 | that such additional attribution notices cannot be construed
121 | as modifying the License.
122 |
123 | You may add Your own copyright statement to Your modifications and
124 | may provide additional or different license terms and conditions
125 | for use, reproduction, or distribution of Your modifications, or
126 | for any such Derivative Works as a whole, provided Your use,
127 | reproduction, and distribution of the Work otherwise complies with
128 | the conditions stated in this License.
129 |
130 | 5. Submission of Contributions. Unless You explicitly state otherwise,
131 | any Contribution intentionally submitted for inclusion in the Work
132 | by You to the Licensor shall be under the terms and conditions of
133 | this License, without any additional terms or conditions.
134 | Notwithstanding the above, nothing herein shall supersede or modify
135 | the terms of any separate license agreement you may have executed
136 | with Licensor regarding such Contributions.
137 |
138 | 6. Trademarks. This License does not grant permission to use the trade
139 | names, trademarks, service marks, or product names of the Licensor,
140 | except as required for reasonable and customary use in describing the
141 | origin of the Work and reproducing the content of the NOTICE file.
142 |
143 | 7. Disclaimer of Warranty. Unless required by applicable law or
144 | agreed to in writing, Licensor provides the Work (and each
145 | Contributor provides its Contributions) on an "AS IS" BASIS,
146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147 | implied, including, without limitation, any warranties or conditions
148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149 | PARTICULAR PURPOSE. You are solely responsible for determining the
150 | appropriateness of using or redistributing the Work and assume any
151 | risks associated with Your exercise of permissions under this License.
152 |
153 | 8. Limitation of Liability. In no event and under no legal theory,
154 | whether in tort (including negligence), contract, or otherwise,
155 | unless required by applicable law (such as deliberate and grossly
156 | negligent acts) or agreed to in writing, shall any Contributor be
157 | liable to You for damages, including any direct, indirect, special,
158 | incidental, or consequential damages of any character arising as a
159 | result of this License or out of the use or inability to use the
160 | Work (including but not limited to damages for loss of goodwill,
161 | work stoppage, computer failure or malfunction, or any and all
162 | other commercial damages or losses), even if such Contributor
163 | has been advised of the possibility of such damages.
164 |
165 | 9. Accepting Warranty or Additional Liability. While redistributing
166 | the Work or Derivative Works thereof, You may choose to offer,
167 | and charge a fee for, acceptance of support, warranty, indemnity,
168 | or other liability obligations and/or rights consistent with this
169 | License. However, in accepting such obligations, You may act only
170 | on Your own behalf and on Your sole responsibility, not on behalf
171 | of any other Contributor, and only if You agree to indemnify,
172 | defend, and hold each Contributor harmless for any liability
173 | incurred by, or claims asserted against, such Contributor by reason
174 | of your accepting any such warranty or additional liability.
175 |
176 | END OF TERMS AND CONDITIONS
177 |
178 | APPENDIX: How to apply the Apache License to your work.
179 |
180 | To apply the Apache License to your work, attach the following
181 | boilerplate notice, with the fields enclosed by brackets "[]"
182 | replaced with your own identifying information. (Don't include
183 | the brackets!) The text should be enclosed in the appropriate
184 | comment syntax for the file format. We also recommend that a
185 | file or class name and description of purpose be included on the
186 | same "printed page" as the copyright notice for easier
187 | identification within third-party archives.
188 |
189 | Copyright [2023] [PoC Innovation]
190 |
191 | Licensed under the Apache License, Version 2.0 (the "License");
192 | you may not use this file except in compliance with the License.
193 | You may obtain a copy of the License at
194 |
195 | http://www.apache.org/licenses/LICENSE-2.0
196 |
197 | Unless required by applicable law or agreed to in writing, software
198 | distributed under the License is distributed on an "AS IS" BASIS,
199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200 | See the License for the specific language governing permissions and
201 | limitations under the License.
202 |
--------------------------------------------------------------------------------