-
Notifications
You must be signed in to change notification settings - Fork 61
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This commit adds CONTRIBUTION.md and modifies README.md to inform contributors of important contribution policies, legal documents, agreements and guidelines. Signed-off-by: Hoang Thuan Pham <hoang.pham@calian.ca>
- Loading branch information
1 parent
ff00759
commit 06ffb25
Showing
2 changed files
with
138 additions
and
44 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,135 @@ | ||
# Contributing to Trace Viewer extension | ||
|
||
Thanks for your interest in the [Trace Viewer extension][trace-viewer]! The following is a set of | ||
guidelines for contributing to the Trace Viewer extension for Theia applications. | ||
|
||
## How to Contribute | ||
|
||
⚠️ **Important note** Setting up the development environment on Linux is the easiest. If you are trying | ||
to run the project on Windows or MacOs and you are encountering issues, please [contact us][contact-us]. | ||
|
||
In order to contribute, please first [open an issue][issues] that clearly describes the bug you | ||
intend to fix or the feature you would like to add. Make sure you provide a way to reproduce the bug | ||
or test the proposed feature. | ||
|
||
Once you have your code ready for review, please [open a pull request][pull-requests]. Please follow | ||
the [pull request guidelines][pr-guide]. If you are new to the project, the | ||
[new contributors][new-contributors] section provides useful information to get you started. A | ||
committer of the Trace Extension will then review your contribution and help to get it merged. | ||
|
||
## Code of Conduct | ||
|
||
This project is governed by the [Eclipse Community Code of Conduct][code-of-conduct]. | ||
By participating, you are expected to uphold this code. | ||
|
||
## Eclipse Development Process | ||
|
||
This Eclipse Foundation open project is governed by the [Eclipse Foundation | ||
Development Process][dev-process] and operates under the terms of the [Eclipse IP Policy][ip-policy]. | ||
|
||
## Eclipse Contributor Agreement | ||
|
||
In order to be able to contribute to Eclipse Foundation projects you must | ||
electronically sign the [Eclipse Contributor Agreement (ECA)][eca]. | ||
|
||
The ECA provides the Eclipse Foundation with a permanent record that you agree | ||
that each of your contributions will comply with the commitments documented in | ||
the Developer Certificate of Origin (DCO). Having an ECA on file associated with | ||
the email address matching the "Author" field of your contribution's Git commits | ||
fulfills the DCO's requirement that you sign-off on your contributions. | ||
|
||
For more information, please see the [Eclipse Committer Handbook][commiter-handbook]. | ||
|
||
## Pull request guidelines | ||
|
||
**Changes to the project** are made by submitting code with a pull request (PR). | ||
|
||
* [How to write and submit changes][creating-changes] | ||
* [Example pull request][issue-402] | ||
|
||
**Good commit messages** make it easier to review code and understand why the changes were made. | ||
Please include a: | ||
|
||
* *Title:* Concise and complete title written in imperative (e.g. "Update Gitpod demo screenshots" | ||
or "Single-click to select or open trace") | ||
* *Problem:* What is the situation that needs to be resolved? Why does the problem need fixing? | ||
Link to related issues (e.g. "Fixes [#317][issue-317]"). | ||
* *Solution:* What changes were made to resolve the situation? Why are these changes the right fix? | ||
* *Impact:* What impact do these changes have? (e.g. Numbers to show a performance improvement, | ||
screenshots or a video for a UI change) | ||
* [*Sign-off:*][sign-off] Use your full name and a long-term email address. This certifies that you | ||
have written the code and that, from a licensing perspective, the code is appropriate for use in open-source. | ||
|
||
Other commit information: | ||
|
||
* [How to format the message][commit-message-message] | ||
* [Example commit message][commit-message-example] | ||
|
||
## New contributors | ||
|
||
### Explore the project context | ||
|
||
* **Check out the [tracevizlabs][tracevizlab].** You don't need to complete all of them, but reading | ||
a couple is good for context. Lab sets 0 and 1 are especially useful. | ||
* **Browse recent conference presentations.** They give an overview of the trace viewer's goals, | ||
[architecture][architecture], and functionality. | ||
* *Trace Compass Cloud: Eclipse Trace Compass's migration towards Theia*, [slides][tracompa-cloud-slides], | ||
[video][tracompa-cloud-video] - Bernd Hufmann, Ericsson AB (EclipseCon 2021) | ||
* *Using Theia to take trace analysis and visualization to the next level*, [slides][tracing-with-theia-slides], | ||
[video][tracing-with-theia-video] - Bernd Hufmann, Ericsson AB (EclipseCon 2019) | ||
* *A New Flexible Architecture for Trace Compass*, [slides][flexible-architecture-slides], | ||
[video][flexible-architecture-video] - Michel Dagenais, Polytechnique Montréal ([Tracing Summit 2019][tracing-summit]) | ||
* **Get an [overview of external components][external-components]** used by this trace viewer. See how they interact. | ||
|
||
### Start with a small change | ||
|
||
* **Explore the [Gitpod demo][gitpod-demo].** Experiment with the trace viewer. Start exploring | ||
its code via Gitpod's in-browser IDE. | ||
* **Start with a small frontend improvement.** A relevant change can be [less than 5 lines of code][issue-369]. | ||
The Theia-based frontend repo is much less complex than the Trace Server's, so by starting in the frontend | ||
you'll learn high-level context about the project's different components without being overwhelmed with complexity. | ||
* [Good first issues][good-first-issues] | ||
* *Develop with Gitpod to initially avoid dev setup.* Put `gitpod.io/#` before your project fork's GitHub URL | ||
to open an in-browser IDE and initially avoid any local dev setup. This dev approach works best for small changes | ||
because Gitpod workspaces are volatile. | ||
* *Learn [how to contribute code][pr-guide].* Starting with a tiny change means you can first focus on exploring | ||
the code as well as learning the submission and review process (which is a significant learning step if you've | ||
never submitted a PR before). | ||
|
||
## Contact | ||
|
||
For issues related to the Trace Viewer, please open a GitHub tracker for the [Theia Trace Extension][trace-viewer]. | ||
|
||
For issues concerning `eclipse-cdt-cloud`, please refer to the contact options listed on the [CDT.Cloud website][cdt-cloud-website]. | ||
|
||
[architecture]: https://github.com/theia-ide/theia-trace-extension#architecture | ||
[cdt-cloud-website]: https://cdt-cloud.io/contact/ | ||
[code-of-conduct]: https://github.com/eclipse/.github/blob/master/CODE_OF_CONDUCT.md | ||
[commit-message-example]: https://github.com/theia-ide/theia-trace-extension/commit/bc18fcd110d7b8433293692421f2e4fb49f89bd6 | ||
[commit-message-message]: https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html | ||
[commiter-handbook]: https://www.eclipse.org/projects/handbook/#resources-commit | ||
[contact-us]: #contact | ||
[creating-changes]: https://www.dataschool.io/how-to-contribute-on-github/ | ||
[dev-process]: https://eclipse.org/projects/dev_process | ||
[eca]: http://www.eclipse.org/legal/ECA.php | ||
[external-components]: https://github.com/theia-ide/theia-trace-extension#related-code | ||
[first-issues]: https://github.com/theia-ide/theia-trace-extension/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22 | ||
[flexible-architecture-video]: https://www.youtube.com/watch?v=8s5vGf45e-g | ||
[flexible-architecture-slides]: https://tracingsummit.org/ts/2019/files/Tracingsummit2019-theia-dagenais.pdf | ||
[gitpod-demo]: https://github.com/theia-ide/theia-trace-extension#try-a-live-demo-via-gitpod | ||
[ip-policy]: https://www.eclipse.org/org/documents/Eclipse_IP_Policy.pdf | ||
[issues]: https://github.com/eclipse-cdt-cloud/theia-trace-extension/issues | ||
[issue-317]: https://github.com/theia-ide/theia-trace-extension/issues/317 | ||
[issue-369]: https://github.com/theia-ide/theia-trace-extension/pull/369/files | ||
[issue-402]: https://github.com/theia-ide/theia-trace-extension/pull/402 | ||
[new-contributors]: #new-contributors | ||
[pr-guide]: #pull-request-guidelines | ||
[pull-requests]: https://github.com/eclipse-cdt-cloud/theia-trace-extension/pulls | ||
[sign-off]: https://git-scm.com/docs/git-commit#Documentation/git-commit.txt---signoff | ||
[trace-viewer]: https://github.com/eclipse-cdt-cloud/theia-trace-extension | ||
[tracevizlab]: https://github.com/dorsal-lab/Tracevizlab | ||
[tracing-with-theia-video]: https://www.youtube.com/watch?v=Fysg1mOadik | ||
[tracing-with-theia-slides]: https://www.eclipsecon.org/sites/default/files/slides/EclipseConEurope2019-TraceCompass-Theia.pdf | ||
[tracing-summit]: https://tracingsummit.org/ts/2019/ | ||
[tracompa-cloud-video]: https://www.youtube.com/watch?v=DFxWXE4A-uQ | ||
[tracompa-cloud-slides]: https://www.eclipsecon.org/sites/default/files/slides/EclipseCon2021-TraceCompassCloud.pdf |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters