| <!DOCTYPE html> |
| <html lang="en-us"> |
| |
| <head> |
| <meta charset="utf-8"> |
| <meta name="robots" content="all,follow"> |
| <meta name="googlebot" content="index,follow,snippet,archive"> |
| <meta name="viewport" content="width=device-width, initial-scale=1"> |
| |
| <title>Contributing</title> |
| <meta name="author" content="Admin" /> |
| |
| |
| |
| |
| <meta name="keywords" content="iot, smart mobility, kuksa, appstacle, SDV, SOAFEE"> |
| |
| |
| <meta name="description" content="Eclipse KUKSA community website"> |
| |
| <meta name="generator" content="Hugo 0.81.0" /> |
| |
| |
| <link href='//fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,500,700,800' rel='stylesheet' type='text/css'> |
| |
| |
| <link rel="stylesheet" href="//use.fontawesome.com/releases/v5.11.2/css/all.css"> |
| <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> |
| |
| |
| <link href="/kuksa/css/animate.css" rel="stylesheet"> |
| |
| |
| |
| <link href="/kuksa/css/style.turquoise.css" rel="stylesheet" id="theme-stylesheet"> |
| |
| |
| |
| <link href="/kuksa/css/custom.css?1660581354" rel="stylesheet"> |
| |
| |
| |
| <!--[if lt IE 9]> |
| <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> |
| <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> |
| <![endif]--> |
| |
| |
| |
| <link rel="shortcut icon" href="/kuksa/img/favicon.ico" type="image/x-icon" /> |
| <link rel="apple-touch-icon" href="/kuksa/img/apple-touch-icon.png" /> |
| |
| |
| <link href="/kuksa/css/owl.carousel.css" rel="stylesheet"> |
| <link href="/kuksa/css/owl.theme.css" rel="stylesheet"> |
| |
| |
| <link rel="alternate" href="https://www.eclipse.org/index.xml" type="application/rss+xml" title="Eclipse KUKSA"> |
| |
| |
| |
| |
| |
| |
| |
| <meta property="og:updated_time" content="2019-01-29T09:46:31+0200"> |
| |
| |
| |
| <meta name="twitter:card" content="summary"> |
| |
| <meta name="twitter:title" content="Contributing"> |
| |
| <meta name="twitter:description" content="Eclipse KUKSA community website"> |
| |
| |
| |
| </head> |
| |
| <body> |
| |
| <div id="all"> |
| |
| |
| |
| <header class="navbar-affixed-top" data-spy="affix" data-offset-top="62"> |
| <div class="navbar navbar-default yamm " role="navigation" id="navbar"> |
| <div class="container"> |
| <div class="navbar-header"> |
| <a class="navbar-brand home" href="/kuksa/"> |
| |
| <img src="/kuksa/img/kuksa-logo-h-209x79.png" alt="Contributing logo" class="hidden-xs hidden-sm" /> |
| <img src="/kuksa/img/kuksa-logo-h-209x79.png" alt="Contributing logo" class="visible-xs visible-sm" /> |
| |
| <span class="sr-only">Contributing - go to homepage</span> |
| </a> |
| <div class="navbar-buttons"> |
| <button type="button" class="navbar-toggle btn-template-main" data-toggle="collapse" data-target="#navigation"> |
| <span class="sr-only">Toggle Navigation</span> |
| <i class="fas fa-align-justify"></i> |
| </button> |
| </div> |
| </div> |
| |
| |
| <div class="navbar-collapse collapse" id="navigation"> |
| <ul class="nav navbar-nav navbar-right"> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="dropdown "> |
| <a href="/kuksa/">Home</a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="dropdown "> |
| <a href="/kuksa/about/">Vision</a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="dropdown "> |
| <a href="/kuksa/blog/">Blog</a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="dropdown "> |
| <a href="/kuksa/publications/">Videos & Publications</a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="dropdown "> |
| <a href="/kuksa/resources/">Resources</a> |
| </li> |
| |
| |
| </ul> |
| </div> |
| |
| |
| <div class="collapse clearfix" id="search"> |
| <form class="navbar-form" role="search"> |
| <div class="input-group"> |
| <input type="text" class="form-control" placeholder="Search"> |
| <span class="input-group-btn"> |
| <button type="submit" class="btn btn-template-main"><i class="fas fa-search"></i></button> |
| </span> |
| </div> |
| </form> |
| </div> |
| |
| </div> |
| </div> |
| </header> |
| |
| |
| |
| |
| <div id="heading-breadcrumbs"> |
| <div class="container"> |
| <div class="row"> |
| <div class="col-md-12"> |
| <h1>Contributing</h1> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| |
| <div id="content"> |
| |
| |
| <div class="container"> |
| |
| <div class="row"> |
| |
| <div class="col-md-12"> |
| |
| <div> |
| <p><strong>Get in touch</strong> ! There is the</p> |
| <h3 id="kuksa-dev-mailing-listhttpsaccountseclipseorgmailing-listkuksa-dev-and-a"><a href="https://accounts.eclipse.org/mailing-list/kuksa-dev">kuksa-dev mailing list</a> and a</h3> |
| <h3 id="bi-weekly-zoom-meetinghttpseclipsezoomusj537310990-every-thursday-on-even-calendar-weeks-from-1-2pm-cetcest"><strong>bi-weekly</strong> <a href="https://eclipse.zoom.us/j/537310990">Zoom meeting</a> every Thursday on even calendar weeks from 1-2pm (CET/CEST).</h3> |
| <hr> |
| <hr> |
| <h1 id="howto-contribute-to-eclipse-kuksa">HowTo contribute to Eclipse Kuksa</h1> |
| <p>Great that you are interested in contributing to Eclipse Kuksa. |
| We really looking forward to receive your contribution!</p> |
| <p>In the project we agreed upon the following approach to add contributions to the project.</p> |
| <ol> |
| <li>Meet the Definition of Done (DoD)</li> |
| <li>A review took place for the code</li> |
| <li>The new feature was at least once tested manually, deployed to a running test instance</li> |
| <li>Clearly outline third party dependencies</li> |
| </ol> |
| <h2 id="definition-of-done">Definition of Done</h2> |
| <p>First, we have DoD for solved issues. Please check if you met all the items in the following list:</p> |
| <ul> |
| <li> |
| <p>File headers in file OK (see section <a href="#licensing-and-file-header">License Headers</a> for details)</p> |
| </li> |
| <li> |
| <p>Each new feature is developed in a separate branch</p> |
| <ul> |
| <li>Development branches should be named like<code><github-nickname>/<issue>/<description></code>, e.g. bs-jokri/#2/fix-connection-handling</li> |
| </ul> |
| </li> |
| <li> |
| <p>Coding style</p> |
| <ul> |
| <li>Clean code is encouraged (see ‘Clean Code’ by Robert C. Martin or the |
| <a href="https://www.bbv.ch/images/bbv/pdf/downloads/V2_Clean_Code_V3.pdf">Clean Code Cheatsheet</a>. |
| Reviewers might refer to specific clean code practices to help improve contributed code.</li> |
| </ul> |
| </li> |
| <li> |
| <p>Avoid (serious) compiler warnings</p> |
| </li> |
| <li> |
| <p>Add tests for new / added functionality</p> |
| </li> |
| <li> |
| <p>All tests pass</p> |
| <ul> |
| <li>Unit testing as it is already present</li> |
| <li>You have more - use them!</li> |
| </ul> |
| </li> |
| <li> |
| <p>Documentation</p> |
| <ul> |
| <li>Provide the necessary technical documentation of your feature in the respective |
| Github repository that you contribute to. Documentation is in markdown and it either |
| included in the top-level README.md file of the Github repository, or linked from |
| there.</li> |
| <li>Update the high-level overview of Kuksa in the <a href="https://github.com/eclipse/kuksa.integration/wiki">kuksa.integration Wiki at Github</a>. |
| From the wiki, provide links to relevant technical documentation in the Github repositories.</li> |
| </ul> |
| </li> |
| <li> |
| <p>Commit style</p> |
| <ul> |
| <li>Please write brief and useful commit messages: Separate the subject from body with a blank line because the subject line |
| is shown in the git history and should summarize the commit body. Use the body to explain what and why vs. how. |
| <a href="https://chris.beams.io/posts/git-commit/#seven-rules">https://chris.beams.io/posts/git-commit/#seven-rules</a> has more tips and details.</li> |
| <li>Before you push your commits to a repository, you can squash your commits into one or more logical units of work, e.g. if |
| you want to add a new feature solely in a single commit. |
| <ul> |
| <li>The <a href="https://git-scm.com/book/en/v2/">Pro Git book</a> has a great section on <a href="https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History">Rewriting |
| History</a> and a section |
| on <a href="https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History#_squashing">Squashing</a>.</li> |
| </ul> |
| </li> |
| <li>Rebase during pull (i.e. <code>git pull --rebase</code>) instead of merging so all commits can |
| be signed off. You can also |
| <a href="https://stackoverflow.com/questions/13846300/how-to-make-git-pull-use-rebase-by-default-for-all-my-repositories">configure git to rebase by default</a> |
| <ul> |
| <li>you IDE will also have according configuration options.</li> |
| </ul> |
| </li> |
| <li>If you are not a committer to the project your commits need to be signed off with a valid Eclipse user account. Check the Eclipse handbook for details (<a href="https://www.eclipse.org/projects/handbook/#resources-commit">Eclipse Project Handbook</a>).</li> |
| </ul> |
| </li> |
| </ul> |
| <p>If you checked your code according to the DoD and you feel it can be merged to master, please create a PR to master. |
| Each PR that is merged to master has to pass all tests and needs a code review of some other person of the project that looks onto your contribution from another angle, |
| i.e. didn’t work with you on the new feature. Probably a good idea is to have someone from another organization doing the review. |
| Maybe you already have someone in mind doing the review, then request a review from this person via the github review functionallity.</p> |
| <h2 id="review">Review</h2> |
| <p>If you conduct a code review, please look at the following issues:</p> |
| <ul> |
| <li>Is code style ok, not really formatting, but issues like style attributes in HTML tags or exception handling useful</li> |
| <li>Are DoD items reached</li> |
| <li>Are there any design / architecture issues</li> |
| <li>Does the new feature fit the overall project goal, is it suitable for the community</li> |
| </ul> |
| <h2 id="manual-test">Manual Test</h2> |
| <p>If applicable the new feature should at least be deployed and tested by someone before actually merged to master. |
| This could be done by the same person that is doing the review but could be performed by another person.</p> |
| <p>After review and tests are finished it should be documented who actually did the review and the test. |
| Do this with the following lines in the comments of the PR.</p> |
| <pre><code>review-by:email@domain.com |
| </code></pre><p>and</p> |
| <pre><code>tested-by:email@domain.com |
| </code></pre><h2 id="third-party-dependencies">Third party dependencies</h2> |
| <p>If you use third party content (import / include …), you are required to list each third party content explicitly with its version number in the documentation or your pull-request comment. |
| Please note that GPL software cannot be approved for Eclipse Kuksa.</p> |
| <h2 id="licensing-and-file-header">Licensing and file header</h2> |
| <p>All files contributed require headers - this will ensure the license and copyright clearing at the end. |
| Also, all contributions must have the same license as the original source.</p> |
| <p>If a file has relevant functionality add the official EPL-2.0 header as described here |
| <a href="https://www.eclipse.org/legal/epl-2.0/faq.php#h.q72cnghf29k0">https://www.eclipse.org/legal/epl-2.0/faq.php#h.q72cnghf29k0</a></p> |
| <p>We recommend to use the releng copyright tool at: |
| <a href="https://wiki.eclipse.org/Development_Resources/How_to_Use_Eclipse_Copyright_Tool">https://wiki.eclipse.org/Development_Resources/How_to_Use_Eclipse_Copyright_Tool</a></p> |
| <pre><code>/********************************************************************* |
| * Copyright (c) {date} {owner} [and others] |
| * |
| * This program and the accompanying materials are made |
| * available under the terms of the Eclipse Public License 2.0 |
| * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| * |
| * SPDX-License-Identifier: EPL-2.0 |
| **********************************************************************/ |
| </code></pre><p>(please adapt comment characters usage)</p> |
| <p>For small files such as property files, configuration files or standard XML files:</p> |
| <pre><code># Copyright <COPYRIGHT_HOLDER>, <YEAR>. Part of the Eclipse Kuksa Project. |
| # |
| # All rights reserved. This configuration file is provided to you under the |
| # terms and conditions of the Eclipse Distribution License v1.0 which |
| # accompanies this distribution, and is available at |
| # http://www.eclipse.org/org/documents/edl-v10.php |
| </code></pre><h2 id="eclipse-contributor-agreement">Eclipse Contributor Agreement</h2> |
| <p>Before your contribution can be accepted by the project team contributors must |
| electronically sign the Eclipse Contributor Agreement (ECA).</p> |
| <ul> |
| <li><a href="http://www.eclipse.org/legal/ECA.php">http://www.eclipse.org/legal/ECA.php</a></li> |
| </ul> |
| <p>Commits that are provided by non-committers must have a Signed-off-by field in |
| the footer indicating that the author is aware of the terms by which the |
| contribution has been provided to the project. The non-committer must |
| additionally have an Eclipse Foundation account and must have a signed Eclipse |
| Contributor Agreement (ECA) on file.</p> |
| <p>For more information, please see the Eclipse Committer Handbook: |
| <a href="https://www.eclipse.org/projects/handbook/#resources-commit">https://www.eclipse.org/projects/handbook/#resources-commit</a></p> |
| |
| </div> |
| |
| </div> |
| |
| </div> |
| |
| |
| </div> |
| |
| |
| |
| </div> |
| |
| |
| <footer id="footer"> |
| <div class="container"> |
| |
| |
| |
| <div class="col-md-4 col-sm-6"> |
| |
| |
| |
| </div> |
| |
| |
| |
| |
| </div> |
| |
| </footer> |
| |
| |
| |
| |
| |
| |
| |
| <div id="copyright"> |
| <div class="container"> |
| <div class="col-md-12"> |
| |
| <p class="pull-left">Copyright © 2018-2022 The Eclipse Foundation. All Rights Reserved.</p> |
| |
| <p class="pull-right"> |
| Template by <a href="https://bootstrapious.com/p/universal-business-e-commerce-template">Bootstrapious</a>. |
| |
| |
| Ported to Hugo by <a href="https://github.com/devcows/hugo-universal-theme">DevCows</a>. |
| </p> |
| </div> |
| </div> |
| </div> |
| |
| |
| |
| |
| |
| </div> |
| |
| |
| |
| <script src="//code.jquery.com/jquery-3.1.1.min.js" integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=" crossorigin="anonymous"></script> |
| <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> |
| |
| <script src="//cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script> |
| <script src="//cdnjs.cloudflare.com/ajax/libs/waypoints/4.0.1/jquery.waypoints.min.js"></script> |
| <script src="//cdnjs.cloudflare.com/ajax/libs/Counter-Up/1.0/jquery.counterup.min.js"></script> |
| <script src="//cdnjs.cloudflare.com/ajax/libs/jquery-parallax/1.1.3/jquery-parallax.js"></script> |
| |
| |
| <script src="/kuksa/js/front.js"></script> |
| |
| |
| <script src="/kuksa/js/owl.carousel.min.js"></script> |
| |
| |
| |
| </body> |
| </html> |